AI pagreitintuvai ir atmintis: compute‑in‑memory proveržis
Dirbtinio intelekto modeliai 2024–2025 m. auga greičiau nei bet kada anksčiau: šimtai milijardų parametrų, milžiniški duomenų rinkiniai ir nuolat didėjantys skaičiavimo poreikiai. Tačiau vis dažniau aiškėja, kad pagrindinis stabdis nebėra tik procesoriaus ar GPU galia. Pagrindinis ribotuvas – atmintis ir duomenų judėjimas tarp jos ir skaičiavimo blokų.
Būtent čia į sceną žengia compute‑in‑memory (CIM) – skaičiavimas pačioje atmintyje. Šis požiūris artina AI pagreitintuvus prie kompiuterio atminties ir žada iš esmės pakeisti, kaip projektuojame lustus, serverius ir net duomenų centrus.
Kas yra compute‑in‑memory ir kodėl tai svarbu?
Tradicinėje kompiuterinėje architektūroje procesorius (CPU, GPU ar specialus AI pagreitintuvas) ir atmintis yra atskiri komponentai. Duomenys nuolat keliauja pirmyn ir atgal per magistrales ir talpyklas. Ši architektūra, dažnai vadinama von Neumanno modeliu, tampa siauruoju butelio kakliuku, kai kalbame apie didelius AI modelius.
Compute‑in‑memory keičia paradigmą: dalis skaičiavimų atliekama tiesiog atminties luste, praktiškai neperkeliant duomenų. Taip sumažinamas:
- duomenų judėjimo kiekis;
- energijos sąnaudos;
- vėlinimas (latency);
- reikalinga atminties pralaidumo sparta.
AI užduotims, kuriose dominuoja matricos daugyba ir vektorinės operacijos, tai ypač aktualu. Dauguma tokių skaičiavimų yra pasikartojantys ir struktūriškai paprasti, todėl juos galima efektyviai realizuoti tiesiog atminties masyvuose.
Kaip veikia compute‑in‑memory AI pagreitintuvai?
Compute‑in‑memory realizavimas gali būti kelių tipų, tačiau bendra idėja ta pati: atminties ląstelės tampa ir duomenų saugykla, ir skaičiavimo elementu.
Analoginis vs skaitmeninis compute‑in‑memory
Pramonėje formuojasi dvi pagrindinės kryptys:
- Analoginis CIM – skaičiavimai vyksta analoginiu pavidalu, naudojant sroves ir įtampas (dažnai remiantis rezistorių masyvais, pvz., RRAM, ReRAM). Tai leidžia atlikti daugybę operacijų lygiagrečiai, ypač naudingų neuroninių tinklų svorių daugybai.
- Skaitmeninis CIM – skaičiavimai vis dar atliekami skaitmeniniu pavidalu, bet logika integruota labai arti atminties blokų (SRAM, DRAM ar naujų tipų atminties). Tai lengviau suderinti su esamais skaitmeniniais įrankiais ir geriau kontroliuoti tikslumą.
Analoginis požiūris dažnai pasižymi didesniu energijos efektyvumu ir tankiu, tačiau reikalauja sudėtingesnės kalibracijos ir klaidų korekcijos. Skaitmeninis – konservatyvesnis, bet lengviau integruojamas į dabartines gamybos linijas.
Atminties tipai: nuo SRAM iki naujų neflyšių technologijų
Compute‑in‑memory vystymasis remiasi ir pažangiomis atminties technologijomis:
- SRAM‑CIM – labai greita ir tiksli, tinkama mažesniems, aukšto našumo branduoliams (pvz., inferencijos akseleratoriams krašte – edge AI).
- DRAM‑CIM – potencialiai didesnės talpos, pritaikoma serveriams ir duomenų centrams, kur svarbi atminties masė.
- Ne-flyšas (RRAM, MRAM ir kt.) – gali derinti nevolatilią atmintį su skaičiavimu, suteikdama ilgalaikį svorių saugojimą be nuolatinio atnaujinimo.
Dauguma naujų AI pagreitintuvų prototipų derina kelis šiuos metodus, kad pasiektų geriausią energijos, našumo ir patikimumo balansą.
Kodėl AI pagreitintuvai artėja prie atminties?
AI modelių skaičiavimuose didžioji laiko ir energijos dalis sunaudojama ne pačiam skaičiavimui, o duomenų perkėlimui. Kuo didesnis modelis, tuo daugiau svorių ir tarpinių rezultatų reikia skaityti ir rašyti.
Ši problema vadinama von Neumanno butelio kakliuku. Compute‑in‑memory bando jį apeiti:
- sumažindamas atstumą tarp duomenų ir skaičiavimo blokų;
- leidžiant atlikti masiškai lygiagrečius veiksmus atminties masyvuose;
- optimizuodamas dažniausiai pasikartojančias AI operacijas (matricų ir vektorių daugybą).
Dėl to AI pagreitintuvai vis dažniau projektuojami kaip heterogeninės sistemos, kuriose:
- GPU ar specialūs AI branduoliai atlieka sudėtingesnius skaičiavimus;
- CIM blokai arti atminties perima masines, pakartotines operacijas;
- aukšto pralaidumo atmintis (HBM, GDDR) glaudžiai integruojama tame pačiame pakete.
Šiuolaikinės tendencijos: nuo laboratorijos iki rinkos
Per pastaruosius kelerius metus compute‑in‑memory iš akademinių publikacijų vis sparčiau juda į komercinius produktus. Nors daugelis sprendimų dar ankstyvoje stadijoje, 2024–2025 m. matome vis daugiau:
- prototipinių AI lustų, kurie demonstruoja kelis kartus geresnį energijos efektyvumą lyginant su tradiciniais dizainais;
- startuolių, kuriančių specializuotus CIM akseleratorius vaizdo atpažinimui, balso apdorojimui ir įterptinėms sistemoms;
- didžiųjų gamintojų (GPU ir atminties rinkos lyderių) investicijų į hibridines atminties ir skaičiavimo architektūras.
Be to, plečiasi 3D pakavimas ir chiplet architektūros: keli lustai (compute, atmintis, IO) integruojami viename pakete, o compute‑in‑memory blokai tampa natūralia šios mozaikos dalimi.
Privalumai: kur laimi compute‑in‑memory?
Compute‑in‑memory nėra sidabrinė kulka visoms užduotims, tačiau AI srityje ji turi aiškius pranašumus.
Energijos efektyvumas ir kaštai
Dideli AI modeliai reikalauja milžiniškų energijos resursų – tai jaučiasi ir debesijos sąskaitose, ir duomenų centrų aušinimo sistemose. CIM leidžia:
- sumažinti energijos sąnaudas vienai operacijai (pavyzdžiui, MAC – multiply‑accumulate);
- mažinti šilumos išsklaidymą, o tai leidžia tankiau išdėstyti skaičiavimo blokus;
- ilginti baterijos veikimo laiką krašto įrenginiuose (telefonuose, IoT, pramoniniuose sensoriuose).
Našumas ir vėlinimas
Atlikdami skaičiavimus pačioje atmintyje, išvengiame daugybės skaitymo/rašymo ciklų ir magistralės apribojimų. Tai:
- mažina vėlinimą realaus laiko užduotyse (pvz., autonominis vairavimas, robotika);
- leidžia vienu metu apdoroti daugiau duomenų srautų;
- pagerina inferencijos greitį be drastiškai didesnės aparatinės įrangos.
Mastelio didinimas dideliems modeliams
Kai modelių dydžiai artėja prie trilijono parametrų ribos, tradicinis požiūris – tiesiog pridėti daugiau GPU – tampa vis brangesnis ir neefektyvus. Compute‑in‑memory suteikia naują mastelio didinimo kelią:
- modelio svoriai gali būti išdėstyti dideliuose atminties masyvuose su integruotu skaičiavimu;
- atsiranda galimybė efektyviau išnaudoti modelio skaidymą tarp mazgų;
- mažėja poreikis ekstremaliai aukštam atminties pralaidumui tarp lustų.
Iššūkiai ir ribojimai
Nors compute‑in‑memory skamba patraukliai, praktikoje tenka spręsti nemažai problemų.
Tikslumas ir triukšmas
Ypač analoginiuose CIM sprendimuose kyla:
- triukšmo ir variacijų tarp ląstelių problema;
- temperatūros įtakos skaičiavimams klausimai;
- ribotas tikslumas (dažnai 4–8 bitai), kuris ne visada tinka didelio jautrumo užduotims.
Šias problemas bandoma spręsti:
- naudojant klaidų korekcijos algoritmus;
- mokymo metu pritaikant modelius žemam tikslumui (quantization‑aware training);
- derinant CIM su tradiciniais skaičiavimo blokais, kur reikia didesnio tikslumo.
Programavimo modelis ir ekosistema
Norint, kad compute‑in‑memory išplistų plačiai, reikia patogios programavimo aplinkos:
- kompiliatorių, kurie automatiškai išskaidytų modelio dalis tarp CIM ir GPU/CPU;
- bibliotekų, suderinamų su populiariais karkasais (PyTorch, TensorFlow ir kt.);
- standartizuotų API, kad kūrėjams nereikėtų žinoti žemo lygio architektūros detalių.
Šiandien tai dar vystymosi stadijoje, tačiau matyti aiški kryptis: dauguma sprendimų siekia integruotis į esamą AI įrankių pasaulį, o ne jį keisti iš pagrindų.
Gamybos sudėtingumas ir kaina
Compute‑in‑memory reikalauja naujų atminties struktūrų, papildomos logikos ir dažnai naujų medžiagų. Tai:
- didina projektavimo ir verifikavimo sudėtingumą;
- gali sumažinti derlių (yield) ankstyvosiose gamybos stadijose;
- reikalauja glaudaus bendradarbiavimo tarp atminties ir logikos projektavimo komandų.
Vis dėlto, didėjant AI rinkai ir energijos kainoms, šios investicijos vis labiau atsiperka.
Kur compute‑in‑memory bus naudingiausia?
Nors CIM gali būti pritaikomas įvairiose srityse, yra kelios nišos, kuriose jo privalumai ypač ryškūs.
Krašto (edge) ir mobili AI
Telefonai, išmanieji jutikliai, automobilių valdymo blokai ir pramoniniai įrenginiai turi ribotus energijos ir aušinimo resursus. Compute‑in‑memory suteikia galimybę:
- vykdyti sudėtingesnius modelius tiesiog įrenginyje, be nuolatinio ryšio su debesija;
- sumažinti duomenų siuntimo į serverius poreikį, pagerinti privatumą;
- užtikrinti mažą vėlinimą realaus laiko sprendimams.
Duomenų centrai ir dideli kalbiniai modeliai
Dideli kalbiniai modeliai (LLM) ir generatyvinis AI kelia milžiniškus reikalavimus duomenų centrų infrastruktūrai. Compute‑in‑memory gali:
- sumažinti vienos užklausos energijos kainą;
- leisti talpinti daugiau modelių tame pačiame fiziniame plote;
- pagerinti bendrą serverių tankį ir efektyvumą.
Specializuoti akseleratoriai nišinėms užduotims
Vaizdo stebėjimo, medicininės diagnostikos, pramoninės kontrolės ir kitos nišinės sritys dažnai naudoja vieno tipo neuroninius tinklus. Joms galima sukurti specializuotus CIM akseleratorius, optimizuotus konkrečiai architektūrai, pasiekiant maksimalų efektyvumą.
Kaip compute‑in‑memory pakeis AI ateitį?
Per artimiausius kelerius metus compute‑in‑memory greičiausiai taps ne atskira nišine technologija, o vienu iš standartinių AI pagreitintuvų sluoksnių. Galime tikėtis:
- hibridinių GPU ir CIM sistemų, kuriose dalis branduolių integruota pačioje atmintyje;
- naujų programavimo abstrakcijų, leidžiančių AI inžinieriams nurodyti, kurios modelio dalys turi būti vykdomos arti atminties;
- standartų, apibrėžiančių, kaip CIM moduliai integruojami į serverių ir krašto įrenginių ekosistemas.
Ilgesniu laikotarpiu compute‑in‑memory gali prisidėti prie visiškai naujų architektūrų atsiradimo, kuriose riba tarp „atminties“ ir „procesoriaus“ iš esmės išnyks. Tai ypač aktualu neuromorfiniams skaičiavimams ir biologiniais smegenų principais įkvėptoms sistemoms.
Ką tai reiškia verslui ir kūrėjams šiandien?
Nors dauguma įmonių dar nenaudoja compute‑in‑memory tiesiogiai, verta ruoštis pokyčiams jau dabar:
- AI architektams – planuoti modelių struktūras taip, kad jos būtų draugiškos mažo tikslumo ir masiškai lygiagrečiams skaičiavimams;
- infrastruktūros vadovams – sekti naujus akseleratorių tipus ir jų integracijos galimybes su esamais GPU klasteriais;
- produktų kūrėjams – galvoti, kokias funkcijas būtų galima perkelti iš debesijos į krašto įrenginius, atsiradus efektyvesniems CIM sprendimams.
Compute‑in‑memory yra vienas iš tų technologinių proveržių, kurie keičia ne tik lustų dizainą, bet ir visą AI ekosistemos ekonominę logiką – nuo energijos sąnaudų iki paslaugų kainodaros.
Išvados
AI pagreitintuvai artėja prie kompiuterio atminties ne atsitiktinai. Duomenų judėjimas tapo pagrindiniu ribojančiu veiksniu, o compute‑in‑memory siūlo tiesioginį būdą šį ribotuvą apeiti. Integruodami skaičiavimą į atmintį, galime pasiekti:
- mažesnes energijos sąnaudas;
- didesnį našumą ir mažesnį vėlinimą;
- geresnį didelių modelių mastelio didinimą.
Nors technologija dar bręsta ir susiduria su tikslumo, gamybos bei programavimo iššūkiais, kryptis aiški: ateities AI infrastruktūra bus vis glaudžiau susieta su atmintimi. Compute‑in‑memory – vienas iš kertinių žingsnių šioje kelionėje.
DUK: Kas yra compute‑in‑memory?
Klausimas: Kas tiksliai yra compute‑in‑memory technologija?
Atsakymas: Compute‑in‑memory (CIM) – tai požiūris, kai dalis skaičiavimų atliekama tiesiog atminties luste, o ne atskirame procesoriuje. Atminties ląstelės tuo pačiu metu saugo duomenis ir vykdo paprastas operacijas, pavyzdžiui, sumavimą ar daugybą, taip sumažinant duomenų judėjimą ir energijos sąnaudas.
DUK: Ar compute‑in‑memory pakeis GPU?
Klausimas: Ar compute‑in‑memory visiškai pakeis GPU ir kitus AI pagreitintuvus?
Atsakymas: Artimiausiu metu – ne. Compute‑in‑memory greičiausiai taps GPU ir kitų AI pagreitintuvų papildymu, perimdama dalį masiškai lygiagrečių operacijų arti atminties. Sudėtingesni skaičiavimai ir toliau bus atliekami tradiciniuose branduoliuose, todėl dominuos hibridinės architektūros.
DUK: Kada compute‑in‑memory taps plačiai prieinama?
Klausimas: Kada galime tikėtis plačiai prieinamų compute‑in‑memory sprendimų?
Atsakymas: Pirmosios nišinės CIM mikroschemos krašto įrenginiams jau pasirodo rinkoje, o per artimiausius 3–5 metus tikėtinas spartesnis jų diegimas duomenų centruose. Plačiai paplitę, standartizuoti sprendimai priklausys nuo to, kaip greitai subręs gamybos technologijos ir programinės įrangos ekosistema.
