Logo Zephyrnet

Intervista con il dirigente del software Nvidia Kari Briski

Data:

Colloquio La GPU Technology Conference di Nvidia si è conclusa la scorsa settimana, portando la notizia dei chip Blackwell dell'azienda e delle tanto pubblicizzate meraviglie dell'intelligenza artificiale, con tutto l'hardware GPU acquistato a caro prezzo che ciò implica.

Il fermento attorno all’azienda è tale che il prezzo delle sue azioni sta raggiungendo livelli record, sulla base dell’idea che molti sforzi creativi possono essere realizzati più velocemente se non meglio con l’automazione consentita dai modelli di apprendimento automatico.

Questo è ancora in fase di test sul mercato.

George Santayana una volta ha scritto: “Chi non ricorda il passato è condannato a ripeterlo”. È una frase ripetuta spesso. Tuttavia, il ricordo delle cose passate non ha realmente differenziato i modelli di intelligenza artificiale. Possono ricordare il passato ma sono comunque condannati a ripeterlo a richiesta, a volte in modo errato.

Anche così, molti credono nell’onnipotente intelligenza artificiale, in particolare quelli che vendono hardware AI o servizi cloud. Nvidia, tra gli altri, ci sta scommettendo molto. Quindi, Il registro ha fatto una breve visita alla conferenza della GPU per vedere di cosa si trattava. Certamente non si trattava delle tavolette di limone servite giovedì nella sala espositiva, molte delle quali avevano terminato la loro offerta pubblica iniziale incompiute nei contenitori dello stand espositivo.

Molto più coinvolgente è stata una conversazione Il registro avuto con Kari Briski, vicepresidente della gestione del prodotto per i kit di sviluppo software AI e HPC presso Nvidia. È a capo della gestione dei prodotti software per i modelli di base, le librerie, gli SDK dell'azienda e ora i microservizi che si occupano di formazione e inferenza, come il nuovo annunciato NIM microservizi e quelli meglio consolidati nemo quadro di distribuzione.

Il registro: In che modo le aziende utilizzeranno questi microservizi: nel cloud, on-premise?

briski: Questo è in realtà il motivo per cui abbiamo creato i NIM. È piuttosto divertente dire "i NIM". Ma abbiamo iniziato questo viaggio molto tempo fa. Lavoriamo sull'inferenza da quando ho iniziato: penso che fosse TensorRT 1.0 quando ho iniziato nel 2016.

Nel corso degli anni abbiamo ampliato il nostro stack di inferenza, imparando di più su ogni diverso tipo di carico di lavoro, a partire dalla visione artificiale e dai sistemi di raccomandazione profonda e vocale, dal riconoscimento vocale automatico e dalla sintesi vocale e ora dai modelli linguistici di grandi dimensioni. È stato uno stack davvero incentrato sugli sviluppatori. E ora che le aziende [hanno visto] OpenAI e ChatGPT, capiscono la necessità di avere questi modelli linguistici di grandi dimensioni in esecuzione accanto ai dati aziendali o nelle applicazioni aziendali.

Il fornitore medio di servizi cloud, per i propri servizi gestiti, ha centinaia di ingegneri che lavorano su tecniche di inferenza e ottimizzazione. Le imprese non possono farlo. Hanno bisogno di ottenere subito il time-to-value. Ecco perché abbiamo racchiuso tutto ciò che abbiamo imparato nel corso degli anni con TensorRT, modelli linguistici di grandi dimensioni, il nostro server di inferenza Triton, API standard e controlli di integrità. [L'idea è quella di essere] in grado di incapsulare tutto ciò in modo da poter passare da zero a un endpoint di modello linguistico di grandi dimensioni in meno di cinque minuti.

[Per quanto riguarda il data center on-premise rispetto al cloud], molti dei nostri clienti utilizzano il cloud ibrido. Hanno preferito il calcolo. Pertanto, invece di inviare i dati a un servizio gestito, possono eseguire il microservizio vicino ai propri dati e eseguirlo dove desiderano.

Il registro: Come si presenta lo stack software di Nvidia per l'intelligenza artificiale in termini di linguaggi di programmazione? È ancora in gran parte CUDA, Python, C e C++? Cerchi altrove maggiore velocità ed efficienza?

briski: esploriamo sempre ovunque utilizzino gli sviluppatori. Questa è sempre stata la nostra chiave. Quindi, da quando ho iniziato a lavorare in Nvidia, ho lavorato su librerie matematiche accelerate. Per prima cosa dovevi programmare in CUDA per ottenere il parallelismo. E poi abbiamo avuto le API C. E avevamo un'API Python. Quindi si tratta di portare la piattaforma ovunque siano gli sviluppatori. In questo momento, gli sviluppatori vogliono solo raggiungere un endpoint API davvero semplice, come con un comando curl o un comando Python o qualcosa di simile. Quindi deve essere semplicissimo, perché è lì che incontreremo gli sviluppatori oggi.

Il registro: CUDA ovviamente gioca un ruolo enorme nel rendere efficace il calcolo della GPU. Cosa sta facendo Nvidia per far avanzare CUDA?

briski: CUDA è la base di tutte le nostre GPU. È una GPU programmabile e abilitata per CUDA. Qualche anno fa lo chiamavamo CUDA-X, perché avevi questi linguaggi specifici del dominio. Quindi, se disponi di un'[applicazione] di imaging medico, sì cuCIM. Se si dispone del riconoscimento vocale automatico, alla fine è presente un decodificatore di ricerca del raggio accelerato CUDA. E quindi ci sono tutte queste cose specifiche per ogni diverso tipo di carico di lavoro che sono state accelerate da CUDA. Abbiamo creato tutte queste librerie specializzate nel corso degli anni come cuDF ed cuMLe cu-questo-e-quello. Tutte queste librerie CUDA sono il fondamento di ciò che abbiamo costruito nel corso degli anni e ora stiamo costruendo sopra questo.

Il registro: Come considera Nvidia le considerazioni sui costi in termini di modo in cui progetta il suo software e hardware? Con qualcosa come Nvidia AI Enterprise, costa $ 4,500 per GPU ogni anno, il che è considerevole.

briski: Innanzitutto, per le aziende più piccole, abbiamo sempre il Inizio programma. Lavoriamo sempre con i clienti: una prova gratuita di 90 giorni, è davvero utile per te? Ne vale davvero la pena? Quindi, per ridurre i costi quando ci si impegna, ottimizziamo costantemente il nostro software. Quindi, se acquistassi $ 4,500 per CPU all'anno per licenza e utilizzi un A100 e domani eseguirai un H100, il prezzo sarà lo stesso: il costo sarà diminuito [rispetto al throughput]. Pertanto inseriamo costantemente tali ottimizzazioni, costi totali di proprietà e prestazioni nel software.

Quando pensiamo sia alla formazione che all'inferenza, la formazione richiede un po' di più, ma abbiamo questi configuratori automatici per poter dire: “Quanti dati hai? Di quanta elaborazione hai bisogno? Quanto tempo vuoi che ci voglia?" Quindi puoi avere un ingombro di calcolo inferiore, ma potrebbe richiedere più tempo per addestrare il tuo modello... Ti piacerebbe addestrarlo in una settimana? Oppure vorresti allenarlo in un giorno? E così puoi fare quei compromessi.

Il registro: In termini di problemi attuali, c'è qualcosa di particolare che vorresti risolvere o c'è una sfida tecnica che vorresti superare?

briski: Al momento è guidato dagli eventi RAG [che è un modo per aumentare i modelli di intelligenza artificiale con dati recuperati da una fonte esterna]. Molte aziende pensano solo al classico suggerimento per generare una risposta. Ma in realtà, quello che vogliamo fare è [concatenare] tutti questi sistemi generativi con recupero potenziato tutti insieme. Perché se pensi a te stesso e a un compito che potresti voler svolgere: “Oh, devo andare a parlare con il team del database. E il team del database deve parlare con il team di Tableau. Devono crearmi una dashboard", e tutte queste cose devono accadere prima che tu possa effettivamente completare l'attività. E quindi è una specie di RAG guidato dagli eventi. Non direi che i RAG parlano con i RAG, ma essenzialmente è questo: gli agenti se ne vanno e svolgono un sacco di lavoro e poi tornano. E siamo al culmine di questo. Quindi penso che sia qualcosa che sono davvero entusiasta di vedere nel 2024.

Il registro: Nvidia sta sperimentando la propria intelligenza artificiale? Hai trovato l’intelligenza artificiale utile internamente?

briski: In realtà, siamo partiti e l'anno scorso, dal momento che il 2023 è stato l'anno dell'esplorazione, c'erano 150 team all'interno di Nvidia che ho trovato - avrebbero potuto essere di più - e stavamo cercando di dire, come stai usando i nostri strumenti, che tipo di casi d'uso e abbiamo iniziato a combinare tutti gli apprendimenti, come se fossero sbocciati mille fiori, e abbiamo combinato tutti i loro apprendimenti in migliori pratiche in un unico repository. Questo è in realtà ciò che abbiamo rilasciato come ciò che chiamiamo Esempi di intelligenza artificiale generativa su GitHub, perché volevamo semplicemente avere tutte le migliori pratiche in un unico posto.

Questo è più o meno quello che abbiamo fatto strutturalmente. Ma come esempio esplicito, penso che abbiamo scritto questo articolo davvero fantastico chiamato ChipNeMo, e in realtà è tutto incentrato sul nostro team di progettazione EDA, VLSI e su come hanno preso il modello di base e lo hanno addestrato sui nostri dati proprietari. Abbiamo i nostri linguaggi di codifica per VLSI. Quindi stavano codificando dei copiloti [modelli di generazione di codice open source] per essere in grado di generare il nostro linguaggio proprietario e per aiutare la produttività dei nuovi ingegneri in arrivo che non conoscono bene il nostro codice di scrittura del chip di progettazione VLSI.

E questo ha risuonato con ogni cliente. Quindi, se parli con SAP, hanno BOP [Backorder Processing], che è come un SQL proprietario per il loro database. E ho parlato con altri tre clienti che avevano linguaggi proprietari diversi: anche SQL ha centinaia di dialetti. Quindi essere in grado di generare codice non è un caso d'uso immediatamente risolvibile da RAG. Sì, RAG aiuta a recuperare la documentazione e alcuni frammenti di codice, ma a meno che non sia addestrato a generare i token in quella lingua, non può semplicemente creare codice.

Il registro: Quando osservi i modelli linguistici di grandi dimensioni e il modo in cui vengono concatenati insieme alle applicazioni, pensi alla latenza che potrebbe introdurre e a come gestirla? Ci sono momenti in cui semplicemente codificare un albero decisionale sembra avere più senso?

briski: Hai ragione, quando fai una domanda particolare, o un suggerimento, potrebbero esserci, anche solo per una domanda, potrebbero esserci cinque o sette modelli già avviati in modo da poter ottenere una riscrittura immediata, guardrail, retriever e riclassificazione e poi il generatore. Ecco perché il NIM è così importante, perché abbiamo ottimizzato la latenza.

Questo è anche il motivo per cui offriamo diverse versioni dei modelli di base perché potresti avere un SLM, un piccolo modello linguistico che è migliore per un particolare insieme di attività, e poi vuoi il modello più grande per una maggiore precisione alla fine. Ma poi concatenare tutto per adattarlo alla finestra di latenza è un problema che abbiamo risolto nel corso degli anni per molti servizi gestiti o iperscalabili. Hanno queste finestre di latenza e molte volte quando fai una domanda o effettui una ricerca, in realtà se ne vanno e risolvono la domanda più volte. Quindi hanno molte condizioni di gara su "qual è la mia finestra di latenza per ogni piccola parte della risposta totale?" Quindi sì, lo guardiamo sempre.

Per quanto riguarda il tuo punto sull'hardcoding, ne ho appena parlato con un cliente oggi. Siamo ben oltre l'hardcoding... Potresti usare un gestore di dialoghi e avere if-then-else. [Ma] gestire migliaia di regole è davvero, davvero impossibile. Ed è per questo che ci piacciono cose come i guardrail, perché i guardrail rappresentano una sorta di sostituto del classico gestore di dialoghi. Invece di dire: "Non parlare di baseball, non parlare di softball, non parlare di football", ed elencarli, puoi semplicemente dire: "Non parlare di sport". E poi il LLM sa cos'è uno sport. Il risparmio di tempo e la possibilità di gestire il codice in un secondo momento sono decisamente migliori. ®

spot_img

L'ultima intelligenza

spot_img