Entretien avec Kari Briski, responsable du logiciel Nvidia

Entretien avec Kari Briski, responsable du logiciel Nvidia

Entretien avec Kari Briski, responsable du logiciel Nvidia, PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Interview La conférence sur la technologie GPU de Nvidia s'est terminée la semaine dernière, faisant connaître les puces Blackwell de la société et les merveilles très médiatisées de l'IA, avec tout le matériel GPU chèrement acheté que cela implique.

Le buzz autour de l'entreprise est tel que le cours de ses actions flirte avec des niveaux records, basé sur l'idée que de nombreux efforts créatifs peuvent être réalisés plus rapidement, voire mieux, grâce à l'automatisation permise par les modèles d'apprentissage automatique.

Cela est encore en cours de test sur le marché.

George Santayana une fois écrit: "Ceux qui ne peuvent pas se souvenir du passé sont condamnés à le répéter." C'est une phrase souvent répétée. Pourtant, le souvenir du passé n’a pas vraiment distingué les modèles d’IA. Ils peuvent se souvenir du passé, mais ils sont néanmoins condamnés à le répéter à la demande, parfois de manière incorrecte.

Malgré cela, nombreux sont ceux qui ne jurent que par l’IA toute-puissante, en particulier ceux qui vendent du matériel d’IA ou des services cloud. Nvidia, entre autres, mise gros là-dessus. Si Le registre a fait une brève visite à la conférence du GPU pour voir de quoi il s'agissait. Il ne s'agissait certainement pas des barres au citron servies jeudi dans le hall d'exposition, dont beaucoup ont terminé leur introduction en bourse inachevées dans les bacs du salon.

Une conversation était bien plus engageante Le registre a eu avec Kari Briski, vice-président de la gestion des produits pour les kits de développement de logiciels IA et HPC chez Nvidia. Elle dirige la gestion des produits logiciels pour les modèles de base, les bibliothèques, les SDK et maintenant les microservices qui traitent de la formation et de l'inférence, comme le projet récemment annoncé. NIM microservices et les mieux établis Némo cadre de déploiement.

Le registre: Comment les entreprises vont-elles consommer ces microservices – dans le cloud, sur site ?

rapide: C'est en fait la beauté de la raison pour laquelle nous avons construit les NIM. C'est assez drôle de dire « les NIM ». Mais nous avons commencé ce voyage il y a longtemps. Nous travaillons sur l'inférence depuis mes débuts – je pense que c'était TensorRT 1.0 lorsque j'ai commencé 2016.

Au fil des années, nous avons développé notre pile d'inférence, en apprenant davantage sur tous les types de charges de travail, en commençant par la vision par ordinateur et les systèmes de recommandation approfondie et la parole, la reconnaissance vocale automatique et la synthèse vocale et maintenant les grands modèles de langage. Il s'agit d'une pile vraiment axée sur les développeurs. Et maintenant que les entreprises [ont vu] OpenAI et ChatGPT, elles comprennent la nécessité de faire fonctionner ces grands modèles de langage à côté de leurs données d'entreprise ou dans leurs applications d'entreprise.

Le fournisseur de services cloud moyen, pour ses services gérés, a des centaines d'ingénieurs qui travaillent sur les techniques d'inférence et d'optimisation. Les entreprises ne peuvent pas faire ça. Ils doivent obtenir le délai de rentabilisation immédiatement. C'est pourquoi nous avons résumé tout ce que nous avons appris au fil des années avec TensorRT, de grands modèles de langage, notre serveur d'inférence Triton, une API standard et des vérifications de l'état. [L'idée est d'être] capable d'encapsuler tout cela afin que vous puissiez passer de zéro à un grand point de terminaison de modèle de langage en moins de cinq minutes.

[En ce qui concerne les centres de données sur site et dans le cloud], beaucoup de nos clients utilisent le cloud hybride. Ils ont préféré le calcul. Ainsi, au lieu d’envoyer les données vers un service géré, ils peuvent exécuter le microservice à proximité de leurs données et l’exécuter où ils le souhaitent.

Le registre: À quoi ressemble la pile logicielle de Nvidia pour l'IA en termes de langages de programmation ? Est-ce encore largement CUDA, Python, C et C++ ? Vous recherchez ailleurs plus de rapidité et d’efficacité ?

rapide: Nous explorons toujours les endroits où les développeurs l'utilisent. Cela a toujours été notre clé. Ainsi, depuis mes débuts chez Nvidia, j'ai travaillé sur des bibliothèques mathématiques accélérées. Tout d’abord, il fallait programmer en CUDA pour obtenir le parallélisme. Et puis nous avons eu les API C. Et nous avions une API Python. Il s’agit donc d’emmener la plateforme là où se trouvent les développeurs. À l'heure actuelle, les développeurs veulent simplement atteindre un point de terminaison d'API très simple, comme avec une commande curl ou une commande Python ou quelque chose de similaire. Cela doit donc être très simple, car c'est un peu là que nous rencontrons les développeurs aujourd'hui.

Le registre: CUDA joue évidemment un rôle énorme pour rendre le calcul GPU efficace. Que fait Nvidia pour faire progresser CUDA ?

rapide: CUDA est la base de tous nos GPU. Il s'agit d'un GPU programmable et compatible CUDA. Il y a quelques années, nous l'appelions CUDA-X, car il existait des langages spécifiques à un domaine. Donc si vous avez une [application] d’imagerie médicale, vous avez cuCIM. Si vous disposez d'une reconnaissance vocale automatique, vous disposez d'un décodeur de recherche de faisceau accéléré CUDA à la fin. Il y a donc toutes ces choses spécifiques pour chaque type de charge de travail qui ont été accélérées par CUDA. Nous avons construit toutes ces bibliothèques spécialisées au fil des années comme CUDF ainsi que les cUML, et cu-ci-et-cela. Toutes ces bibliothèques CUDA constituent la base de ce que nous avons construit au fil des ans et maintenant nous construisons en quelque sorte par-dessus cela.

Le registre: Comment Nvidia prend-il en compte les considérations de coûts dans la manière dont elle conçoit ses logiciels et son matériel ? Avec quelque chose comme Nvidia AI Enterprise, cela coûte 4,500 XNUMX $ par GPU chaque année, ce qui est considérable.

rapide: Premièrement, pour les petites entreprises, nous avons toujours la possibilité Début programme. Nous travaillons toujours avec nos clients – un essai gratuit de 90 jours, est-ce vraiment utile pour vous ? ça en vaut vraiment la peine? Ensuite, pour réduire vos coûts lorsque vous y souscrivez, nous optimisons toujours notre logiciel. Donc, si vous achetiez 4,500 100 $ par GPU, par an et par licence, et que vous utilisiez un A100, et que vous utilisiez un HXNUMX demain, c'est le même prix : votre coût a diminué [par rapport à votre débit]. Nous intégrons donc toujours ces optimisations, ce coût total de possession et ces performances dans le logiciel.

Lorsque nous pensons à la fois à la formation et à l'inférence, la formation prend un peu plus de temps, mais nous disposons de ces configurateurs automatiques pour pouvoir dire : « De quelle quantité de données disposez-vous ? De quelle quantité de calcul avez-vous besoin ? Combien de temps veux-tu que cela prenne ? Vous pouvez donc avoir une empreinte de calcul plus petite, mais l'entraînement de votre modèle peut prendre plus de temps… Souhaitez-vous l'entraîner en une semaine ? Ou souhaitez-vous l'entraîner en une journée ? Et ainsi vous pouvez faire ces compromis.

Le registre: En termes de problèmes actuels, y a-t-il quelque chose de particulier que vous aimeriez résoudre ou y a-t-il un défi technique que vous aimeriez surmonter ?

rapide : Pour l'instant, c'est piloté par les événements RAG [ce qui est un moyen d'augmenter les modèles d'IA avec des données extraites d'une source externe]. De nombreuses entreprises pensent simplement à l’invite classique pour générer une réponse. Mais en réalité, ce que nous voulons faire, c'est [chaîner] tous ces systèmes génératifs augmentés par la récupération. Parce que si vous pensez à vous et à une tâche que vous voudriez peut-être accomplir : « Oh, je dois aller parler à l'équipe de la base de données. Et cette équipe de base de données doit aller parler à l'équipe Tableau. Ils doivent me créer un tableau de bord », et toutes ces choses doivent se produire avant que vous puissiez réellement terminer la tâche. Et c'est donc une sorte de RAG événementiel. Je ne dirais pas que les RAG parlent aux RAG, mais c'est essentiellement cela : des agents partent et effectuent beaucoup de travail et reviennent. Et nous sommes sur le point de le faire. Je pense donc que c’est le genre de quelque chose que j’ai vraiment hâte de voir en 2024.

Le registre: Nvidia dogfooding sa propre IA ? Avez-vous trouvé l’IA utile en interne ?

rapide: En fait, nous sommes partis et l'année dernière, puisque 2023 était l'année de l'exploration, j'ai trouvé 150 équipes au sein de Nvidia – il aurait pu y en avoir plus – et nous essayions de dire, comment utilisez-vous nos outils, de quel type de cas d'utilisation et nous avons commencé à combiner tous les apprentissages, en quelque sorte à partir d'un millier de fleurs épanouies, et nous avons en quelque sorte combiné tous leurs apprentissages en meilleures pratiques dans un seul dépôt. C'est en fait ce que nous avons publié sous le nom de Exemples d'IA générative sur GitHub, parce que nous voulions simplement avoir toutes les meilleures pratiques au même endroit.

C'est un peu ce que nous avons fait structurellement. Mais à titre d'exemple explicite, je pense que nous avons écrit ce très bon article intitulé ChipNeMo, et il s'agit en fait de notre équipe de conception EDA, VLSI, et de la façon dont ils ont pris le modèle de base et l'ont formé sur nos données exclusives. Nous disposons de nos propres langages de codage pour VLSI. Ils codaient donc des copilotes [modèles de génération de code open source] pour pouvoir générer notre langage propriétaire et améliorer la productivité des nouveaux ingénieurs qui ne connaissaient pas très bien notre code d'écriture de puces de conception VLSI.

Et cela a trouvé un écho auprès de chaque client. Donc, si vous parlez à SAP, ils disposent d'ABAP (Advanced Business Application Programming), qui est comme un SQL propriétaire pour leur base de données. Et j'ai parlé à trois autres clients qui utilisaient des langages propriétaires différents – même SQL a des centaines de dialectes. Ainsi, être capable de générer du code n'est pas un cas d'utilisation pouvant être immédiatement résolu par RAG. Oui, RAG aide à récupérer la documentation et certains extraits de code, mais à moins qu'il ne soit formé pour générer les jetons dans ce langage, il ne peut pas simplement créer du code.

Le registre: Lorsque vous examinez les grands modèles de langage et la manière dont ils sont enchaînés avec les applications, pensez-vous à la latence que cela peut introduire et à la façon de gérer cela ? Y a-t-il des moments où le simple fait de coder en dur un arbre de décision semble avoir plus de sens ?

rapide: Vous avez raison, lorsque vous posez une question ou une invite particulière, il pourrait y avoir, même pour une seule question, il pourrait y avoir cinq ou sept modèles déjà lancés afin que vous puissiez obtenir une réécriture rapide, des garde-corps, un récupérateur et un reclassement. puis le générateur. C'est pourquoi le NIM est si important, car nous l'avons optimisé pour la latence.

C'est également la raison pour laquelle nous proposons différentes versions des modèles de base, car vous pouvez avoir un SLM, un petit modèle de langage qui convient mieux à un ensemble particulier de tâches, et vous souhaitez ensuite le modèle plus grand pour plus de précision à la fin. Mais ensuite, enchaîner tout cela pour qu'il s'adapte à votre fenêtre de latence est un problème que nous résolvons au fil des années pour de nombreux services hyperscale ou gérés. Ils ont ces fenêtres de latence et bien souvent, lorsque vous posez une question ou effectuez une recherche, ils se lancent et répondent à la question plusieurs fois. Ils ont donc beaucoup de conditions de concurrence : « quelle est ma fenêtre de latence pour chaque petite partie de la réponse totale ? » Alors oui, nous examinons toujours cela.

Concernant votre point concernant le codage en dur, je viens d'en parler à un client aujourd'hui. Nous sommes bien au-delà du codage en dur… Vous pouvez utiliser un gestionnaire de dialogue et avoir if-then-else. [Mais] gérer des milliers de règles est vraiment, vraiment impossible. Et c'est pourquoi nous aimons les choses comme les garde-corps, car les garde-corps représentent une sorte de remplacement d'un gestionnaire de dialogue classique. Au lieu de dire : « Ne parlez pas de baseball, ne parlez pas de softball, ne parlez pas de football », et de les énumérer, vous pouvez simplement dire : « Ne parlez pas de sport ». Et puis le LLM sait ce qu’est un sport. Le gain de temps et la possibilité de gérer ce code plus tard sont bien meilleurs. ®

Horodatage:

Plus de Le registre