Logotip Zephyrnet

Intervju z vodjo programske opreme Nvidia Kari Briski

Datum:

Intervju Nvidijina tehnološka konferenca GPU se je zaključila prejšnji teden in je prinesla besedo o čipih podjetja Blackwell in o zelo opevanih čudesih umetne inteligence, z vso drago kupljeno strojno opremo GPU, ki to pomeni.

Okoli podjetja se tako šušlja, da se cena njegovih delnic spogleduje z rekordno visoko vrednostjo, kar temelji na ideji, da je veliko ustvarjalnih podvigov mogoče izvesti hitreje, če ne celo bolje, z avtomatizacijo, ki jo omogočajo modeli strojnega učenja.

To se še preizkuša na trgu.

George Santayana nekoč Napisal: "Tisti, ki se ne morejo spomniti preteklosti, so obsojeni, da jo ponavljajo." To je fraza, ki se pogosto ponavlja. Vendar spominjanje na preteklost ni zares ločilo modelov AI. Lahko se spomnijo preteklosti, vendar so še vedno obsojeni, da jo ponavljajo na zahtevo, včasih nepravilno.

Kljub temu mnogi prisegajo na vsemogočno umetno inteligenco, zlasti tisti, ki prodajajo strojno opremo ali storitve v oblaku. Nanj med drugim veliko stavi Nvidia. Tako Register je na kratko obiskal konferenco GPU, da bi videl, za kaj gre. Zagotovo ni šlo za limonine ploščice, ki so jih v četrtek postregli v razstavni dvorani, od katerih so mnoge končale svojo prvo javno ponudbo nedokončane v zabojnikih na razstavnem prostoru.

Veliko bolj privlačen je bil pogovor Register imel s Karijem Briskijem, podpredsednikom produktnega upravljanja za komplete za razvoj programske opreme AI in HPC pri Nvidii. Vodi upravljanje programskih izdelkov za temeljne modele podjetja, knjižnice, SDK-je in zdaj mikrostoritve, ki se ukvarjajo z usposabljanjem in sklepanjem, kot je na novo napovedana NIM mikrostoritve in bolje uveljavljene nemo okvir za uvajanje.

Register: Kako bodo podjetja uporabljala te mikrostoritve – v oblaku, na lokaciji?

Briški: To je pravzaprav lepota, zakaj smo zgradili NIM. Nekako smešno je reči "NIM". Toda to pot smo začeli že zdavnaj. Delamo na sklepanju, odkar sem začel – mislim, da je bil TensorRT 1.0, ko sem začel leta 2016.

Z leti smo povečevali naš sklad sklepanja, se naučili več o vseh različnih vrstah delovne obremenitve, začenši z računalniškim vidom in sistemi globokih priporočil ter govorom, samodejnim prepoznavanjem govora in sintezo govora ter zdaj velikimi jezikovnimi modeli. To je bil sklad, osredotočen na razvijalce. In zdaj, ko so podjetja [videla] OpenAI in ChatGPT, razumejo potrebo po tem, da se ti veliki jezikovni modeli izvajajo poleg njihovih poslovnih podatkov ali v njihovih poslovnih aplikacijah.

Povprečni ponudnik storitev v oblaku ima za svoje upravljane storitve na stotine inženirjev, ki delajo na sklepanju in tehnikah optimizacije. Podjetja tega ne zmorejo. Takoj morajo pridobiti čas za vrednost. Zato smo združili vse, kar smo se v preteklih letih naučili s TensorRT, velikimi jezikovnimi modeli, našim Triton Inference Server, standardnim API-jem in zdravstvenimi pregledi. [Zamisel je, da] lahko vse to enkapsulirate, tako da lahko pridete od nič do končne točke velikega jezikovnega modela v manj kot petih minutah.

[Kar zadeva lokalno podatkovno središče v primerjavi s podatkovnim središčem v oblaku], je veliko naših strank hibridni oblak. Imajo raje računanje. Tako lahko namesto pošiljanja podatkov upravljani storitvi izvajajo mikrostoritev blizu svojih podatkov in jo izvajajo kjer koli želijo.

Register: Kakšen je Nvidijin programski sklad za AI z vidika programskih jezikov? Ali je še vedno v veliki meri CUDA, Python, C in C++? Iščete večjo hitrost in učinkovitost drugje?

Briški: Vedno raziskujemo vse, kar razvijalci uporabljajo. To je bil vedno naš ključ. Torej, odkar sem začel pri Nvidii, sem delal na pospešenih matematičnih knjižnicah. Najprej ste morali programirati v CUDA, da ste dobili paralelizem. In potem smo imeli C API-je. In imeli smo Python API. Gre torej za to, da platformo ponesemo povsod, kjer so razvijalci. Trenutno razvijalci samo želijo doseči res preprosto končno točko API-ja, na primer z ukazom curl ali ukazom Python ali nečim podobnim. Zato mora biti zelo preprosto, saj se danes tam srečujemo z razvijalci.

Register: CUDA očitno igra veliko vlogo pri učinkovitem računanju GPE. Kaj dela Nvidia za napredek CUDA?

Briški: CUDA je osnova za vse naše grafične procesorje. To je grafični procesor, ki podpira CUDA in ga je mogoče programirati. Pred nekaj leti smo temu rekli CUDA-X, ker ste imeli te jezike, specifične za domeno. Torej, če imate [aplikacijo] za medicinsko slikanje, jo imate cuCIM. Če imate samodejno prepoznavanje govora, imate na koncu dekoder pospešenega iskanja snopa CUDA. In tako obstajajo vse te posebne stvari za vsako različno vrsto delovne obremenitve, ki jih je pospešil CUDA. Skozi leta smo zgradili vse te specializirane knjižnice cuDF in cuML, in cu-to-in-ono. Vse te knjižnice CUDA so temelj tega, kar smo gradili v preteklih letih in zdaj nekako gradimo na tem.

Register: Kako Nvidia gleda na stroške v smislu načina oblikovanja svoje programske in strojne opreme? Z nečim, kot je Nvidia AI Enterprise, znaša 4,500 USD na GPE vsako leto, kar je precej.

Briški: Prvič, za manjša podjetja imamo vedno Inception program. Nenehno delamo s strankami – brezplačna 90-dnevna preizkusna različica, ali je za vas res dragocena? Je res vredno? Potem, da zmanjšamo vaše stroške, ko to kupite, vedno optimiziramo našo programsko opremo. Torej, če ste kupovali 4,500 USD na CPU na leto na licenco in uporabljate A100, jutri pa boste uporabljali H100, je to ista cena – vaši stroški so se znižali [glede na vašo prepustnost]. Zato te optimizacije ter skupne stroške lastništva in zmogljivost vedno vgrajujemo nazaj v programsko opremo.

Ko razmišljamo tako o usposabljanju kot o sklepanju, usposabljanje sicer zahteva malo več, vendar imamo te samodejne konfiguratorje, da lahko rečemo: »Koliko podatkov imate? Koliko računalništva potrebujete? Kako dolgo želite, da traja?« Tako imate lahko manjši računski odtis, vendar bo morda trajalo dlje, da usposobite svoj model ... Bi ga radi usposobili v enem tednu? Ali pa bi ga radi trenirali v enem dnevu? In tako lahko sklepate te kompromise.

Register: V zvezi s trenutnimi problemi, ali obstaja kaj posebnega, kar bi radi rešili, ali obstaja tehnični izziv, ki bi ga radi premagali?

Briški: Trenutno temelji na dogodkih RAG [kar je način dopolnjevanja modelov AI s podatki, pridobljenimi iz zunanjega vira]. Veliko podjetij samo razmišlja o klasičnem pozivu za ustvarjanje odgovora. Toda v resnici želimo [verižiti] vse te generativne sisteme, razširjene s pridobivanjem, skupaj. Kajti če pomislite nase in nalogo, ki bi jo morda želeli opraviti: »Oh, pogovoriti se moram z ekipo za bazo podatkov. In ta ekipa baze podatkov se mora pogovoriti z ekipo Tableau. Narediti mi morajo nadzorno ploščo,« in vse te stvari se morajo zgoditi, preden lahko dejansko dokončate nalogo. In tako je nekakšen RAG, ki ga vodijo dogodki. Ne bi rekel, da se RAG pogovarjajo z RAG-i, ampak v bistvu gre za to – agenti odidejo in opravijo veliko dela ter se vrnejo. In mi smo na vrhu tega. Zato mislim, da je to nekaj, kar sem resnično navdušen, da bom videl leta 2024.

Register: Ali Nvidia preizkuša lastno umetno inteligenco? Se vam je zdela umetna inteligenca interno uporabna?

Briški: Pravzaprav smo šli in lani, saj je bilo leto 2023 leto raziskovanja, je bilo 150 ekip znotraj Nvidie, ki sem jih našel – lahko bi jih bilo več – in poskušali smo povedati, kako uporabljate naša orodja, kakšna primerov uporabe in začeli smo združevati vsa spoznanja, tako kot tisoč cvetočih rož, in vsa njihova učenja smo nekako združili v najboljše prakse v en repo. To je pravzaprav tisto, kar smo izdali kot tisto, kar imenujemo Primeri generativne umetne inteligence na GitHub, ker smo le želeli imeti vse najboljše prakse na enem mestu.

To je nekaj, kar smo naredili strukturno. Ampak kot ekspliciten primer, mislim, da smo napisali ta res odličen dokument z naslovom ChipNeMo, in pravzaprav gre za našo oblikovalsko skupino EDA, VLSI in kako so vzeli temeljni model in ga usposobili na naših lastniških podatkih. Imamo lastne kodirne jezike za VLSI. Tako so kodirali kopilote [modele generiranja odprtokodne kode], da bi lahko generirali naš lastniški jezik in pomagali pri produktivnosti prihajajočih novih inženirjev, ki ne poznajo popolnoma naše kode za pisanje čipov oblikovanja VLSI.

In to je odmevalo pri vsaki stranki. Če torej govorite s SAP-jem, imajo BOP [Backorder Processing], ki je kot lastniški SQL za njihovo bazo podatkov. Pogovarjal sem se s tremi drugimi strankami, ki so imele različne lastniške jezike – celo SQL ima na stotine narečij. Torej zmožnost ustvarjanja kode ni primer uporabe, ki bi ga RAG takoj rešil. Da, RAG pomaga pridobiti dokumentacijo in nekatere delčke kode, vendar če ni usposobljen za ustvarjanje žetonov v tem jeziku, ne more samo sestaviti kode.

Register: Ko gledate velike jezikovne modele in način, kako so povezani z aplikacijami, ali razmišljate o zakasnitvi, ki bi lahko nastala, in kako se s tem spopasti? Ali se včasih zdi, da bi bilo preprosto trdo kodiranje odločitvenega drevesa bolj smiselno?

Briški: Prav imate, ko postavite določeno vprašanje ali poziv, bi lahko bilo, samo za eno vprašanje, že pet ali sedem modelov, ki so že zagnani, tako da lahko dobite takojšnje prepisovanje in zaščitne ograje ter pridobivanje in ponovno razvrščanje in nato generator. Zato je NIM tako pomemben, saj smo ga optimizirali za zakasnitev.

To je tudi razlog, zakaj ponujamo različne različice temeljnih modelov, ker morda imate SLM, majhen jezikovni model, ki je na neki način boljši za določen nabor nalog, nato pa na koncu želite večji model za večjo natančnost. Toda potem je veriženje vsega, da se prilega vašemu oknu zakasnitve, težava, ki smo jo v preteklih letih reševali za številne hiperrazmerne ali upravljane storitve. Imajo ta zakasnitvena okna in velikokrat, ko postavite vprašanje ali opravite iskanje, se dejansko sprožijo in večkrat izločijo vprašanje. Tako imajo veliko tekmovalnih pogojev "kakšno je moje okno zakasnitve za vsak majhen del celotnega odziva?" Tako da, to vedno gledamo.

Glede na vašo točko glede trdega kodiranja, danes sem o tem govoril s stranko. Smo daleč onkraj trdega kodiranja ... Lahko bi uporabili upravitelja dialogov in imeli če-potem-drugače. [Toda] upravljanje tisočih pravil je res, res nemogoče. In zato imamo radi stvari, kot so zaščitne ograje, saj zaščitne ograje predstavljajo nekakšno zamenjavo klasičnemu upravljalniku dialoga. Namesto da rečete: "Ne govori o baseballu, ne govori o softballu, ne govori o nogometu," in jih naštejete, lahko samo rečete: "Ne govorite o športu." In potem LLM ve, kaj je šport. Prihranek časa in možnost poznejšega upravljanja te kode sta veliko boljša. ®

spot_img

Kavarna VC

Kavarna VC

Najnovejša inteligenca

spot_img