Enkele jaren geleden betekende de uitspraak "ik heb een goede grafische kaart (GPU) gekocht" gewoon "ik ga high-end games spelen" of "ik ben begonnen met videobewerking". De hersenen van een typische computer waren altijd de CPU, terwijl de GPU slechts een hulptoestel was voor het mooi weergeven van beelden.

Echter, met de opkomst van generatieve AI en deep learning is het speelveld volledig veranderd. Nu zijn krachtige GPU's essentieel om AI-modellen op een pc te draaien of te trainen. Dit is ook de reden waarom NVIDIA de grootste beursgenoteerde onderneming ter wereld is geworden.

Waarom is een eenvoudige, hardwerkende GPU de ster van het AI-tijdperk geworden, terwijl de slimme CPU opzij is geschoven? Het geheim ligt in de 'vector', 'matrix', en de 'lineaire algebra' die we tijdens onze wiskundelessen op de middelbare school hebben geleerd.

1. Hoe je een computer leert 'appel' en 'banaan': Vectoren



Wanneer we denken "een appel is rood en rond" of "een banaan is geel en lang", hoe begrijpt een computer dit concept? Een computer kent alleen 0 en 1, oftewel cijfers. Daarom hebben computerwetenschappers en wiskundigen besloten om alle concepten in de wereld om te zetten in groepen van cijfers, oftewel vectoren.

Stel je voor dat we de kenmerken van fruit uitdrukken als een driedimensionale vector [kleur, vorm, zoetheid]. (Rood=1, Geel=10 / Rond=1, Lang=10)

  • Appel: $[1, 1, 8]$

  • Banaan: $[10, 10, 9]$

  • Groene appel: $[2, 1, 7]$

Als we data als vectoren maken, gebeurt er iets verrassends. We kunnen nu "gelijkenis (Similarity)" berekenen.

De coördinaten van de appel en de groene appel zijn dicht bij elkaar, terwijl de banaan ver weg is. De reden dat AI kan zeggen "een appel en een groene appel zijn vergelijkbaar" is dat het deze afstand in de vectorruimte berekent.

2. Een enorme kubus gemaakt van verzamelde vectoren: Tensoren

Echter, de data die AI moet verwerken zijn niet slechts drie soorten fruit.

Denk aan een kleurfoto van 1000 bij 1000 pixels. Voor elke pixel zijn drie nummers nodig voor R, G en B, wat betekent dat één foto een enorme hoeveelheid cijfers heeft van $1000 \times 1000 \times 3$.

  • Scalar: één nummer (bijvoorbeeld: 5)

  • Vector: een eenregelige lijst van cijfers (bijvoorbeeld: [1, 2])

  • Matrix: een tweedimensionele tabel van cijfers (zoals een Excel-sheet)

  • Tensor: een verzameling van cijfers van drie of meer dimensies (in kubusvorm)

De reden dat de AI-framework van Google 'TensorFlow' heet, komt hier vandaan. AI is een machine die continu deze enorme hoeveelheden cijfers (tensors) verwerkt.

3. De essentie van AI: eindeloze vermenigvuldigingen en optellingen (matrixoperaties)



Wanneer we denken aan deep learning, lijkt het alsof er zeer complexe logische redeneringen plaatsvinden, maar als we er een kijkje in nemen, blijken het in feite herhaalde matrixvermenigvuldigingen te zijn.

Het wiskundige formule zoals $Y = WX + b$, waarbij invoergegevens (X) met gewichten (W) worden vermenigvuldigd en de bias (b) wordt opgeteld, wordt miljarden of zelfs triljoenen keren herhaald.

Het probleem is niet de moeilijkheidsgraad van deze berekeningen, maar de 'hoeveelheid'.

  • De aanpak van de CPU: "Oké, laten we de eerste rij berekenen... Ben je klaar? Dan de tweede rij..." (sequentiële verwerking)

  • De eis van AI: "Doe nu meteen 100 miljoen vermenigvuldigingen tegelijkertijd!"

Hier raakt de geniale wiskundige (CPU) in de war. Hoe slim ook, hij heeft maar één lichaam en kan niet 100 miljoen taken tegelijkertijd uitvoeren.

AI gebruikt GPU voor tensorbewerking

4. De kwast die pixels kleurde, wordt de hersenen van AI

De redder die hier op het toneel verschijnt, is de GPU (Graphics Processing Unit). Oorspronkelijk was de GPU ontworpen om beelden op het scherm te tekenen.

Denk aan een FHD-scherm. Het beeldscherm heeft ongeveer 2 miljoen pixels. Bij het spelen van 3D-games moet de GPU voor elk van deze 2 miljoen pixels berekenen: "Welke kleur moet jij zijn?", "Hier is schaduw, dus maak het wat donkerder" - dit moet tegelijkertijd gebeuren.

  • CPU: een klein aantal zeer slimme kernen (4-16 doktoren) → geoptimaliseerd voor complexe logica en volgordewerkzaamheden

  • GPU: duizenden kernen die alleen eenvoudige berekeningen kunnen uitvoeren (5000 basisschoolleerlingen) → geoptimaliseerd voor gelijktijdige verwerking van eenvoudige herhalende berekeningen (parallelle verwerking)

Ontwikkelaars realiseren zich dit.

"Wacht even, het berekenen van pixelcoördinaten en deze tegelijkertijd inkleuren in 3D-games, is wiskundig gezien precies hetzelfde als het gelijktijdig uitvoeren van matrixvermenigvuldigingen in AI deep learning... Volledig identiek!"

De grote parallelle verwerkingscapaciteit van GPU's, die oorspronkelijk zijn ontwikkeld voor grafische verwerking, sluit perfect aan bij matrixoperaties in deep learning. Voor de GPU was het gewoon een kwestie van het verven van AI-gegevens in plaats van het weergeven van pixels – het werk (matrixoperaties) bleef hetzelfde.

5. Conclusie: De wiskundelessen op school waren niet tevergeefs

Samenvattend:

  1. Computerwetenschappers en wiskundigen hebben informatie omgezet in vectoren en tensors om de wereld wiskundig te begrijpen (of om machines te helpen dit te begrijpen).

  2. Om tensors te verwerken is lineaire algebra (matrixoperaties) nodig.

  3. De GPU, die duizenden pixels tegelijkertijd kon berekenen, was al geoptimaliseerd voor deze matrixoperaties.

Deze drie factoren hebben de huidige AI-revolutie mogelijk gemaakt.

Heb je je in de middelbare school afgevraagd "waarom leer ik over vectoren en scalars?" en toen je in de universiteit je hoofd gebroken over matrixvermenigvuldigingen in lineaire algebra? Ik herinner me dat ik in mijn eerste jaar lineaire algebra zo ongelooflijk saai vond dat ik niet studeerde, zodat ik een slechte beoordeling kreeg en het later opnieuw moest nemen in mijn derde jaar om mijn cijfers te herstellen. Bij de tweede poging deed ik mijn best, maar ik vond lineaire algebra net zo saai als differentiaalvergelijkingen. Maar het is verbazingwekkend dat die lastige wiskunde 20 jaar later de sleutel blijkt te zijn tot het creëren van de slimste kunstmatige intelligentie in de geschiedenis van de mensheid.

Op het snijpunt van de theorieën van wiskundigen en de technologie van hardware-engineers staat de GPU en AI.


🚀 Vooruitblik op de volgende blog

Nu weten we hoe CPU en GPU verschillen. Maar wat is de NPU (Neural Processing Unit) die tegenwoordig vaak in het nieuws komt? Laten we de aard van de NPU, die nog meer geoptimaliseerd zou zijn voor AI dan de GPU, onderzoeken.