Google en de Von Neumann-flessenhals

Google beschikt sinds 2016 over zelf ontworpen chips die zeer goed geschikt zijn voor training en gebruik van AI modellen. Daarom hoeven ze niet mee te doen aan de mallemolen van circulaire financiering waarmee vooral chipmaker Nvidia probeert AI ontwikkeling aan te jagen. Google is de facto onafhankelijk van Nvidia, ook al gebruiken ze Nvidia chips op onderdelen in de Google Cloud – vooral ten behoeve van externe klanten.

Om te begrijpen hoe Google die onafhankelijkheid voor elkaar heeft gekregen moeten we onder de motorkap kijken van de verschillende systemen. Geld is deze keer niet de belangrijkste onderscheidende factor, hoewel de technologie gigantische investeringen heeft gevraagd en nog vraagt, van alle partijen. Het onderscheid ligt in visie en de manier waarop die in ontwerp en architectuur is gerealiseerd.

Von Neumann-architectuur

In 1945 verscheen First Draft of a Report on the EDVAC van de hand van John von Neumann. Een landmark in de ontwikkeling van de ICT, qua impact vergelijkbaar met de publicaties van Turing en Shannon die ik eerder beschreef.

Het document van Von Neumann bevat het ontwerp voor een elektronische, digitale, computer en is nog steeds de conceptuele basis van de meeste moderne computersystemen.

Het ontwerp van de voorgestelde computer kent vijf onderdelen.

> Rekenkundige eenheid (Arithmetic Logic Unit)
> Besturingseenheid (Control Unit)
Samen vormen ze de Central Processing Unit (CPU).
> Geheugen voor zowel gegevens als instructies
> Invoer mechanisme
> Uitvoer mechanisme

Cruciaal in het ontwerp is dat zowel de data als de programma instructies in hetzelfde geheugen worden opgeslagen – het stored-program principe. De CPU haalt stap voor stap instructies uit het geheugen op, voert ze uit en schrijft de resultaten terug in het geheugen.

Bottleneck

Het ontwerp, bekend als de Von Neumann-architectuur, is sinds de publicatie dominant geweest in de mainstream informatica en is dat in zekere zin nog. Er is echter een zwak punt in het ontwerp.

Juist het conceptueel onderscheidende punt – één geheugen voor data en instructies – blijkt bij de huidige vereisten een bottleneck te veroorzaken in de verwerkingssnelheid. Het is simpel gezegd ’te druk’ op die verbinding tussen rekeneenheid en geheugen: tweerichting-verkeer over enkelspoor. De rekeneenheid moet vaak te lang wachten op het wegschrijven van een resultaat, het ophalen van de volgende instructies en het ophalen van de data waarmee verder moet worden gerekend.
Dit fenomeen wordt de Von Neumann-flessenhals genoemd.

Alternatieven

De ontwikkeling en het gebruik van AI, en de daarmee samenhangende gigantische schaalvergroting van zowel dataverzameling als verwerkingscapaciteit, hebben geleid tot de ontwikkeling van alternatieve architecturen en gespecialiseerde processoren waarmee de Von Neumann-flessenhals ontweken kan worden.

In eerdere artikelen op deze site ben ik uitgebreid ingegaan op de zogeheten Transformer architectuur van de AI taalmodellen, en op de rol van matrices. De berekeningen die nodig zijn voor de AI modellen zijn wiskundig gezien bijzonder eenvoudig, maar het zijn er heel veel – ze moeten massaal én parallel uitgevoerd worden want parallelliteit vormt de ruggengraat van de Transformer architectuur.

Simpele berekeningen op gigantische schaal: dat is precies waar de ontwikkelde gespecialiseerde processoren goed in zijn. Hieronder bespreek ik er twee: de GPU (Graphics Processing Unit) van Nvidia en de TPU (Tensor Processing Unit) van Google. De good old CPU is niet obsoleet geworden, maar sterk teruggekomen in een nieuwe rol.

CPU in nieuwe rol: coördinator

De CPU is ontworpen voor algemene rekentaken die sequentieel, achter elkaar, worden uitgevoerd. Sinds de opkomst van de grote taalmodellen (LLM) is sequentiële verwerking niet meer toereikend, die modellen vragen massaal parallel uitgevoerde berekeningen in matrices. De CPU is voor moderne AI doeleinden ‘ouderwets’ geworden.

Toch wordt de CPU nog steeds gebruikt in AI systemen, maar de rol is veranderd. De CPU is vooral coördinator geworden. De processor beheert de volledig workflow: ophalen van data uit opslag, uitvoeren van voorbereidende bewerkingen en het aansturen van gespecialiseerde hardware, gespecialiseerde processoren. Met die processoren wordt de Von Neumann-flessenhals ontweken als het erop aankomt: bij de massale berekeningen in matrices.

GPU: parallelle rekenkracht

Nvidia is een machtige speler geworden in het gehele AI veld, dankzij hun jaren geleden ontwikkelde en gerealiseerde visie. Ik citeer mijzelf uit een eerder bericht:

Het bedrijf bestaat al lang, al sinds 1995 maakt het chips voor grafische kaarten, vanaf 1999 voor PC’s – met ‘schaalgrootte’ hebben ze ruime ervaring. In 2004 vormt Nvidia zijn architectuur en chipontwerp om, naar een generiek rekenplatform voor parallelle berekeningen. Visie en innovatiekracht horen beslist tot de sterke punten van Nvidia.
Nvidia stond zo als het ware al in de coulissen gereed toen deep learning en vooral LLM aan hun steile weg naar boven begonnen.

De Graphics Processing Unit is doorontwikkeld op de grafische kaart die er in je computer voor zorgt dat de pixels op je beeldscherm voor het oog gelijktijdig verschijnen: parallelle berekeningen zijn er de grondslag voor. De moderne GPU bevat duizenden eenvoudige rekenkernen die optimaal zijn geconfigureerd voor parallelle verwerking.

Strikt genomen zijn de kernen van een GPU volgens de Von Neumann-architectuur opgezet, maar is de verbinding naar het geheugen zeer gespecialiseerd ingericht met meerdere caches en pipelines. Traditioneel had het videogeheugen van de grafische kaarten al een veel grotere bandbreedte dan van het ‘normale’ geheugen (RAM) van de computer.

Samengevat: met de inzet van GPU blijft het flessenhals-probleem bestaan, maar wordt het omzeild door de massale parallelliteit waardoor de overall snelheid van het systeem nauwelijks meer door wachttijden wordt benadeeld.

TPU: volledig gericht op matrixrekenen

Google is in 2016 begonnen met het ontwikkelen van een eigen processor, de Tensor Processing Unit (TPU). Dit is een werkelijk gespecialiseerde chip in de categorie ASIC (Application-Specific Integrated Circuit).

De kern van de TPU-architectuur is een zogeheten systolisch array. Zo’n array, een matrix, kun je zien als een rooster met heel eenvoudige rekenkernen. Elke kern doet een klein stukje van de totaalberekening. In het rooster worden in een vast ritme (zoals bij een hartslag) de gegevens van de ene kern doorgegeven naar de volgende kern.

In een systolisch array stromen van links ingevoerde data door het rooster, terwijl per slag een enkelvoudige berekening vanaf boven wordt geactiveerd, bijvoorbeeld met gewichten. De resultaten komen samen aan de onderkant en verlaten daar het rooster. Zie de animatie voor 2×2 matrices (klik om te vergroten).

In de hele gang door het array worden nergens gegevens opgeslagen of opgehaald uit een geheugen.

Samengevat: op het laagste niveau van de berekeningen – in de matrices zelf – wordt het flessenhals-probleem volledig omzeild.

Google heeft hiermee letterlijk goud in handen: niet alleen het snelheidsprobleem van de flessenhals wordt vermeden, maar het totale energieverbruik (en koeling!) is aanzienlijk lager dan bij een GPU-architectuur, tot wel 60-70% besparing wordt gerapporteerd.

De invloed van Google

Dit artikel is de derde in een reeks die begon met de vraag “Waarom gaat het eigenlijk zo goed met Google?”. Een deel van het antwoord, en wat mij betreft het meest interessante deel, staat in dit bericht. De bedrijfseconomische kanten zoals omzet en winst maar ook het bedenkelijke gebruiken van persoonlijke gegevens en het uitbuiten van een bijna-monopolie positie van Google Search boeien me wel, maar in kader van A woven web of guesses minder.

De onderscheidende factor ligt in visie en de manier waarop die in architectuur en technologie wordt gerealiseerd. Ook voor Big Tech valt visie in de categorie ‘guesses‘ en belemmert het woven web het zicht op succes van de technologie en de mega-investeringen die nodig zijn om de visie te realiseren.

Wat je ook van Google kunt vinden, feit is dat ze in 2017 het allesbepalende artikel Attention is all you need hebben gepubliceerd. De Transformer architectuur die daarin is uitgewerkt is niet alleen door Google maar door álle ontwikkelaars van AI modellen, wereldwijd, gebruikt als grondslag voor hun AI taalmodellen. Tot op de dag van vandaag. De T van GPT staat zelfs voor Transformer…
Feit is ook dat een jaar eerder, in 2016, Google de eerste versie heeft ontwikkeld van de precies op deze architectuur toegesneden gespecialiseerde chip, de TPU.

Het artikel werd door Google Research (tegenwoordig Google AI) ruimhartig gepubliceerd in het publieke domein, maar de chips heeft Google tot medio vorig jaar voor zijn eigen rekencentra gehouden.

Samenvattend: ik snap waarom het zo goed gaat met Google. En met het oog op een volgend bericht wil ik er nog aan toevoegen: én ze hebben Demis Hassabis.

Geef een reactie

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