GPUsed-guide

Varför GPU:er blev motorn bakom modern AI

Granskad av för saklig och operativ korrekthet.

Hårdvaran som nu skriver meningar och känner igen tumörer har en del av sin karriär att tacka för ett äldre problem: att rita upp väldigt många pixlar innan en spelare märker att omgivningen har laddats in för sent.

GPU:er blev centrala för modern AI eftersom neurala nätverk innehåller enorma mängder matematiskt arbete som kan delas upp och utföras parallellt. Grafik krävde samma breda förmåga. Programvaran förvandlade sedan en specialiserad bildprocessor till en programmerbar motor för matriser, modeller och data.

Först kom pixlarna

Ett modernt spel bearbetar upprepade gånger geometri, texturer, belysning, färg och skuggor över miljontals pixlar. Mycket av detta arbete kan delas upp i många liknande beräkningar. I stället för att be en extremt kapabel arbetare måla skärmen från vänster till höger organiserar grafikhårdvaran en enorm verkstad och håller många mindre arbetare sysselsatta samtidigt.

En CPU är utformad på ett annat sätt. Dess mindre antal kraftfulla och flexibla kärnor hanterar operativsystemets arbete, programlogik, förgreningsbeslut och uppgifter där nästa steg beror på resultatet av det föregående. Ingen arkitektur är överlägsen i alla situationer. En domstol och en kexfabrik har båda anställda; det betyder inte att de gynnas av samma bemanningsplan.

Sedan blev pixlarna tensorer

Neurala nätverk kombinerar upprepade gånger stora matriser av tal, tillämpar operationer och skickar resultaten genom många lager. Träning justerar modellen; inferens använder den. Det underliggande arbetet kan vara mycket sofistikerat, men en stor del av den tunga aritmetiken kan fortfarande delas upp över en parallell processor.

En CPU kan utföra dessa beräkningar. GPU:ns fördel visar sig när jobbet innehåller tillräckligt mycket lämpligt arbete för att hålla dess parallella resurser sysselsatta. Det är kopplingen:

  • grafik omfattar relaterade beräkningar som är utspridda över pixlar, geometri och samplingar;
  • AI omfattar relaterade beräkningar som är utspridda över modellvikter, aktiveringar och data;
  • en GPU är byggd för att föra en stor parallell arbetsmängd genom maskinen.

Karriärbytet skedde i fyra akter

  1. Fast grafikmaskinvara: tidiga GPU:er accelererade det specialiserade arbete som krävdes för att rita bilder och 3D-scener.
  2. Programmerbara shaders och generell beräkning: hårdvaran blev tillräckligt flexibel för att utvecklare skulle kunna uttrycka bredare parallella problem.
  3. Praktiska programvaruplattformar: system som CUDA och ROCm tillhandahöll programmeringsmodeller, kompilatorer, bibliotek och verktyg.
  4. Djupinlärning i stor skala: forskning som AlexNet från 2012 visade hur GPU-beräkningar kunde göra det praktiskt att träna ett stort bildigenkänningsnätverk.

Loopen förstärkte sedan sig själv. Fler forskare använde GPU-beräkningar; programvaran förbättrades; chipdesigners lade till funktioner för maskininlärningsoperationer; större arbetsbelastningar blev praktiskt möjliga; efterfrågan betalade för nästa generation hårdvara.

Programvaran är anledningen till att ett snabbt chip blev användbart

Rå parallell aritmetik är inget användbart ekosystem. Utvecklare behöver kompilatorer, körtidsmiljöer, profileringsverktyg och accelererade bibliotek; forskare behöver ramverk som kan uttrycka en modell utan att skriva varje lågnivåoperation för hand.

NVIDIA:s CUDA Programming Guide beskriver dess programmeringsmodell och exekveringsplattform. AMD:s ROCm-dokumentation beskriver den motsvarande öppna programvarustacken för AMD-hårdvara som stöds. Stöd för ramverk är anledningen till att två GPU:er som teoretiskt sett har samma kapacitet kan ha mycket olika praktiskt värde för en viss tillämpning.

VRAM är rummet där arbetet sker

En modell och dess tillfälliga arbetsdata måste få plats i det tillgängliga minnet. Beroende på uppgiften omfattar det vikter, prompter, bilder, batcher och mellanresultat. En GPU kan vara tillräckligt snabb i teorin och ändå misslyckas med att köra en arbetsbelastning eftersom det inte finns någonstans att placera den.

Detta skapar en egenhet med begagnad hårdvara: ett äldre professionellt kort med mer minne kan fortfarande vara användbart för en modell som inte får plats på ett nyare och snabbare gamingkort. Det omvända gäller också. Om den avsedda programvaran använder lite minne och drar nytta av nyare beräkningsfunktioner är det ett dyrt sätt att beundra en specifikation att köpa kapacitet som den aldrig använder.

Bandbredden till minnet spelar också roll. Tusentals parallella arbetare är inte produktiva när datan når dem genom ett brevinkast.

Behöver varje AI-jobb en GPU?

Nej. Små modeller kan köras på CPU:er. Telefoner och nyare datorer har i allt högre grad NPU:er som är utformade för att effektivt köra neurala operationer som stöds. Stora aktörer bygger också ändamålsanpassade acceleratorer som Googles Tensor Processing Units.

GPU:n är fortfarande viktig eftersom den kombinerar hög parallell prestanda, programmerbarhet, lokalt minne och mogna verktyg. Den kombinationen passar många uppgifter utan att göra den till rätt svar på varje uppgift som innehåller bokstäverna A och I.

Ett gamingkort kan köra AI - när programvaran håller med

Lämpliga gamingkort kan lokalt hantera bildgenerering, transkribering, uppskalning och mindre språkmodeller. Kontrollera den exakta tillämpningen i stället för ett generiskt påstående om att den är ”AI-klar”:

  • Stöds GPU:n och operativsystemet?
  • Hur mycket VRAM behöver den valda modellen och batchen?
  • Vilka numeriska format och accelerationsvägar är tillgängliga?
  • Klarar nätaggregatet, chassit och kylningen kortet?
  • Är den förväntade hastigheten faktiskt värd att köpa hårdvara för?

Ett praktiskt exempel: transkribera en intervju

Anta att du vill omvandla inspelningar till text utan att ladda upp dem. Du väljer ett transkriberingsprogram, en modellstorlek, acceptabel noggrannhet och genomloppstid - inte bara ett ”AI-grafikkort”. Whisper-arkivet anger ungefärliga minneskrav för sina modellstorlekar, vilket är en utgångspunkt för den implementeringen snarare än ett universellt löfte för varje tillämpning som bygger på den.

En större modell kan behöva mer minne. En mindre modell kanske redan blir tillräckligt korrekt. Om CPU:n hinner hantera en enstaka inspelning innan du behöver den skulle en ny GPU lösa ett schemaläggningsproblem som inte finns.

Den användbara historiska tillfälligheten

Tidig grafikhårdvara utformades inte med moderna språkmodeller i åtanke. Den blev användbar eftersom arkitekturen som byggdes för att rita pixlar också lämpade sig för mycket av den parallella matematik som ligger bakom neurala nätverk. Programmerbar programvara öppnade denna lämplighetsmässiga tillfällighet för forskare och utvecklare; årtionden av efterfrågan på grafik fortsatte att förbättra maskineriet.

GPU:er drev inte AI-boomen bara för att de var snabba. De var parallella och programmerbara, och de omgavs av programvara som kunde omvandla den strukturen till användbart arbete.

Se de AI- och maskininlärnings-GPU:er som GPUsed hanterar, läs vad en NPU gör, eller jämför VRAM-kapacitet och dess begränsningar. Om frågan gäller ett köp kan du börja med arbetsbelastningen, inte det största modellnamnet.

More GPUsed-blogg