Vodnik GPUsed

Zakaj so grafični procesorji postali gonilo sodobne umetne inteligence

Dejstva in operativno natančnost je preveril .

Strojna oprema, ki zdaj piše stavke in prepoznava tumorje, je del svoje kariere dolžna starejšemu problemu: izrisati ogromno število slikovnih pik, preden igralec opazi, da je prizor prispel z zamudo.

Grafični procesorji (GPU-ji) so postali osrednji del sodobne umetne inteligence, ker nevronske mreže vsebujejo ogromno matematičnega dela, ki ga je mogoče razdeliti in izvajati vzporedno. Grafika je zahtevala enako splošno sposobnost. Programska oprema je nato specializirani slikovni procesor spremenila v programirljiv mehanizem za matrike, modele in podatke.

Najprej so prišle slikovne pike

Sodobna igra vedno znova obdeluje geometrijo, teksture, osvetlitev, barve in sence prek milijonov slikovnih pik. Velik del tega dela je mogoče razdeliti na številne podobne izračune. Namesto da bi en izjemno zmogljiv delavec slikal zaslon od leve proti desni, grafična strojna oprema organizira ogromno delavnico in hkrati zaposli številne manjše delavce.

Procesor (CPU) je zasnovan drugače. Njegovo manjše število zmogljivih in prilagodljivih jeder obravnava delo operacijskega sistema, logiko aplikacij, odločitve z vejami ter naloge, pri katerih je naslednji korak odvisen od rezultata prejšnjega. Nobena arhitektura ni univerzalno boljša. Tako sodna dvorana kot tovarna piškotov zaposlujeta ljudi; to ne pomeni, da imata koristi od enakega kadrovskega načrta.

Nato so slikovne pike postale tenzorji

Nevronske mreže večkrat združujejo velike matrike števil, izvajajo operacije in rezultate posredujejo skozi številne plasti. Učenje prilagaja model; sklepanje ga uporablja. Osnovno delo je lahko izjemno zapleteno, vendar je velik del zahtevnega računanja še vedno mogoče razdeliti med vzporedni procesor.

Procesor CPU lahko izvaja te izračune. Prednost grafičnega procesorja se pokaže, ko je v nalogi dovolj primernega dela, da so njegovi vzporedni viri ves čas zasedeni. To je povezava:

  • grafika vključuje sorodne izračune, razporejene med slikovne pike, geometrijo in vzorce;
  • umetna inteligenca vključuje sorodne izračune, razporejene med uteži modela, aktivacije in podatke;
  • grafični procesor je izdelan za prenos velike vzporedne delovne obremenitve skozi sistem.

Karierna sprememba se je zgodila v štirih dejanjih

  1. Fiksna grafična strojna oprema: zgodnji grafični procesorji so pospeševali specializirano delo, potrebno za izris slik in 3D-prizorov.
  2. Programirljivi senčilniki in splošno računanje: strojna oprema je postala dovolj prilagodljiva, da so razvijalci lahko izrazili širše vzporedne probleme.
  3. Praktične programske platforme: sistemi, kot sta CUDA in ROCm, so ponudili programske modele, prevajalnike, knjižnice in orodja.
  4. Globoko učenje v velikem obsegu: raziskave, vključno z AlexNetom iz leta 2012, so pokazale, kako lahko računalništvo na grafičnem procesorju omogoči praktično učenje velike mreže za prepoznavanje slik.

Začaran krog se je nato še okrepil. Več raziskovalcev je uporabljalo računalništvo na grafičnih procesorjih; programska oprema se je izboljšala; oblikovalci čipov so dodali funkcije za operacije strojnega učenja; večje delovne obremenitve so postale praktične; povpraševanje je financiralo novo generacijo strojne opreme.

Programska oprema je razlog, da je hiter čip postal uporaben

Surovo vzporedno računanje ni uporaben ekosistem. Razvijalci potrebujejo prevajalnike, izvajalna okolja, profilirnike in pospešene knjižnice; raziskovalci potrebujejo ogrodja, ki omogočajo izražanje modela brez ročnega pisanja vsake nizkonivojske operacije.

Programski vodnik CUDA podjetja NVIDIA opisuje njegov programski model in izvajalno platformo. Dokumentacija ROCm podjetja AMD obravnava ustrezni odprti programski sklad za podprto strojno opremo AMD. Podpora ogrodij je razlog, da imata lahko dva teoretično zmogljiva grafična procesorja za isto aplikacijo zelo različno praktično vrednost.

Pomnilnik VRAM je prostor, kjer delo poteka

Model in njegovi začasni delovni podatki se morajo prilegati razpoložljivemu pomnilniku. Odvisno od naloge to vključuje uteži, pozive, slike, pakete in vmesne rezultate. Grafični procesor je lahko teoretično dovolj hiter, vendar delovne obremenitve vseeno ne more izvajati, ker zanjo ni prostora.

To ustvarja posebnost pri rabljeni strojni opremi: starejša profesionalna kartica z več pomnilnika lahko ostane uporabna za model, ki se ne prilega novejši in hitrejši igralni kartici. Velja tudi obratno. Če predvidena programska oprema uporablja malo pomnilnika in izkorišča novejše računske funkcije, je nakup zmogljivosti, ki se je nikoli ne dotakne, drag način občudovanja specifikacij.

Pomembna je tudi pasovna širina pomnilnika. Na tisoče vzporednih delavcev ni produktivnih, ko podatki do njih prihajajo skozi poštni nabiralnik.

Ali vsaka naloga umetne inteligence potrebuje grafični procesor?

Ne. Majhni modeli lahko delujejo na procesorjih CPU. Telefoni in novejši računalniki vse pogosteje vključujejo nevronske procesorje (NPU), zasnovane za učinkovito izvajanje podprtih nevronskih operacij. Veliki ponudniki prav tako izdelujejo namenske pospeševalnike, kot so Googlovi tenzorski procesorji.

Grafični procesor ostaja pomemben, ker združuje visoko vzporedno zmogljivost, programirljivost, lokalni pomnilnik in zrela orodja. Ta kombinacija je primerna za številne naloge, vendar zaradi tega ni prava rešitev za vsako nalogo, ki vsebuje črki A in I.

Igralni grafični procesor lahko izvaja umetno inteligenco - če se programska oprema strinja

Primerne igralne kartice lahko lokalno obdelujejo ustvarjanje slik, prepisovanje, izboljšavo ločljivosti in manjše jezikovne modele. Preverite točno določeno aplikacijo, ne splošne trditve, da je izdelek »pripravljen na umetno inteligenco«:

  • Ali sta grafični procesor in operacijski sistem podprta?
  • Koliko pomnilnika VRAM potrebujejo izbrani model in paket?
  • Kateri številski formati in poti pospeševanja so na voljo?
  • Ali lahko napajalnik, ohišje in hlajenje podpirajo kartico?
  • Ali je pričakovana hitrost dejansko vredna nakupa strojne opreme?

Praktičen primer: prepis intervjuja

Recimo, da želite posnetke pretvoriti v besedilo, ne da bi jih naložili v splet. Izbirate aplikacijo za prepisovanje, velikost modela, sprejemljivo natančnost in čas obdelave - ne zgolj »grafične kartice za umetno inteligenco«. Repozitorij Whisper navaja približne zahteve glede pomnilnika za svoje velikosti modelov, kar je izhodišče za to izvedbo, ne pa univerzalno zagotovilo za vsako aplikacijo, zgrajeno okoli nje.

Večji model morda potrebuje več pomnilnika. Manjši model je morda že dovolj natančen. Če procesor CPU občasni posnetek obdela, še preden ga potrebujete, bi novi grafični procesor rešil težavo razporejanja, ki ne obstaja.

Koristna zgodovinska naključnost

Zgodnja grafična strojna oprema ni bila zasnovana z mislijo na sodobne jezikovne modele. Postala je uporabna, ker je arhitektura, izdelana za izris slikovnih pik, ustrezala tudi velikemu delu vzporedne matematike v ozadju nevronskih mrež. Programirljiva programska oprema je to naključno primernost odprla znanstvenikom in razvijalcem; desetletja povpraševanja po grafiki so še naprej izboljševala mehanizme.

Grafični procesorji niso poganjali razmaha umetne inteligence zgolj zato, ker so bili hitri. Bili so vzporedni, programirljivi in obdani s programsko opremo, ki je to strukturo lahko pretvorila v uporabno delo.

Oglejte si grafične procesorje za umetno inteligenco in strojno učenje, s katerimi posluje GPUsed, preberite kaj počne NPU ali primerjajte zmogljivost pomnilnika VRAM in njene omejitve. Če gre za nakup, začnite pri delovni obremenitvi, ne pri največjem imenu modela.

More Blog GPUsed