CPU/GPU og AI
Når man taler om kunstig intelligens og machine learning, dukker begreber som CPU og GPU ofte op. Men hvad er egentlig forskellen? Og hvorfor hører vi hele tiden, at AI kræver GPU'er?
Denne artikel er skrevet som en kort introduktion for begyndere, fx datamatiker-studerende eller andre IT-interesserede, der vil forstå de grundlæggende forskelle — og hvorfor AI typisk ikke nøjes med en CPU.
Info
Hvis du vil nøjes med den helt korte forklaring og ikke har overskud til at læse hele artiklen, så er en GPU (Graphics Processing Unit) hurtigere en CPU (Central Processing Unit) til at håndtere store mængder data og komplekse beregninger, som er almindelige i AI.
Hvad er en CPU?
CPU står for Central Processing Unit og er den del af computeren, der udfører de fleste almindelige beregninger og styrer flowet i programmer. En CPU er designet til at være fleksibel og kunne håndtere mange forskellige typer opgaver.
Den har typisk få men meget avancerede kerner (cores), som kan skifte hurtigt mellem forskellige instruktioner. CPU'er opererer ofte med højere clockhastigheder, typisk mellem 3-5 GHz.
CPU’en er derfor super god til:
- generel programkørsel
- logik og beslutninger (if/else, loops)
- arbejde med små mængder data ad gangen
- opgaver, der kræver lav forsinkelse (latency)
Hvad er en GPU?
GPU står for Graphics Processing Unit og blev oprindeligt opfundet for at tegne grafik (billeder og 3D). En GPU har ikke bare 4 eller 8 kerner som en CPU — den har tusindvis af små kerner, der kan regne på mange data på én gang.
GPU'er kører typisk med lavere clockhastigheder (1-2 GHz), men de tilbyder markant højere hukommelsesbåndbredde og flere FLOPS (Floating-Point Operations per Second), hvilket er afgørende for AI og videnskabelige beregninger.
Det gør en GPU fantastisk til opgaver, hvor man skal lave den samme beregning på rigtigt mange data fx matrix-multiplikationer (som bruges i neural netværk) eller billedberegning, som jo i bund og grund er farver i store datatabeller.
I mange moderne computersystemer arbejder CPU'er og GPU'er ofte sammen for at maksimere effektiviteten. CPU'en håndterer generelle computeropgaver og systemoperationer, mens GPU'en tager sig af specialiserede opgaver, der kan udføres parallelt, såsom grafikbehandling og komplekse databeregninger.
Hvorfor GPU og AI?
De fleste moderne AI-modeller — især deep learning — er bygget på store matricer og vektorer, som ganget og lagt sammen på kryds og tværs. Det minder i struktur om at manipulere billeder (pixels i et grid), og det er derfor, GPU’er er så velegnede.
Faktisk var det spilindustrien (og dermed grafikkortene) der ved et tilfælde skabte grundlaget for hurtig deep learning. Da forskere begyndte at eksperimentere med at køre deres matrixberegninger på GPU'er (i stedet for CPU'er), gik træningstiden for store netværk fra uger til timer. Siden er GPU'er blevet en standard i machine learning.
Moderne GPU'er inkluderer også specialiserede processorenheder, som NVIDIA's Tensor Cores. Disse er specifikt optimeret til tensor-operationer (en måde at organisere, beregne og repræsentere komplekse data på i flere dimensioner) og matrixberegninger, der er udbredte i deep learning, og giver et betydeligt ydelsesløft for både AI-træning og -inference (brug af modellen). Desuden er GPU'er udstyret med en hurtig hukommelse og avancerede arkitekturer, der sikrer hurtigere dataoverførsel og minimerer flaskehalse, hvilket er afgørende for AI-modellernes dataintensive natur.
Derfor ser du ofte datacentre til AI fyldt med Nvidia GPU'er, fordi deres CUDA-platform og deres hardware er markedsførende og klart det bedste valg, hvis du vil arbejde med machine learning.
Info
GPU'er bruges ikke kun til AI og grafik, men også til Bitcoin mining (og andre kryptovalutaer).
Det skyldes, at mining er ekstremt velegnet til GPU'ens mange tusinde små kerner, som kan udføre
de samme matematiske hash-beregninger parallelt igen og igen. Jo flere parallelt kørende kerner,
desto hurtigere kan systemet gennemsøge mulige løsninger og finde det "gyldne hash" — og dermed
tjene bitcoins.
Lokale LLM’er som LLaMA
Mange har efterhånden prøvet at køre store sprogmodeller (LLM’er) lokalt på deres egen PC. Et kendt eksempel er LLaMA (fra Meta), som findes i mange varianter. Disse modeller kan godt køre på en CPU, men det går meget langsomt, især med større modeller.
Har du et Nvidia-kort med mange CUDA-kerner og nok VRAM (typisk 12 GB eller mere), kan du til gengæld køre selv store modeller hurtigt.
Så vil du lege med LLaMA eller andre open source LLM’er på din egen maskine, er et godt Nvidia-kort næsten et krav for at få det til at køre glat, men husk at VRAM-mængden er afgørende, og at en smart fordeling mellem CPU og GPU kan redde ydelsen.