Vodič GPUsed

Zašto su grafičke kartice postale pokretač moderne umjetne inteligencije

Provjerio radi činjenične i operativne točnosti.

Hardver koji sada piše rečenice i prepoznaje tumore dio svoje karijere duguje starijem problemu: iscrtavanju golemog broja piksela prije nego što igrač primijeti da se prizor pojavio sa zakašnjenjem.

GPU-ovi su postali središnji dio moderne umjetne inteligencije jer neuronske mreže sadrže goleme količine matematičkih operacija koje se mogu podijeliti i izvoditi paralelno. Grafika je zahtijevala istu tu široku sposobnost. Softver je zatim specijalizirani procesor slike pretvorio u programibilan stroj za matrice, modele i podatke.

Prvo su došli pikseli

Moderna igra iznova obrađuje geometriju, teksture, osvjetljenje, boje i sjene na milijunima piksela. Velik se dio tog posla može podijeliti na mnoge slične izračune. Umjesto da od jednog iznimno sposobnog radnika traži da oboji zaslon slijeva nadesno, grafički hardver organizira golemu radionicu i istodobno zapošljava mnogo manjih radnika.

CPU je drugačije dizajniran. Njegov manji broj snažnih i fleksibilnih jezgri obrađuje rad operacijskog sustava, logiku aplikacija, odluke grananja i zadatke kod kojih sljedeći korak ovisi o rezultatu prethodnog. Nijedna arhitektura nije univerzalno bolja. Sudnica i tvornica keksa obje zapošljavaju ljude; to ne znači da imaju koristi od istog plana zapošljavanja.

Zatim su pikseli postali tenzori

Neuronske mreže iznova kombiniraju velike nizove brojeva, primjenjuju operacije i prosljeđuju rezultate kroz mnoge slojeve. Treniranje prilagođava model; zaključivanje ga koristi. Temeljni posao može biti iznimno sofisticiran, no velik se dio zahtjevne aritmetike i dalje može podijeliti na paralelnom procesoru.

CPU može izvoditi te izračune. Prednost GPU-a pojavljuje se kada posao sadrži dovoljno prikladnih zadataka da njegovi paralelni resursi ostanu zauzeti. To je poveznica:

  • grafika uključuje povezane izračune raspoređene preko piksela, geometrije i uzoraka;
  • umjetna inteligencija uključuje povezane izračune raspoređene preko težina modela, aktivacija i podataka;
  • GPU je izgrađen za provođenje velikog paralelnog opterećenja kroz stroj.

Promjena karijere odvijala se u četiri čina

  1. Fiksni grafički hardver: rani GPU-ovi ubrzavali su specijalizirani posao potreban za crtanje slika i 3D prizora.
  2. Programibilni sjenilački programi i opće računanje: hardver je postao dovoljno fleksibilan da programeri mogu izraziti šire paralelne probleme.
  3. Praktične softverske platforme: sustavi poput CUDA-e i ROCm-a pružili su programske modele, prevoditelje, biblioteke i alate.
  4. Duboko učenje u velikim razmjerima: istraživanje, uključujući AlexNet iz 2012., pokazalo je kako GPU računanje može učiniti veliki model za prepoznavanje slika praktičnim za treniranje.

Petlja se zatim sama pojačavala. Sve je više istraživača koristilo GPU računanje; softver se poboljšavao; dizajneri čipova dodavali su značajke za operacije strojnog učenja; veća su opterećenja postajala praktična; potražnja je financirala novu generaciju hardvera.

Softver je razlog zbog kojeg je brzi čip postao koristan

Sirova paralelna aritmetika nije upotrebljiv ekosustav. Programerima trebaju prevoditelji, izvršna okruženja, alati za profiliranje i ubrzane biblioteke; istraživačima trebaju okviri u kojima mogu izraziti model bez ručnog pisanja svake niskorazinske operacije.

NVIDIA-in CUDA Programming Guide opisuje njezin programski model i platformu za izvršavanje. AMD-ova ROCm dokumentacija obuhvaća odgovarajući otvoreni softverski stog za podržani AMD hardver. Podrška okvira razlog je zbog kojeg dva teoretski sposobna GPU-a mogu imati vrlo različitu praktičnu vrijednost za jednu aplikaciju.

VRAM je prostor u kojem se posao odvija

Model i njegovi privremeni radni podaci moraju stati u dostupnu memoriju. Ovisno o zadatku, to uključuje težine, upite, slike, pakete i međurezultate. GPU teoretski može biti dovoljno brz, a ipak ne uspjeti pokrenuti opterećenje jer ga nema gdje smjestiti.

To stvara neobičnost kod rabljenog hardvera: starija profesionalna kartica s više memorije može ostati korisna za model koji ne stane na noviju i bržu gaming karticu. Vrijedi i obrnuto. Ako predviđeni softver koristi malo memorije i ima koristi od novijih računalnih značajki, kupnja kapaciteta koji nikada neće koristiti skup je način divljenja specifikacijama.

Važna je i propusnost memorije. Tisuće paralelnih radnika nisu produktivne kada im podaci stižu kroz poštanski sandučić.

Treba li svakom zadatku umjetne inteligencije GPU?

Ne. Mali modeli mogu raditi na CPU-ovima. Telefoni i novija računala sve češće uključuju NPU-ove namijenjene učinkovitom izvršavanju podržanih neuronskih operacija. Veliki operateri također izrađuju namjenske akceleratore, poput Googleovih Tensor Processing Units.

GPU ostaje važan jer objedinjuje visoke paralelne performanse, programibilnost, lokalnu memoriju i zrele alate. Ta kombinacija odgovara mnogim zadacima, ali ne znači da je GPU pravi odgovor na svaki zadatak koji u sebi sadrži slova A i I.

Gaming GPU može pokretati umjetnu inteligenciju - kada se softver složi

Prikladne gaming kartice mogu lokalno obrađivati generiranje slika, transkripciju, povećavanje rezolucije i manje jezične modele. Provjerite točnu aplikaciju umjesto općenite tvrdnje „spremno za umjetnu inteligenciju”:

  • Jesu li GPU i operacijski sustav podržani?
  • Koliko VRAM-a trebaju odabrani model i paket?
  • Koji su numerički formati i putovi ubrzanja dostupni?
  • Mogu li napajanje, kućište i hlađenje podržati karticu?
  • Isplati li se očekivana brzina doista kupnje hardvera?

Praktičan primjer: transkripcija intervjua

Recimo da želite pretvoriti snimke u tekst bez njihova slanja. Birate aplikaciju za transkripciju, veličinu modela, prihvatljivu točnost i vrijeme obrade - ne samo „AI grafičku karticu”. Whisperovo spremište navodi približne zahtjeve za memorijom za svoje veličine modela, što je početna točka za tu implementaciju, a ne univerzalno obećanje za svaku aplikaciju izgrađenu oko nje.

Veći model može zahtijevati više memorije. Manji model možda će već završiti dovoljno točno. Ako CPU obradi povremenu snimku prije nego što vam zatreba, novi GPU riješio bi problem raspoređivanja koji ne postoji.

Korisna povijesna slučajnost

Rani grafički hardver nije bio dizajniran imajući na umu moderne jezične modele. Postao je koristan jer je arhitektura izgrađena za crtanje piksela odgovarala i velikom dijelu paralelne matematike u pozadini neuronskih mreža. Programibilni softver otvorio je tu slučajnu prikladnost znanstvenicima i programerima; desetljeća potražnje za grafikom nastavila su poboljšavati mehanizam.

GPU-ovi nisu pokrenuli procvat umjetne inteligencije samo zato što su bili brzi. Bili su paralelni i programibilni te okruženi softverom sposobnim pretvoriti tu strukturu u koristan rad.

Pogledajte GPU-ove za umjetnu inteligenciju i strojno učenje kojima se bavi GPUsed, pročitajte što radi NPU ili usporedite kapacitet VRAM-a i njegova ograničenja. Ako je riječ o kupnji, počnite od opterećenja, a ne od najvećeg naziva modela.

More GPUsedov blog