GPUsed-guide

Hvorfor GPU'er blev motoren i moderne AI

Gennemgået af med henblik på faktuel og operationel nøjagtighed.

Den hardware, der nu skriver sætninger og genkender tumorer, skylder en del af sin karriere et ældre problem: at tegne et stort antal pixels, før en gamer opdager, at landskabet er kommet for sent.

GPU'er blev centrale i moderne AI, fordi neurale netværk indeholder enorme mængder matematisk arbejde, der kan opdeles og udføres parallelt. Grafik krævede den samme brede evne. Software forvandlede derefter en specialiseret billedprocessor til en programmerbar motor til matricer, modeller og data.

Først kom pixels

Et moderne spil arbejder gentagne gange med geometri, teksturer, belysning, farver og skygger på tværs af millioner af pixels. Meget af dette arbejde kan opdeles i mange ensartede beregninger. I stedet for at bede én ekstremt kapabel medarbejder om at male skærmen fra venstre mod højre organiserer grafikhardwaren et enormt værksted og holder mange mindre medarbejdere beskæftiget på samme tid.

En CPU er designet anderledes. Dens mindre antal kraftfulde og fleksible kerner håndterer operativsystemarbejde, applikationslogik, forgreningsbeslutninger og opgaver, hvor det næste trin afhænger af resultatet af det forrige. Ingen af arkitekturerne er universelt bedre. En retssal og en kiksfabrik har begge mennesker ansat; det betyder ikke, at de har gavn af den samme bemandingsplan.

Så blev pixels til tensorer

Neurale netværk kombinerer gentagne gange store arrays af tal, anvender operationer og sender resultaterne gennem mange lag. Træning justerer modellen; inferens bruger den. Det underliggende arbejde kan være ekstremt sofistikeret, men meget af den tunge aritmetik kan stadig opdeles på en parallel processor.

En CPU kan udføre disse beregninger. GPU'ens fordel viser sig, når opgaven indeholder tilstrækkeligt meget egnet arbejde til at holde dens parallelle ressourcer beskæftiget. Det er forbindelsen:

  • grafik omfatter relaterede beregninger fordelt på pixels, geometri og samples;
  • AI omfatter relaterede beregninger fordelt på modelvægte, aktiveringer og data;
  • en GPU er bygget til at føre en stor parallel arbejdsbyrde gennem maskinen.

Karriereskiftet skete i fire akter

  1. Fast grafikhardware: Tidlige GPU'er accelererede det specialiserede arbejde, der krævedes for at tegne billeder og 3D-scener.
  2. Programmerbare shaders og generel beregning: Hardwaren blev fleksibel nok til, at udviklere kunne udtrykke bredere parallelle problemer.
  3. Praktiske softwareplatforme: Systemer som CUDA og ROCm leverede programmeringsmodeller, compilere, biblioteker og værktøjer.
  4. Deep learning i stor skala: Forskning, herunder AlexNet i 2012, viste, hvordan GPU-beregning kunne gøre det praktisk at træne et stort billedgenkendelsesnetværk.

Sløjfen forstærkede derefter sig selv. Flere forskere brugte GPU-beregning; softwaren blev forbedret; chipdesignere tilføjede funktioner til maskinlæringsoperationer; større arbejdsbyrder blev praktisk mulige; efterspørgslen betalte for endnu en generation hardware.

Software er grunden til, at en hurtig chip blev nyttig

Rå parallel aritmetik er ikke et brugbart økosystem. Udviklere har brug for compilere, runtime-miljøer, profileringsværktøjer og accelererede biblioteker; forskere har brug for frameworks, der kan udtrykke en model uden at skrive alle operationer på lavt niveau i hånden.

NVIDIA's CUDA Programming Guide beskriver virksomhedens programmeringsmodel og eksekveringsplatform. AMD's ROCm-dokumentation dækker den tilsvarende åbne softwarestack til understøttet AMD-hardware. Understøttelse af frameworks er grunden til, at to teoretisk kapable GPU'er kan have meget forskellig praktisk værdi for én applikation.

VRAM er rummet, hvor arbejdet foregår

En model og dens midlertidige arbejdsdata skal kunne være i den tilgængelige hukommelse. Afhængigt af opgaven omfatter det vægte, prompts, billeder, batches og mellemresultater. En GPU kan være hurtig nok i teorien og stadig ikke kunne køre en arbejdsbyrde, fordi der ikke er plads til den.

Det skaber en særhed ved brugt hardware: Et ældre professionelt kort med mere hukommelse kan fortsat være nyttigt til en model, der ikke kan være på et nyere og hurtigere gamingkort. Det omvendte er også sandt. Hvis den tilsigtede software bruger lidt hukommelse og drager fordel af nyere beregningsfunktioner, er det en dyr måde at beundre en specifikation på at købe kapacitet, den aldrig bruger.

Hukommelsesbåndbredde betyder også noget. Tusindvis af parallelle medarbejdere er ikke produktive, når dataene når dem gennem en brevsprække.

Har alle AI-opgaver brug for en GPU?

Nej. Små modeller kan køre på CPU'er. Telefoner og nyere computere indeholder i stigende grad NPU'er, der er designet til effektivt at udføre understøttede neurale operationer. Store operatører bygger også formålsbestemte acceleratorer som Googles Tensor Processing Units.

GPU'en er fortsat vigtig, fordi den kombinerer høj parallel ydeevne, programmerbarhed, lokal hukommelse og modne værktøjer. Den kombination egner sig til mange opgaver uden at gøre den til det rigtige svar på enhver opgave, der indeholder bogstaverne A og I.

Et gamingkort kan køre AI - når softwaren er enig

Egnede gamingkort kan håndtere billedgenerering, transskription, opskalering og mindre sprogmodeller lokalt. Tjek den konkrete applikation i stedet for en generisk påstand om, at kortet er "AI-ready":

  • Er GPU'en og operativsystemet understøttet?
  • Hvor meget VRAM kræver den valgte model og batch?
  • Hvilke numeriske formater og accelerationsstier er tilgængelige?
  • Kan strømforsyningen, kabinettet og kølingen understøtte kortet?
  • Er den forventede hastighed faktisk værd at købe hardware for?

Et praktisk eksempel: transskription af et interview

Forestil dig, at du vil have optagelser omdannet til tekst uden at uploade dem. Du vælger en transskriptionsapplikation, en modelstørrelse, en acceptabel nøjagtighed og en behandlingstid - ikke blot et "AI-grafikkort". Whisper-repositoriet angiver omtrentlige hukommelseskrav for sine modelstørrelser, hvilket er et udgangspunkt for den implementering og ikke et universelt løfte for enhver applikation, der er bygget omkring den.

En større model kan kræve mere hukommelse. En mindre model er måske allerede nøjagtig nok. Hvis CPU'en kan håndtere en lejlighedsvis optagelse, før du har brug for den, vil en ny GPU løse et planlægningsproblem, der ikke findes.

Det nyttige historiske tilfælde

Tidlig grafikhardware blev ikke designet med moderne sprogmodeller i tankerne. Den blev nyttig, fordi arkitekturen, der var bygget til at tegne pixels, også egnede sig til meget af den parallelle matematik bag neurale netværk. Programmerbar software åbnede dette tilfælde af egnethed for forskere og udviklere; årtiers efterspørgsel efter grafik fortsatte med at forbedre maskineriet.

GPU'er satte ikke AI-boomet i gang, blot fordi de var hurtige. De var parallelle, programmerbare og omgivet af software, der kunne omsætte denne struktur til nyttigt arbejde.

Se de AI- og maskinlærings-GPU'er, som GPUsed håndterer, læs hvad en NPU gør, eller sammenlign VRAM-kapacitet og dens begrænsninger. Hvis spørgsmålet handler om et køb, så start med arbejdsbyrden, ikke det største modelnavn.

More GPUsed-blog