Zephyrnet-logo

Het processorontwerp op zijn kop zetten

Datum:

AI verandert het processorontwerp op fundamentele manieren, waarbij aangepaste verwerkingselementen voor specifieke AI-workloads worden gecombineerd met meer traditionele processors voor andere taken.

Maar de afwegingen worden steeds verwarrender, complexer en uitdagender om te beheren. De werklast kan bijvoorbeeld sneller veranderen dan de tijd die nodig is om aangepaste ontwerpen te maken. tevens de AI-specifieke processen kunnen de energie- en thermische budgetten overschrijden, wat aanpassingen in de werklast kan vereisen. En het integreren van al deze onderdelen kan problemen veroorzaken die op systeemniveau moeten worden opgelost, en niet alleen op de chip.

“AI-workloads hebben de processorarchitectuur op zijn kop gezet”, zegt Steven Woo, collega en vooraanstaande uitvinder bij Rambus. “Het was duidelijk dat de bestaande architecturen niet echt goed werkten. Toen mensen zich in het tijdsbestek van 2014 begonnen te realiseren dat je GPU's kon gebruiken en enorme winsten in de handelsprestaties kon behalen, gaf dit AI een enorme boost. Toen begonnen mensen te zeggen: 'Een GPU is een soort gespecialiseerde architectuur. Kunnen we meer doen?' Het was toen duidelijk dat de opeenhoping van vermenigvuldigingen, die heel gebruikelijk is bij AI, het knelpunt vormde. Nu heb je al deze geweldige hardware. We hebben het vermenigvuldigen van dingen op orde. Dus wat moeten we nog meer in de hardware stoppen? Dat is eigenlijk waar het bij architectuur om draait. Het gaat erom de hoge pin of de lange tentstok in de tent te vinden en deze omver te werpen.”

Anderen zijn het daarmee eens. “AI leent zich gewoon voor GPU-architectuur, en daarom heeft NVIDIA een marktkapitalisatie van biljoenen dollars”, aldus Ansys regisseur Rich Goldman. “Interessant is dat Intel al heel lang GPU’s maakt, maar dan in hun CPU’s om de videoprocessors aan te sturen. Nu maken ze standalone GPU's. Bovendien heeft AMD een zeer interessante architectuur, waarbij de GPU en CPU geheugen delen. De CPU is echter nog steeds belangrijk. NVIDIA's Grace Hopper is de CPU-GPU-combinatie, omdat niet alles zich leent voor een GPU-architectuur. Zelfs in toepassingen die dat wel doen, zijn er onderdelen die slechts kleine CPU's gebruiken. Decennia lang hebben we alles op een CPU x86-architectuur uitgevoerd, misschien RISC-architectuur, maar het is een CPU. Verschillende applicaties werken beter op verschillende architecturen, en het gebeurde toevallig dat NVIDIA zich eerst concentreerde op videogames, en dat vertaalde zich in animaties en films. Diezelfde architectuur leent zich heel goed voor kunstmatige intelligentie, die tegenwoordig alles aanstuurt.”

De uitdaging is nu hoe we efficiëntere platforms kunnen ontwikkelen die kunnen worden geoptimaliseerd voor specifieke gebruiksscenario’s. "Als je dit ding implementeert in echte schaalbare hardware, en niet alleen in eenmalige gebruiksscenario's, dan wordt de uitdaging: hoe voer je dit ding uit?" zei Suhas Mitra, productmarketingdirecteur voor Tensilica AI Products bij Cadans. “Traditioneel hadden we bij processors een CPU. En als je een mobiel platform had, had je een GPU, DSP, enz. Dit alles raakte in rep en roer omdat mensen zagen dat deze werklasten soms beschamend parallel liepen. En met de komst van parallel computing, wat de reden is dat GPU's erg populair werden – ze hadden zeer goede hardware-engines die parallelle verwerking konden uitvoeren – verdienden de leveranciers er gemakkelijk onmiddellijk geld mee.”

Dit werkt het beste als de werklasten goed gedefinieerd zijn, zegt Sharad Chole, hoofdwetenschapper bij Expeditie. “Stel dat je bij dat soort architecturen een ISP en NPU op een nauw gekoppelde manier probeert te integreren in edge-architecturen. De SoC-leiders onderzoeken hoe ze de oppervlakte en het vermogen voor het ontwerp kunnen verkleinen.”

De uitdaging hier is om de latentie-implicaties van het geheugengedeelte van de architectuur te begrijpen, zei Chole. “Als een NPU traag is, hoe zou het geheugen er dan uitzien? Hoe zou het geheugen eruit zien als de NPU snel is? Ten slotte komen de vragen tussen het balanceren van de MAC’s versus het balanceren van het geheugen van daar waar we proberen de input- en outputbuffering zoveel mogelijk te beperken.”

Externe geheugenbandbreedte is hier ook een belangrijk onderdeel van, vooral voor edge-apparaten. “Niemand heeft genoeg bandbreedte”, voegde hij eraan toe. “Dus hoe verdelen we de werklast of plannen we het neurale netwerk zo dat de externe geheugenbandbreedte behouden blijft en zo laag mogelijk is? Dat is eigenlijk iets dat we doen door pakketvorming uit te voeren of het neurale netwerk in kleinere stukken te breken en beide stukken uit te voeren.

Ontwerpen voor een snel veranderende toekomst
Een van de grote problemen met AI is dat algoritmen en rekenmodellen sneller evolueren en veranderen dan ze helemaal opnieuw kunnen worden ontworpen.

"Als je zegt dat je een CPU gaat bouwen die echt geweldig is in deze LSTM-modellen (Long Short-Term Memory), dan is die cyclus een paar jaar", zegt Woo van Rambus. “Dan besef je dat binnen twee jaar LSTM-modellen kwamen en gingen als het dominante ding. U wilt gespecialiseerde hardware doen, maar u moet het sneller doen om bij te blijven. De heilige graal zou zijn als we hardware net zo snel zouden kunnen creëren als we algoritmen zouden kunnen veranderen. Dat zou geweldig zijn, maar dat kunnen we niet doen, ook al wordt de industrie daartoe onder druk gezet.”

Dit betekent ook dat de architectuur van de processor die AI-workloads afhandelt, anders zal zijn dan die van een processor die niet gericht is op AI-workloads. "Als je naar deze motoren kijkt voor het geven van trainingen, zullen ze geen Linux of Word draaien, omdat ze niet ontworpen zijn voor vertakkingen voor algemene doeleinden, een breed scala aan instructies, of om een ​​breed scala aan talen te ondersteunen," zei Woo. “Het zijn vrijwel kale motoren die zijn gebouwd om heel snel te zijn bij een klein aantal soorten operaties. Ze zijn sterk afgestemd op de specifieke gegevensverplaatsingspatronen die nodig zijn om de berekeningen uit te voeren. In de Google TPU bestaat de systolische array-architectuur bijvoorbeeld al sinds de jaren tachtig. Het is erg goed in het uitvoeren van een bepaald soort, zeer gelijkmatig verdeeld werk over grote hoeveelheden gegevens, dus het is perfect voor deze dichte neurale netwerken. Maar het uitvoeren van algemene code is niet waarvoor deze dingen zijn ontworpen. Het lijken meer enorme co-processors die het grootste deel van de berekeningen heel goed uitvoeren, maar ze moeten nog steeds een interface hebben met iets anders dat de rest van de berekeningen kan uitvoeren.'

Zelfs het benchmarken is moeilijk, omdat het niet altijd een vergelijking tussen appels en appels is, en dat maakt het moeilijk om de architectuur te ontwikkelen. “Dit is een moeilijk onderwerp omdat verschillende mensen verschillende tools gebruiken om hierin te navigeren”, zegt Chole van Expedera. “Hoe deze taak er in de dagelijkse praktijk van de ontwerpingenieur uitziet, is benchmarking op systeemniveau. Elk onderdeel van de SoC benchmark je afzonderlijk, en op basis van die cijfers probeer je te extrapoleren wat de vereiste bandbreedte is. 'Dit zijn de prestaties, dit is de latentie die ik ga krijgen.' Op basis daarvan probeer je in te schatten hoe het hele systeem eruit zou zien. Maar naarmate we feitelijk meer vooruitgang boeken tijdens het ontwerpproces, onderzoeken we een soort op simulatie gebaseerde aanpak waarbij het geen volwaardige simulatie is – zoals een transactie-nauwkeurige simulatie binnen die simulatie om tot de exacte prestaties en exacte bandbreedtevereiste voor verschillende ontwerpblokken. Er is bijvoorbeeld een RISC-V en er is een NPU, en ze moeten samenwerken en volledig naast elkaar bestaan. Moeten ze worden gepijplijnd? Kan hun werklast worden gepijplijnd? Hoeveel exacte cycli heeft de RISC nodig? Daarvoor moeten we het programma op de RISC-V compileren, ons programma op de NPU compileren en dat vervolgens co-simuleren.”

Impact van AI-workloads op het processorontwerp
Al deze variabelen hebben invloed op het vermogen, de prestaties en de oppervlakte/kosten van het ontwerp.

Volgens Ian Bratt, collega en senior directeur technologie bij Arm, “De PPA-afwegingen voor ML-workloads zijn vergelijkbaar met de afwegingen waarmee alle architecten te maken krijgen als ze naar versnelling kijken: energie-efficiëntie versus oppervlakte. De afgelopen jaren zijn CPU's aanzienlijk beter geworden in ML-workloads dankzij de toevoeging van ML-specifieke acceleratie-instructies. Veel ML-workloads zullen uitstekend werken op een moderne CPU. Als u zich echter in een zeer beperkte energieomgeving bevindt, kan het de moeite waard zijn om de extra kosten voor siliciumoppervlakte te betalen om speciale NPU's toe te voegen, die energiezuiniger zijn dan een CPU voor ML-gevolgtrekking. Deze efficiëntie gaat ten koste van extra siliciumoppervlak en het opofferen van flexibiliteit; NPU IP kan vaak alleen neurale netwerken uitvoeren. Bovendien kan een speciale eenheid zoals een NPU ook in staat zijn om hogere algehele prestaties (lagere latentie) te bereiken dan een flexibeler component zoals een CPU.”

Russell Klein, programmadirecteur van Siemens EDA's Catapult Software Division legt uit: “Er zijn twee belangrijke aspecten van het ontwerp die de grootste invloed zullen hebben op de operationele kenmerken, oftewel PPA. Eén daarvan is de gegevensrepresentatie die bij de berekeningen wordt gebruikt. Drijvende-kommagetallen zijn eigenlijk behoorlijk inefficiënt voor de meeste machine learning-berekeningen. Het gebruik van een geschiktere representatie kan het ontwerp sneller, kleiner en energiezuiniger maken.”

De andere belangrijke factor is het aantal rekenelementen in het ontwerp. “Het gaat er in wezen om hoeveel vermenigvuldigers er in het ontwerp zullen worden ingebouwd,” zei Klein. “Dit brengt parallellisme met zich mee, wat nodig is om prestaties te leveren. Een ontwerp kan een groot aantal vermenigvuldigers hebben, waardoor het groot, energieverslindend en snel wordt. Of het kan er maar een paar hebben, waardoor het klein is en weinig stroom verbruikt, maar een stuk langzamer. Een extra maatstaf, naast vermogen, prestatie en oppervlakte, die erg belangrijk is, is energie per gevolgtrekking. Alles wat op batterijen werkt, of dat energie oogst, zal waarschijnlijk gevoeliger zijn voor energie dan voor stroom.”

De numerieke weergave van kenmerken en gewichten kan ook een aanzienlijke impact hebben op de PPA van het ontwerp.

“In het datacenter is alles een 32-bits drijvende-kommagetal. Alternatieve representaties kunnen de omvang van de operators verkleinen en de hoeveelheid gegevens die moet worden verplaatst en opgeslagen,’ merkte hij op. “De meeste AI-algoritmen hebben niet het volledige bereik nodig dat drijvende-kommagetallen ondersteunen en werken prima met vaste-kommagetallen. Vaste-komma-vermenigvuldigers zijn gewoonlijk ongeveer de helft van de oppervlakte en de kracht van een overeenkomstige drijvende-komma-vermenigvuldiger, en ze werken sneller. Vaak zijn ook 32 bits vaste puntrepresentatie niet nodig. Veel algoritmen kunnen de bitbreedte van kenmerken en gewichten terugbrengen tot 16 bits, of in sommige gevallen 8 bits of zelfs kleiner. De omvang en kracht van een vermenigvuldiger zijn evenredig met het kwadraat van de omvang van de gegevens waarop deze werkt. Een 16-bits vermenigvuldiger is dus ¼ van de oppervlakte en het vermogen van een 32-bits vermenigvuldiger. Een 8-bits vermenigvuldiger met vast punt verbruikt ongeveer 3% van het oppervlak en vermogen als een 32-bits drijvende-kommavermenigvuldiger. Als het algoritme 8-bits getallen met een vast komma kan gebruiken in plaats van 32-bits drijvende komma, is slechts ¼ van het geheugen nodig om de gegevens op te slaan en is ¼ van de busbandbreedte nodig om de gegevens te verplaatsen. Dit zijn aanzienlijke besparingen in oppervlakte en vermogen. Door gekwantiseerde bewuste training uit te voeren, kunnen de vereiste bitbreedtes nog verder worden verminderd. Typisch hebben netwerken die op een gekwantiseerde bewuste manier zijn getraind ongeveer de helft van de bitbreedte nodig als een gekwantiseerd netwerk na de training. Dit vermindert de opslag- en communicatiekosten met ½ en het vermenigvuldigingsgebied en vermogen met ¾. Quantize-bewuste getrainde netwerken vereisen doorgaans slechts 3-8 bits vaste puntrepresentatie. Soms kunnen sommige lagen slechts één bit zijn. En een vermenigvuldiger van 1 bit is een ‘en’-poort.’

Ook bij het agressief kwantiseren van een netwerk wordt overflow een belangrijk probleem. “Met 32-bit drijvende-kommagetallen hoeven ontwikkelaars zich geen zorgen te maken dat waarden de capaciteit van de representatie overschrijden. Maar met kleine vaste puntnummers moet dit worden aangepakt. Het is waarschijnlijk dat overstroming regelmatig zal voorkomen. Het gebruik van verzadigende operatoren is een manier om dit op te lossen. In plaats van te overlopen, slaat de bewerking de grootst mogelijke waarde voor de representatie op. Het blijkt dat dit heel goed werkt voor machine learning-algoritmen, omdat de exacte omvang van een grote tussensom niet significant is; alleen het feit dat deze groot is geworden, is voldoende. Door gebruik te maken van verzadigende wiskunde kunnen ontwikkelaars één of twee bits extra verwijderen van de grootte van de vaste puntgetallen die ze gebruiken. Sommige neurale netwerken hebben het dynamische bereik nodig dat wordt geboden door drijvende-kommarepresentaties. Ze verliezen simpelweg te veel nauwkeurigheid wanneer ze worden omgezet naar een vast punt, of vereisen meer dan 32 bits representatie om een ​​goede nauwkeurigheid te leveren. In dit geval zijn er verschillende drijvende-kommarepresentaties die kunnen worden gebruikt. B-float16 (of “brain float”) ontwikkeld door Google voor hun NPU, is een 16-bit float die gemakkelijk kan worden geconverteerd van en naar traditionele drijvende komma. Net als bij kleinere vaste puntgetallen resulteert dit in kleinere vermenigvuldigers en minder gegevensopslag en -beweging. Er is ook een IEEE-754 16-bits drijvende-kommagetal en NVIDIA's Tensorfloat,” voegde Klein eraan toe.

Het gebruik van een van deze zou resulteren in een kleiner, sneller ontwerp met een lager vermogen.

Bovendien zei Woo: 'Als je een kern voor algemene doeleinden hebt, is hij heel goed in veel dingen, maar hij zal geen van de dingen geweldig doen. Het is gewoon algemeen. Op elk moment dat u uw werk doet, zullen er delen van die algemene kern zijn die in gebruik zijn, en delen die dat niet zijn. Er is ruimte voor nodig, er is macht voor nodig om deze dingen te hebben. Wat mensen zich begonnen te realiseren was dat de wet van Moore ons nog steeds meer transistors geeft, dus misschien is het het juiste om deze gespecialiseerde kernen te bouwen die goed zijn in bepaalde taken langs de AI-pijplijn. Soms schakel je ze uit, en soms zet je ze aan. Maar dat is beter dan het hebben van deze kernen voor algemeen gebruik waarbij je altijd wat ruimte en kracht verspilt, en je nooit de beste prestaties krijgt. Samen met een markt die bereid is te betalen – een markt met zeer hoge marges en hoge dollars – is dat een geweldige combinatie.”

Het is ook een relatief goed begrepen aanpak in de hardware-engineeringwereld. "Je brengt versie 1 naar voren, en zodra je het hebt geïnstalleerd, ontdek je wat werkt en wat niet, en probeer je de problemen op te lossen", zegt Marc Swinnen , directeur productmarketing bij Ansys. “De applicaties die je draait zijn essentieel om te begrijpen wat deze afwegingen moeten zijn. Als u uw hardware kunt afstemmen op de toepassingen die u wilt uitvoeren, krijgt u een veel efficiënter ontwerp dan het gebruik van kant-en-klare dingen. De chip die je voor jezelf maakt, is bij uitstek geschikt voor precies wat jij wilt doen.”

Dit is de reden waarom sommige generatieve AI-ontwikkelaars bezig zijn met het bouwen van hun eigen silicium, wat suggereert dat in hun ogen zelfs de huidige halfgeleiders niet goed genoeg zijn voor wat ze in de toekomst willen doen. Het is nog een voorbeeld van hoe AI het processorontwerp en de omringende marktdynamiek verandert.

AI zal waarschijnlijk ook een grote rol gaan spelen in de chipletwereld, waar semi-aangepaste en aangepaste hardwareblokken kunnen worden gekarakteriseerd en aan ontwerpen kunnen worden toegevoegd zonder dat alles helemaal opnieuw hoeft te worden gemaakt. Grote chipmakers als Intel en AMD doen dit intern al een tijdje, maar fabelloze bedrijven zijn in het nadeel.

“Het probleem is dat jullie chiplets moeten concurreren met bestaande oplossingen”, zegt Andy Heinig, afdelingshoofd voor efficiënte elektronica bij Fraunhofer IIS ' Engineering van de divisie Adaptieve Systemen. “En als je momenteel niet op prestaties focust, kun je niet concurreren. Mensen zijn gefocust op het operationeel krijgen van dit ecosysteem. Maar vanuit ons perspectief is het een beetje een kip-en-ei-probleem. Je hebt de prestaties nodig, vooral omdat de chips duurder zijn dan een SoC-oplossing. Maar je kunt je momenteel niet echt focussen op prestaties, omdat je eerst dit ecosysteem operationeel moet krijgen.”

Het juiste begin
Anders dan vroeger, toen veel chips voor een socket werden ontworpen, draait het bij AI om de werklast.

“Wanneer deze afwegingen plaatsvinden, is het heel belangrijk om een ​​idee te hebben van wat het doel voor ogen is”, zegt Chole van Expedera. “Als je alleen maar zegt: 'Ik wil alles doen en alles ondersteunen', dan ben je niet echt ergens voor aan het optimaliseren. U plaatst er eigenlijk gewoon een oplossing voor algemeen gebruik in en hoopt dat deze aan uw stroombehoefte zal voldoen. Dat heeft, naar onze mening, zelden gewerkt. Elk neuraal netwerk en elke implementatie op edge-apparaten is uniek. Als je chip in een headset gaat en een RNN draait, in plaats van in een ADAS-chip te zitten en transformatoren te gebruiken, is het een heel ander gebruiksscenario. De NPU's, de geheugensystemen, de configuratie en het stroomverbruik zijn totaal verschillend. Het is dus erg belangrijk dat we begrijpen wat de belangrijke reeks werklasten is die we willen proberen. Dit kunnen meerdere netwerken zijn. Je moet zover komen dat het team het eens is over de netwerken die belangrijk zijn, en op basis daarvan optimaliseert. Dat ontbreekt als technische teams nadenken over NPU's. Ze denken alleen maar dat ze het beste ter wereld willen hebben, maar je kunt niet het beste hebben zonder iets in te ruilen. Ik kan je het beste geven, maar op welk vlak wil jij het beste?”

Mitra van Cadence merkte op dat iedereen op een vergelijkbare manier over PPA denkt, maar dat mensen vervolgens benadrukken welk deel van de power, performance, area/cost (PPAC) ze belangrijk vinden. “Als je een datacenterman bent, vind je het misschien oké om een ​​klein beetje ruimte op te offeren, want waar je op mikt zijn machines met een zeer hoge doorvoer, omdat je miljarden AI-gevolgtrekkingen of AI-dingen moet doen, die in één keer handelen ze in marktaandelen terwijl ze gigantische modellen draaien die tot gigantische hoeveelheden gegevens leiden. De tijd dat je kunt nadenken over een desktop waarop dingen worden uitgevoerd voor de ontwikkeling van AI-modellen, is al lang voorbij. Maar zelfs de gevolgtrekking voor sommige van deze grote taalmodellen wordt behoorlijk lastig. Het betekent dat je een enorm datacluster nodig hebt en dat je enorme datacomputing nodig hebt op datacenterschaal bij de hyperscalers.”

Er zijn ook andere overwegingen. “Hardwarearchitectuurbeslissingen zijn hier de drijvende kracht achter, maar de rol van software is ook van cruciaal belang”, zegt William Ruby, productmanagementdirecteur van Synopsys ' EDA Group, waarbij wordt opgemerkt dat prestaties versus energie-efficiëntie van cruciaal belang zijn. “Hoeveel geheugen is er nodig? Hoe zou het geheugensubsysteem worden gepartitioneerd? Kan de softwarecode worden geoptimaliseerd voor energie-efficiëntie? (Ja, dat kan.) De keuze van de procestechnologie is ook belangrijk – vanwege alle PPAC-redenen.”

Als energie-efficiëntie geen prioriteit is, kan een ingebouwde GPU worden gebruikt, aldus Gordon Cooper, productmanager voor AI/ML-processors bij Synopsys. “Het geeft je de beste flexibiliteit bij het coderen, maar zal nooit zo energie- en ruimte-efficiënt zijn als gespecialiseerde processors. Als je ontwerpt met een NPU, dan zijn er nog steeds afwegingen te maken in termen van evenwicht tussen oppervlakte en vermogen. Het minimaliseren van het geheugen op de chip zou uw totale ruimtebudget aanzienlijk moeten verkleinen, maar zal de gegevensoverdracht vanuit het externe geheugen vergroten, waardoor het vermogen aanzienlijk toeneemt. Door het geheugen op de chip te vergroten, zal het vermogen van het lees- en schrijfwerk in het externe geheugen afnemen.”

Conclusie
Al deze problemen worden steeds meer systeemproblemen, en niet alleen maar chipproblemen.

“Mensen kijken naar het AI-trainingsgedeelte als: ‘Oh wauw, dat is echt rekenkundig zwaar. Er is veel dataverkeer'', zegt Woo. “En als je er eenmaal al die versnellingshardware op wilt gooien, begint de rest van het systeem je in de weg te zitten. Om deze reden zien we deze platforms steeds vaker van bedrijven als NVIDIA en anderen, die uitgebreide AI-trainingsengines hebben, maar mogelijk ook Intel Xeon-chips bevatten. Dat komt omdat er een ander deel van de berekening is waarvoor de AI-engines gewoon niet zo geschikt zijn. Ze zijn niet ontworpen om code voor algemene doeleinden uit te voeren, dus dit is steeds meer een heterogeen systeemprobleem. Je moet alles samen laten werken.”

Het andere stukje van de puzzel ligt aan de softwarekant, die efficiënter kan worden gemaakt door middel van verschillende methoden, zoals reductie. “Dit is het besef dat er binnen AI een specifiek deel van het algoritme en een specifieke berekening bestaat die reductie wordt genoemd, wat een mooie manier is om veel getallen te reduceren tot één getal of een kleine reeks getallen,” Woo uitgelegd. “Het kan zijn dat je ze allemaal bij elkaar optelt of iets dergelijks. De conventionele manier om dit te doen is door al deze gegevens van al deze andere processors te ontvangen, deze via het interconnectienetwerk naar één processor te sturen, en die ene processor gewoon alles te laten toevoegen. Al deze nummers gaan via schakelaars door dit netwerk om bij deze processor te komen. Dus waarom voegen we ze niet gewoon toe aan de schakelaar, omdat ze allemaal via de schakelaar werken? Het voordeel is dat het vergelijkbaar is met in-line verwerking. Het fascinerende is dat als je klaar bent met het toevoegen van alles aan de switch, je nog maar één nummer hoeft aan te leveren, waardoor de hoeveelheid netwerkverkeer afneemt.”

Architectuuroverwegingen als deze zijn het overwegen waard omdat ze meerdere problemen tegelijk aanpakken, zei Woo. Ten eerste is de verplaatsing van gegevens over netwerken ongelooflijk traag, en dat betekent dat u zo min mogelijk gegevens moet verplaatsen. Ten tweede wordt het overbodige werk van het aanleveren van de gegevens aan een processor geëlimineerd, waarna de processor al het rekenwerk doet en vervolgens het resultaat teruglevert. Het gebeurt allemaal in het netwerk. En ten derde is het erg parallel, zodat je elke schakelaar een deel van die berekening kunt laten doen.

Op dezelfde manier zei Chole van Expedera dat AI-workloads nu kunnen worden gedefinieerd door een enkele grafiek. “Het hebben van die grafiek is niet voor een klein aantal instructies. We doen niet één toevoeging. We doen miljoenen optellingen tegelijk, of we voeren 10 miljoen matrixvermenigvuldigingsoperaties tegelijk uit. Dat verandert het paradigma van hoe u denkt over de uitvoering, hoe u over instructies denkt, hoe u de instructies kunt comprimeren, hoe u de instructies kunt voorspellen en plannen. Dit doen in een CPU voor algemene doeleinden is niet praktisch. Er zijn te veel kosten verbonden om dit te kunnen doen. Echter, als neuraal netwerk, waar het aantal MAC's dat tegelijkertijd actief is enorm is, verandert de manier waarop je de instructies kunt genereren, de instructies kunt maken, de instructies kunt comprimeren, de instructies kunt plannen, veel in termen van gebruik en bandbreedte. Dat is de grote impact van AI geweest op de processorarchitectuur.”

Gerelateerd lezen
Partitioneringsprocessors voor AI-workloads
Algemene verwerking en een gebrek aan flexibiliteit zijn verre van ideaal voor AI/ML-workloads.
Processorafwegingen voor AI-workloads
De kloof tussen technologische vooruitgang en eisen wordt steeds groter, en het dichten ervan wordt steeds moeilijker.
Specialisatie versus. Generalisatie in processors
Wat is er nodig om massaaanpassing aan de edge te realiseren, met hoge prestaties en een laag vermogen.

spot_img

VC Café

VC Café

Laatste intelligentie

spot_img