Viimeisen kahden vuoden aikana lähes kaikki tekoälystä käydyt keskustelut ovat keskittyneet laskentatehoon: riittämättömään grafiikkasuorittimeen, riittämättömään laskentakapasiteettiin ja alikokoisiin klusteriin.Tuntuu, että laskentatehon lisääminen ratkaisee kaikki ongelmat.
Mutta tässä mietinnössä korostetaan yhtä ratkaisevaa seikkaa kerta toisensa jälkeen: Se, mikä todella hidastaa tekoälyä, ei ole koskaan kyvyttömyys laskea, vaan kyvyttömyys siirtää tietoja tehokkaasti.
Yksi tilasto tekee ongelman selväksi: Datan lukeminen DRAM-muistista kuluttaa satoja kertoja enemmän energiaa kuin SRAM-muistista.Samaan aikaan suorituskyvyn ero prosessorien ja muistin välillä kasvaa lähes 50 % joka vuosi.
Suuri osa laskentatehosta, jota kiihkeästi rakennamme, odottaa vain dataa. Sillä hetkellä tajusin jotain hämmästyttävää: Olemme ehkä etsineet tekoälyn väärää pullonkaulaa koko ajan.
Jos ongelma ei ole itse laskenta, vaan laskennan ja muistin erottaminen, niin oikea vastaus ei välttämättä ole vahvemmat GPU:t. Se on antaa muisti itse osallistuu laskemiseen. Tämä on todellinen tarina, jonka tämä raportti pyrkii kertomaan.
Tekoälyn laskentatehon todellinen pullonkaula on siirtyminen laskennasta muistiin, ja ratkaisuna on siirtää laskenta muistiin.
Tekoälylaskenta on vahvasti riippuvainen massiivisista MAC-operaatioista (multiply-accumulate) ja vaatii erittäin paljon dataa. Klassisessa von Neumannin arkkitehtuurissa on kuitenkin kohtalokas puute:
Johtopäätös: AI ei epäonnistu laskemisessa – se ei pysty siirtämään tietoja edullisesti ja tarpeeksi nopeasti.
Tietojenkäsittelyn ja muistin erottaminen pakottaa jatkuvaan tiedonsiirtoon, mikä aiheuttaa kaksi kriittistä ongelmaa:
Juuri tätä mietinnössä kutsutaan von Neumann pullonkaula.
Selkeä alan trendi on nousemassa: Sirut kehittyvät kahdella tavalla:
Samaan aikaan on syntynyt vallankumouksellinen suunta: In-Memory Computing (IMC).
Sen ydinidea: Suorita loogisia operaatioita, aritmeettisia laskutoimituksia ja matriisin kertolaskuja (AI-ydin) suoraan muistissa.
Perusmuutos: Muisti = Tallennus → Muisti = Laske moottori
Raportissa hahmotellaan useita toteutusreittejä:
1. SRAM / eDRAM (perinteinen polku)
Compute-in-Cache, hermovälimuisti
Plussat: kypsä, nopea
Rajat: suuri alue, rajoitettu skaalautuvuus
2. Emerging Memory (päävirran suunta)
Sisältää:
MRAM, PCM, ReRAM, FeRAM
Yhteinen tavoite: muuttaa muistitaulukot matriisin moninkertais-akkumulointimoottoreiksi paikan päällä tapahtuvalla laskennalla ja analogisella laskennalla (esim. virran summaus vektorin kertolaskua varten).
Essence: memory array = AI-kiihdytin
Mutta todellisia haasteita on jäljellä: tarkkuus ja melu, laitevaihtelut, painon siirtyminen (etenkin ReRAM-muistissa) ja säilytysongelmat. Polku on elinkelpoinen, mutta tekniikan kannalta erittäin haastava.
Raportissa korostetaan, että pelkkä laitteisto ei riitä, vaan myös algoritmien on kehitettävä.
Keskeinen johtopäätös: Tekoälyn tehokkuuden optimointi edellyttää arkkitehtuurin, laitteiden ja algoritmien yhteistä suunnittelua.
Tekoälyn pullonkaula on siirtymässä "ei tarpeeksi laskentatehoa" "ei pysty siirtämään dataa tarpeeksi nopeasti". Vastaus seuraavan sukupolven siruihin ei ole vahvemmat GPU:t, vaan muisti, joka pystyy laskemaan itse.