Sztuczna inteligencja jest zwykle kojarzona z coraz wydajniejszymi procesorami, jednak procesor stanowi tylko część problemu związanego z wydajnością. Współczesne systemy AI nieustannie przesyłają ogromne ilości informacji pomiędzy pamięcią a jednostkami obliczeniowymi, a taki transfer wymaga czasu i energii jeszcze zanim zostaną wykonane właściwe obliczenia. Wraz ze wzrostem modeli, szczególnie dużych modeli językowych, znaczenie tego ruchu danych staje się coraz większe. In-Memory Computing, często skracane do IMC, podchodzi do tego problemu w inny sposób: zamiast wielokrotnie przesyłać dane z pamięci do oddzielnego procesora, wybrane obliczenia są wykonywane tam, gdzie dane są przechowywane. Badania opublikowane do 2026 roku pokazują, że koncepcja ta wychodzi poza niewielkie eksperymenty laboratoryjne i znajduje zastosowanie w bardziej kompletnych akceleratorach AI. Może poprawić szybkość inferencji i efektywność energetyczną w centrach danych, urządzeniach mobilnych, sprzęcie przemysłowym i innych systemach, choć ograniczenia związane z precyzją, produkcją, oprogramowaniem i skalowaniem oznaczają, że tradycyjne CPU i GPU nie znikną w najbliższym czasie.
Większość tradycyjnych komputerów oddziela pamięć od jednostek wykonujących obliczenia. Informacje są przechowywane w pamięci, następnie przesyłane do CPU, GPU lub innego akceleratora, gdy trzeba wykonać obliczenie, a otrzymany wynik może później ponownie trafić do pamięci. Taki układ sprawdzał się bardzo dobrze przez dziesięciolecia, ponieważ procesory stawały się coraz szybsze, a systemy pamięci również były stopniowo udoskonalane. Problem polega na tym, że przesyłanie informacji w obrębie układu scalonego lub pomiędzy oddzielnymi komponentami zużywa energię. Wymaga również czasu. Procesor może teoretycznie wykonywać ogromną liczbę obliczeń na sekundę, lecz nie wykorzysta tej możliwości efektywnie, jeśli regularnie musi czekać na dane potrzebne do następnej operacji.
AI sprawia, że ta słabość staje się szczególnie widoczna, ponieważ sieci neuronowe wielokrotnie wykonują obliczenia z wykorzystaniem dużych zbiorów wartości liczbowych nazywanych wagami. Model może wielokrotnie odczytywać te same wagi podczas przetwarzania obrazów, mowy lub tekstu. Duże modele językowe dodatkowo zwiększają obciążenie, ponieważ mogą zawierać miliardy parametrów i podczas inferencji wymagają znacznej pojemności oraz przepustowości pamięci. IBM Research szczególnie wyraźnie opisał ten problem w badaniu z 2026 roku dotyczącym analogowych obliczeń w pamięci dla inferencji modeli językowych: w przypadku współczesnych LLM pojemność pamięci i przesyłanie danych mogą stanowić poważniejsze ograniczenia niż sama dostępność mocy obliczeniowej. Samo stosowanie szybszych procesorów nie rozwiązuje więc każdego problemu z wydajnością.
Koszt energetyczny jest równie istotny jak szybkość. Każdy pojedynczy transfer może wymagać niewielkiej ilości energii, lecz akceleratory AI wykonują ogromną liczbę takich operacji. W skali centrum danych całkowite zużycie energii elektrycznej wpływa na koszty eksploatacji, wymagania dotyczące chłodzenia oraz ilość sprzętu obliczeniowego, którą można zainstalować przy określonym limicie mocy. W urządzeniach zasilanych z baterii ten sam problem przybiera inną formę: niepotrzebne przesyłanie danych może skracać czas pracy i powodować dodatkowe nagrzewanie. Ograniczenie ruchu danych jest więc korzystne nawet wtedy, gdy sam procesor jest już energooszczędny. Właśnie ten problem ma rozwiązywać In-Memory Computing.
In-Memory Computing zmienia tradycyjną drogę danych. Zamiast odczytywać każdą przechowywaną wartość, wysyłać ją do oddzielnego procesora, a następnie przekazywać wynik w inne miejsce, macierz pamięci może bezpośrednio uczestniczyć w wybranych obliczeniach. Rozwiązanie to jest szczególnie przydatne w przypadku operacji macierzowych i wektorowych, które bardzo często pojawiają się w zadaniach wykonywanych przez sieci neuronowe. W uproszczeniu można powiedzieć, że tradycyjny sprzęt regularnie wyjmuje liczby z pamięci, aby przeprowadzić na nich obliczenia, natomiast system IMC może wykorzystać fizyczne rozmieszczenie zapisanych wartości do wykonania części obliczeń w tym samym miejscu. Krótsza droga danych oznacza mniej transferów, mniejsze opóźnienia i potencjalnie niższe zużycie energii podczas wykonywania zadań AI.
Nie istnieje jeden uniwersalny rodzaj sprzętu In-Memory Computing. Niektóre konstrukcje wykorzystują dobrze znaną statyczną pamięć o dostępie swobodnym, czyli SRAM, i wykonują cyfrowe obliczenia w pobliżu jej komórek lub bezpośrednio w nich. Inne rozwiązania opierają się na pamięciach nieulotnych, takich jak pamięć ze zmianą fazy, rezystancyjna pamięć RAM, pamięć flash czy magnetyczna pamięć RAM. Konstrukcje analogowe mogą przedstawiać wartości za pomocą właściwości fizycznych, na przykład przewodnictwa elektrycznego, dzięki czemu wiele operacji mnożenia i dodawania może być wykonywanych równolegle. Rozwiązania cyfrowe zwykle rezygnują z części potencjalnych korzyści energetycznych w zamian za bardziej przewidywalne zachowanie numeryczne. Badacze łączą również różne typy pamięci, aby poszczególne części zadania AI mogły korzystać z rozwiązania najlepiej dopasowanego do ich charakteru.
To rozróżnienie jest istotne, ponieważ IMC nie należy rozumieć jako kompletnego komputera wykonanego z pamięci. Tylko niektóre operacje przynoszą wyraźne korzyści po przeniesieniu ich do pamięci. Inne zadania nadal wymagają tradycyjnej logiki cyfrowej, między innymi sterowania, przygotowania danych, funkcji aktywacji, komunikacji oraz operacji wymagających większej precyzji numerycznej. Skuteczne konstrukcje łączą więc obliczenia wykonywane w pamięci ze standardowymi układami przetwarzającymi. Celem praktycznym nie jest wyeliminowanie procesorów, lecz ograniczenie kosztownych transferów pomiędzy procesorem a pamięcią w przypadku operacji, które można wydajniej wykonywać bezpośrednio przy przechowywanych danych.
Inferencja AI jest jednym z najbardziej obiecujących zastosowań In-Memory Computing, ponieważ wytrenowany model wielokrotnie wykorzystuje zapisane wagi do przetwarzania nowych danych wejściowych. Jeśli wagi mogą pozostać wewnątrz macierzy pamięci, która jednocześnie wykonuje niezbędne operacje mnożenia i sumowania, system nie musi za każdym razem ponownie pobierać tych samych informacji. Może to zmniejszyć opóźnienia i umożliwić równoległe wykonywanie wielu operacji. Potencjalne korzyści są szczególnie duże wtedy, gdy wydajność zadania AI jest ograniczona przepustowością pamięci, a nie możliwościami matematycznymi procesora. Rozpoznawanie obrazów, przetwarzanie mowy, analiza danych z czujników oraz niektóre etapy inferencji modeli językowych zawierają operacje dobrze odpowiadające temu schematowi.
Istniejący sprzęt pokazuje, że nie jest to jedynie teoretyczna metoda oszczędzania energii. Eksperymentalny układ IBM opisany w czasopiśmie Nature wykorzystywał 35 milionów urządzeń pamięci ze zmianą fazy rozmieszczonych w 34 analogowych blokach obliczeniowych i osiągał do 12,4 biliona operacji na sekundę na wat w testowanej konfiguracji. Badacze zaprezentowali zadania związane z rozpoznawaniem i transkrypcją mowy, wykorzystując między innymi sieć zawierającą dziesiątki milionów wag rozmieszczonych w kilku układach. Późniejsze prace IBM były kontynuowane w kierunku konstrukcji 64-rdzeniowych oraz architektur przeznaczonych do obsługi większych sieci neuronowych. Eksperymenty te nie oznaczają, że analogowy układ pamięci może po prostu zastąpić współczesne GPU, ale pokazują, że za pomocą tej metody można wykonywać znaczące zadania sieci neuronowych.
Badania prowadzone w 2026 roku rozszerzyły również zakres wykorzystywanych technologii pamięci. Jeden z opublikowanych systemów SoC wykonanych w technologii 55 nanometrów wykorzystywał osiem megabitów wbudowanej pamięci NOR flash do operacji compute-in-memory przeznaczonych dla urządzeń edge AI. Układ osiągał 0,16 TOPS przy poborze mocy wynoszącym 21,4 miliwata, co odpowiadało 7,48 TOPS na wat, a badacze odnotowali co najmniej czterokrotne skrócenie całkowitego czasu inferencji w porównaniu z używanymi przez nich rozwiązaniami opartymi na CPU. Podczas ISSCC 2026 zaprezentowano także cyfrowy akcelerator compute-in-memory wyprodukowany w technologii Intel 18A, który w określonych warunkach testowych przy niskim napięciu i 25-procentowej aktywności wejściowej osiągnął szczytową zmierzoną efektywność 147 TOPS na wat. Takie wyniki pokazują szybkie tempo rozwoju, jednak nie powinny być traktowane jako bezpośrednie porównanie niezależnych od siebie układów.
Jednym z głównych powodów, dla których IMC dobrze współpracuje z AI, jest powtarzalna struktura matematyczna sieci neuronowych. Znaczna część przetwarzania polega na mnożeniu wielu wartości wejściowych przez zapisane wagi, a następnie sumowaniu otrzymanych wyników. Tradycyjne akceleratory również wykonują te operacje równolegle, ale nadal wymagają stałego dostarczania wag i aktywacji z pamięci. Macierz compute-in-memory może utrzymywać duże grupy wag fizycznie blisko miejsca wykonywania obliczeń. Dzięki temu setki lub tysiące operacji mogą rozpoczynać się jednocześnie, zamiast traktować każde mnożenie jako osobny transfer pomiędzy pamięcią i jednostką obliczeniową.
Duże modele językowe sprawiają, że ta zaleta staje się szczególnie interesująca, lecz jednocześnie pokazują, dlaczego technologia nie stanowi prostego rozwiązania wszystkich ograniczeń AI. Podczas generowania treści wagi modelu muszą być wielokrotnie odczytywane przy tworzeniu każdego kolejnego tokenu. Z tego powodu niektóre etapy inferencji LLM są silnie uzależnione od przepustowości pamięci, więc zapisanie wag bezpośrednio w pamięci obliczeniowej może znacząco ograniczyć ruch danych. Transformatory korzystają jednak również z mechanizmów attention, pośrednich aktywacji oraz pamięci podręcznej klucz-wartość, której rozmiar może zwiększać się wraz z długością rozmowy lub dokumentu. Dane te są znacznie bardziej dynamiczne niż stałe wagi modelu. Praktyczny akcelerator LLM nadal potrzebuje więc tradycyjnej pamięci o dużej szybkości oraz cyfrowych jednostek obliczeniowych współpracujących z elementami compute-in-memory.
Najbardziej widoczne pierwsze korzyści mogą pojawić się w urządzeniach edge AI, gdzie dostępna moc i możliwości chłodzenia są znacznie bardziej ograniczone niż w centrum danych. Kamera bezpieczeństwa wykonująca lokalne rozpoznawanie obiektów, przemysłowy czujnik wykrywający nieprawidłową pracę maszyn czy urządzenie ubieralne analizujące sygnały nie zawsze potrzebują elastyczności dużego GPU. Ważniejsze jest szybkie wykonywanie określonego zestawu operacji AI przy możliwie niskim zużyciu energii. Pamięć nieulotna może zapewnić dodatkową korzyść, ponieważ wagi modelu pozostają zapisane również po odłączeniu zasilania. Urządzenie może więc się uruchomić, przetworzyć informacje i ponownie przejść w tryb niskiego poboru energii bez konieczności każdorazowego ładowania całego modelu z zewnętrznej pamięci.

Największym wyzwaniem technicznym dla analogowego In-Memory Computing jest fakt, że rzeczywiste urządzenia pamięci nie są matematycznie idealne. Szum elektryczny, różnice produkcyjne pomiędzy komórkami, zmiany zachodzące z czasem oraz wpływ temperatury mogą powodować niewielkie odchylenia fizycznej wartości zapisanej w urządzeniu od wartości oczekiwanej. Na przykład pamięć ze zmianą fazy może doświadczać dryfu rezystancji, natomiast inne rodzaje pamięci rezystancyjnej mają własne źródła zmienności. Sieci neuronowe są w stanie tolerować pewien poziom przybliżeń, jednak błędy nadal muszą pozostawać w akceptowalnych granicach. Przegląd opublikowany w 2026 roku w npj Unconventional Computing wskazywał między innymi na przetwarzanie o mieszanej precyzji i metody korekcji błędów jako sposoby poprawy dokładności, lecz rozwiązania te wymagają dodatkowych układów lub kolejnych obliczeń.
Zużycie energii występuje również poza samą macierzą pamięci. Analogowy wynik obliczenia jest przydatny dla zwykłego oprogramowania dopiero wtedy, gdy dane wejściowe i wyjściowe zostaną przedstawione w formie zrozumiałej dla pozostałych części układu. Przetworniki cyfrowo-analogowe i analogowo-cyfrowe mogą zużywać zauważalną ilość energii oraz zajmować cenną powierzchnię układu scalonego. Komunikacja pomiędzy kilkoma macierzami pamięci również może ograniczać korzyści uzyskane wewnątrz pojedynczej macierzy. Z tego powodu imponujących wyników laboratoryjnych niewielkiego bloku compute-in-memory nie można automatycznie porównywać z efektywnością kompletnego GPU lub akceleratora AI. Na wartości TOPS na wat wpływają między innymi precyzja, rodzaj zadania, pojemność pamięci, aktywność wejściowa, powierzchnia układu oraz zakres komponentów uwzględnionych w pomiarze.
Cyfrowe konstrukcje compute-in-memory eliminują część problemów z dokładnością charakterystycznych dla układów analogowych, ponieważ zachowują obliczenia w tradycyjnej postaci binarnej. Badanie opublikowane w Nature Electronics w 2025 roku zaprezentowało spintroniczny, cyfrowy blok compute-in-memory oparty na pamięci magnetycznej, który obsługiwał kilka poziomów precyzji numerycznej i osiągnął w testowanych zadaniach dokładność inferencji odpowiadającą wynikom oprogramowania. W zależności od precyzji i warunków pracy raportowana efektywność wynosiła od 7,02 do 112,3 TOPS na wat. Już sama tak duża rozpiętość pokazuje istotną kwestię: efektywność energetyczna nie jest stałą właściwością danej architektury. Zwiększenie precyzji, obsługa innego rodzaju zadania lub przejście od niewielkiego bloku pamięci do kompletnego systemu może znacząco zmienić uzyskiwany rezultat.
Najbardziej realistycznym kierunkiem rozwoju jest zatem heterogeniczne przetwarzanie, w którym kilka rodzajów sprzętu współpracuje ze sobą, zamiast próbować zastąpić wszystkie rozwiązania jednym typem architektury. CPU dobrze radzą sobie z ogólnymi zadaniami sterującymi i nieregularnymi operacjami. GPU oraz dedykowane akceleratory cyfrowe zapewniają elastyczność programowania, rozwinięte zaplecze programistyczne i wysoką wydajność w wielu różnych zadaniach AI. Bloki compute-in-memory mogą zostać dodane do wykonywania operacji, w których wielokrotne przesyłanie wag pomiędzy pamięcią a procesorem jest szczególnie nieefektywne. Eksperymentalne procesory już wykorzystują takie podejście, łącząc analogowe lub cyfrowe macierze pamięci z tradycyjną logiką. System może dzięki temu kierować poszczególne części sieci neuronowej do sprzętu, który wykonuje je najefektywniej.
Urządzenia edge mogą wykorzystywać te rozwiązania inaczej niż duże centra danych. W niewielkim urządzeniu priorytetem może być pobór energii liczony w miliwatach, natychmiastowa reakcja oraz możliwość lokalnego przechowywania kompaktowego modelu. Demonstracja wykorzystująca pamięć NOR flash z 2026 roku pokazuje, w jaki sposób compute-in-memory może być integrowane z dodatkowymi układami i oprogramowaniem przeznaczonymi do tego rodzaju zadań. Centra danych mierzą się z trudniejszym problemem, ponieważ największe modele wymagają ogromnej pojemności pamięci, zaawansowanych połączeń sieciowych i częstych zmian oprogramowania. W takim środowisku IMC prawdopodobnie będzie początkowo wykorzystywane jako wyspecjalizowany akcelerator lub element skoncentrowany na pamięci, współpracujący z istniejącymi procesorami AI, a nie jako samodzielny zamiennik obecnego sprzętu serwerowego.
Do 2026 roku In-Memory Computing rozwinęło się na tyle, aby stanowić wiarygodną odpowiedź na jedną z podstawowych nieefektywności sprzętu AI: przesyłanie ogromnych ilości danych tylko po to, aby obliczenia mogły zostać wykonane w innym miejscu. Eksperymentalne układy wykorzystujące pamięć ze zmianą fazy, SRAM, pamięć magnetyczną, memrystory oraz pamięć flash pokazały, że przy odpowiednich warunkach użyteczne operacje sieci neuronowych mogą być wykonywane bliżej przechowywanych danych, zapewniając znaczące korzyści w zakresie efektywności energetycznej. Jednocześnie nadal istotne pozostają problemy związane z dokładnością, przetwornikami, pojemnością pamięci, zgodnością oprogramowania, powtarzalnością produkcji oraz komunikacją na poziomie całego systemu. Najważniejszą zaletą IMC nie jest więc możliwość zastąpienia procesora pamięcią, lecz szansa na stworzenie przyszłego sprzętu AI, który będzie zużywał znacznie mniej energii dzięki bardziej świadomemu wyborowi miejsca wykonywania poszczególnych obliczeń.