Algoritmen voor kunstmatige intelligentie (AI) die snakken naar hogere prestaties per watt, hebben de ontwikkeling van specifieke hardware-ontwerptechnieken gestimuleerd, waaronder in-memory computing, voor system-on-chip (SoC)-ontwerpen. In-memory computing wordt voornamelijk publiekelijk gezien bij start-ups van halfgeleiders die de industrie willen ontwrichten, maar veel marktleiders passen ook in-memory computing-technieken onder de motorkap toe.

Innovatieve ontwerpen die gebruikmaken van in-memory computing zijn bedoeld om het landschap van AI-SoC's te verstoren. Laten we eerst eens kijken naar de status-quo die startups die in-memory computing gebruiken, willen verstoren. AI-hardware heeft een enorme sprong voorwaarts gemaakt sinds 2015, toen bedrijven en VC's zwaar begonnen te investeren in nieuwe SoC's specifiek voor AI. De investeringen zijn de afgelopen 5 jaar alleen maar versneld, wat heeft geleid tot veel verbeteringen in het AI-hardwareontwerp voor marktleiders. Intel's x86-processors hebben nieuwe instructies en zelfs een aparte NPU-engine toegevoegd. Nvidia heeft specifieke Tensor Cores toegevoegd en GDDR verlaten om HBM-technologieën te implementeren om de geheugenbandbreedte te vergroten. Google heeft specifieke ASIC TPU's, of Tensor Processing Units, ontwikkeld voor AI-algoritmen (Afbeelding 1). Maar hoewel deze architecturen blijven verbeteren, zoeken investeerders naar startups om de volgende disruptie in AI-technologie te ontwikkelen.

Figuur 1: Intel, Nvidia en Google introduceren nieuwe hardware-architecturen om de prestaties per watt voor AI-toepassingen te verbeteren

Waarom zijn verstoringen voor AI Compute zo interessant?

De drie belangrijkste redenen voor zware investeringen in AI-hardware zijn: 1) de hoeveelheid gegenereerde gegevens groeit exponentieel en AI is de kritieke technologie om de complexiteit aan te pakken; 2) de kosten van het uitvoeren van AI-algoritmen in kracht en tijd zijn nog steeds te hoog met bestaande architecturen, met name aan de rand; 3) de parallellisatie van AI-computerengines bereikt de limieten voor de grootte, waardoor deze systemen worden geschaald naar meerdere chips, wat alleen praktisch is in cloud- of edge-cloud-datacenters. Samen zorgen deze nieuwe uitdagingen ervoor dat ontwerpers nieuwe, innovatieve hardware-architecturen verkennen. In-memory compute wordt beschouwd als een van de meest veelbelovende hardware-innovaties omdat het meerdere ordes van grootte in verbeteringen kan bieden.

Paden voor verstoring van AI-computing

Startups en toonaangevende leveranciers van halfgeleiders kijken naar mogelijke wegen voor AI-rekenversnelling.

  • Nieuwe typen AI-modellen: Er worden regelmatig nieuwe neurale netwerken geïntroduceerd. Het enorme onderzoeksteam van Google dat zich toelegt op het vrijgeven van modellen heeft bijvoorbeeld EfficientNet geproduceerd. Advanced Brain Research heeft de LMU uitgebracht en Lightelligence werkt samen met MIT om Efficient Unitary Neural Network (EUNN's) te runnen.
  • Geïntegreerde fotonica wordt door verschillende startups onderzocht als een andere methode voor verstoring.
  • Compressie, snoeienen andere technieken worden ontwikkeld om specifieke AI-functies in staat te stellen te werken op kleine, efficiënte processors, zoals een DesignWare® ARC® EM-processor IP die onder 100 MHz draait.
  • Compute-systemen schalen door het verpakken van meerdere matrijzen, meerdere platen of meerdere systemen is al in volle productie van de marktleiders. Deze oplossing wordt gebruikt om de meest complexe, kostbare uitdagingen met AI op te lossen.

Deze methoden om de prestaties te verbeteren worden allemaal nagestreefd of zijn al gerealiseerd. In-memory computing-ontwerpen kunnen voortbouwen op deze methoden om de efficiëntie te verhogen met meerdere verbeteringen naast de andere ontwikkelende technologieën.

Wat is In-Memory Computing?

In-memory computing is het ontwerp van geheugens naast of binnen de verwerkingselementen van hardware. In-memory computing maakt gebruik van registerbestanden, geheugens binnen processors, of zet arrays van SRAM's of nieuwe geheugentechnologieën om in registerbestanden of rekenengines zelf. Voor halfgeleiders zal de essentie van in-memory computing waarschijnlijk leiden tot aanzienlijke verbeteringen van de AI-kosten, waardoor de rekentijd en het stroomverbruik worden verminderd.

Software en hardware voor in-memory computing

In-memory computing omvat zowel hardware- als software-elementen, wat enige verwarring kan veroorzaken. Vanuit softwareperspectief verwijst in-memory computing naar verwerkingsanalyses in lokale opslag. Kortom, de software maakt optimaal gebruik van de geheugens die dichter bij de computer staan. “Herinneringen” is een beetje vaag vanuit hardwareperspectief en kan verwijzen naar DRAM's, SRAM's, NAND Flash en andere soorten geheugens binnen het lokale systeem in plaats van gegevens te sourcen via een netwerksoftware-infrastructuur. Het optimaliseren van software om te profiteren van meer gelokaliseerde geheugens biedt enorme kansen voor verbetering in de sector en teams van ingenieurs zullen zich op systeemniveau moeten blijven concentreren op deze innovaties. Voor hardware-optimalisaties biedt in-memory compute echter innovaties op bitniveau die het menselijk brein beter nabootsen, wat duizenden keren efficiënter is dan de hedendaagse compute.

In-Memory Compute, Near-Memory Compute en Analoge Compute

In-memory computing is niet zomaar een magische oplossing voor AI-algoritmen, het heeft verschillende implementaties en evolueert vanuit een opeenvolging van innovaties. De implementatie van registerbestanden en caches bestaat al tientallen jaren en near-memory computing is de natuurlijke vooruitgang van verbetering en heeft de afgelopen jaren implementaties gezien in nieuwe SoC's. AI-algoritmen vereisen miljoenen, zo niet miljarden coëfficiënten en multi-accumulates (MAC's). Om al deze MAC's efficiënt uit te voeren, worden nu aangepaste lokale SRAM's voor een reeks MAC's ontworpen in SoC's met als enig doel het uitvoeren van AI-modelberekening, d.w.z. matrix-/tensorberekening. Het integreren van speciale gespecialiseerde lokale SRAM's voor een reeks MAC's om AI-modelberekeningen uit te voeren, is het concept van near-memory compute. In near-memory computing worden lokale SRAM's geoptimaliseerd voor het opslaan van gewichten en activeringen die nodig zijn voor hun toegewezen MAC-eenheden.

De volgende natuurlijke stap om in-memory computing te ontwikkelen, is analoog computergebruik. Analoge computing maakt extra parallellisme mogelijk en bootst de efficiëntie van een menselijk brein beter na. Voor analoge systemen worden MAC's en geheugens geparalleliseerd, waardoor de systeemefficiëntie nog verder wordt verbeterd dan alleen bijna geheugencomputing. Traditionele SRAM's kunnen de basis vormen voor in-memory analoge computerimplementaties en Synopsys heeft voor dit doel maatwerk geleverd.

Geheugentechnologieën pakken in-memory compute-uitdagingen aan

Nieuwe geheugentechnologieën zoals MRAM, ReRAM en andere zijn veelbelovend omdat ze een hogere dichtheid en niet-vluchtigheid bieden in vergelijking met traditionele SRAM's. Verbeteringen ten opzichte van SRAM's kunnen het gebruik van de rekenkracht en het geheugen op de chip vergroten. Gebruik is een van de meest kritieke ontwerpuitdagingen voor AI SoC-ontwerpers (Figuur 2). SoC-ontwerpers hebben geheugensubsystemen nodig die speciaal zijn ontworpen voor AI-gegevensverplaatsing en -verwerking, ongeacht de gebruikte technologie.

Afbeelding 2: AI-SoC's hebben extreem intensieve berekeningen en gegevensbewegingen, wat de latentie kan beïnvloeden, gebied en prestaties

De belangrijkste uitdagingen voor AI SoC-ontwerp met geheugensystemen hebben betrekking op het aantal MAC's en coëfficiënten dat moet worden opgeslagen. Voor ResNet-50 zijn meer dan 23 miljoen gewichten nodig en dat komt overeen met 3,5 miljard MAC's en 105B geheugentoegangen. Niet alle worden tegelijkertijd uitgevoerd, dus de grootte van de grootste activering kan het kritieke knelpunt zijn voor de geheugensubsystemen. Regeltechnici weten dat efficiëntie wordt behaald door knelpunten te ontwerpen voor de duurste uitvoeringsfuncties. Ontwerpen moeten er dus voor zorgen dat hun in-memory compute-architecturen de grootste laag activeringscoëfficiënten effectief aankunnen.

Om aan deze vereisten te voldoen, zijn enorme hoeveelheden geheugen op de chip en intensieve berekening van de meerdere lagen nodig. Er worden unieke technieken voor geheugenontwerp ontwikkeld om latenties te verwijderen, de grootte van coëfficiënten te verwijderen en de hoeveelheid gegevens te verwijderen die over de SoC moet worden verplaatst.

DesignWare IP-oplossingen voor in-memory computing

Synopsys biedt klanten een breed scala aan IP-opties om in-memory computing te implementeren. Geoptimaliseerde geheugencompilers die specifiek zijn voor dichtheid of lekkage worden gebruikt om de lokale SRAM's te ontwikkelen voor implementaties in de buurt van geheugen, waarbij soms duizenden MAC's worden geïnstantieerd. MAC's kunnen gebruikmaken van een portfolio van primitieve wiskundige functies van Synopsys Foundation Core, waaronder flexibele functies zoals Dot Product, een algemene AI-functie.

Bovendien verbetert Synopsys DesignWare Multi-Port Memory IP, dat tot 8 inputs of 8 outputs mogelijk maakt, de parallelliteit binnen de computerarchitecturen. Geheugens met meerdere poorten komen veel vaker voor in ontwerpen sinds AI zo gangbaar is geworden.

Synopsys heeft een gepatenteerd circuit ontwikkeld dat innovaties demonstreert die in-memory computing ondersteunen. Een functie Word All Zero, weergegeven in figuur 3, zorgt er in wezen voor dat nullen niet worden verwerkt. Waarom nullen verplaatsen om te vermenigvuldigen? De Word All Zero-functie vermindert de benodigde rekenkracht aanzienlijk en kan het vermogen tot 60% verminderen voor gegevensverplaatsing binnen de chip.


Afbeelding 3: Naast de Word All Zero-functie biedt Synopsys DesignWare Embedded Memory IP meerdere functies om uitdagingen op het gebied van stroom, oppervlakte en latentie aan te pakken

Conclusie

Hoe snel in-memory computing in de industrie wordt toegepast, valt nog te bezien; de belofte van de technologie en conceptuele implementatie met nieuwe herinneringen, innovatieve circuits en creatieve ontwerpers zal echter zeker een opwindende technische prestatie zijn. De reis naar de oplossing is soms net zo interessant als het eindresultaat.

Voor meer informatie:

  • DesignWare IP voor AI SoC's
  • Video: AI SoC Chats: IP voor In-Memory/Near-Memory Compute
  • Witboek: Neuromorphic Computing stuwt het landschap van opkomende herinneringen voor kunstmatige intelligentie SoC's

Ron Lowman
Productmarketingmanager, Synopsys

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *