Getty Images/Science Photo Libra
NeMo Guardrails : Nvidia libère un outil pour imposer des garde-fous aux IA génératives
Nvidia a présenté mardi Nvidia NeMo Guardrails, une boîte à outils open source visant à permettre aux entreprises de contrôler les grands modèles de langage et les systèmes propulsés par des IA génératives.
Distribué commercialement dans la plateforme Nvidia AI Enterprise, NeMo est un framework open source et cloud natif que les entreprises peuvent utiliser pour construire, personnaliser et déployer des modèles d’IA générative.
NeMo Guardrails est une boîte à outils open source (sous licence Apache 2.0), qui s’interpose entre l’utilisateur et une application propulsée par un grand modèle de langage (Large Language Model ou LLM). Il permet aux entreprises de développer des systèmes conversationnels LLM sûrs et fiables, selon Nvidia. Guardrails fonctionne avec tous les modèles et applications d’IA générative, y compris ChatGPT d’OpenAI, le fameux partenaire de Microsoft.
La boîte à outils peut facilement être intégrée à d’autres collections d’outils telles que LangChain ou la plateforme d’intégration SaaS Zapier. LangChain est un framework disponible sur GitHub. Il permet de développer et de déployer des applications s’appuyant sur les grands modèles de langage. La suite contient plusieurs templates prêts à l’emploi pour mettre sur pied rapidement un agent conversationnel, un ersatz de ChatGPT, voire une interface pour interroger directement en langage naturel le contenu d’une base de données relationnelle. Des instances sont même accessibles depuis HuggingFace, il suffit d’entrer sa clé API OpenAI pour les essayer.
Justement LangChain est un des composants de NeMo Guardrails. C’est l’interface entre ce service de filtrage des demandes des utilisateurs et les réponses renvoyées par le modèle.
Pour les responsables de la confidentialité et de l’éthique, Guardrails s’appuie sur CoLang, un langage de modélisation. CoLang fournit une interface lisible et extensible permettant aux utilisateurs de soumettre le comportement de leurs bots ou leurs applications en langage naturel à des règles.
Essentiellement, Guardrails permet de définir des flux d’interaction autorisés et non autorisés, ainsi que la manière dont un agent conversationnel engagera une discussion.
Nvidia a déjà documenté la manière de construire ces règles dans trois domaines : le sujet d’une conversation, la sûreté de l’interaction et la sécurité.
Par exemple, si une entreprise utilise un modèle de langage pour propulser une FAQ, elle peut déterminer la manière dont la base de connaissances sera interrogée, s’assurer que les demandes ne dérivent pas du sujet principal de l’application, et que le ton des réponses est cohérent avec la politique de communication de l’entreprise.
Avec la bonne règle, il est possible d’éloigner les problèmes éthiques, mais également d’empêcher l’accès à des informations confidentielles, les hallucinations et de vérifier des faits par rapport à une base de connaissances. Nvidia a par ailleurs imaginé plusieurs mécanismes de sécurité pour empêcher les tentatives de prise de contrôle ou d’intrusion.
Comment fonctionne Guardrails ?
Sous le capot, le runtime de Guardrails s’appuie sur une architecture orientée événements déployée dans un mode asynchrone.
Les interactions avec une application sont considérées comme des événements (user_intent ou bot_intent) qui sont utilisés pour déclencher les flux décrits plus haut. Un flux standard consiste à définir si l’agent fournit la réponse attendue lors d’une première interaction ou s’il laisse le modèle sous-jacent générer un texte.
Dans un fichier Colang, en réponse à la demande d’un utilisateur, les développeurs définissent une action de type « execute generate_user_intent » qui déclenche une recherche de vecteurs, selon la méthode K des plus proches voisins sur deux bases de données à l’aide d’un algorithme de classification. La première base appelée « messages » contient des exemples vectorisés de demandes qu’un utilisateur pourrait effectuer et la ou les réponses appropriées de l’application. La deuxième, « flows », représente une liste d’actions en réponse à cette demande. Pour cela, Nivida s’appuie sur deux instances de la librairie AnnoyIndex qui indexe et stocke en mémoire les vecteurs associés.
Si une demande correspond à une réponse type, le système charge le flux et l’exécute. Dans les grandes lignes, deux possibilités se présentent alors :
- La demande est légitime et la requête appropriée est envoyée au modèle sous-jacent, puis la réponse est retournée à l’utilisateur.
- La demande est illégitime et Guardrails déclenche le flux pour la décliner. Elle peut même ne pas être envoyée au modèle sous-jacent : un message du type « je suis désolé, je ne peux répondre à cette demande » est renvoyé à l’utilisateur.
Diminuer l’anxiété
Selon Karl Freund, fondateur et analyste de Cambrian AI, les garde-fous contribueront à réduire certaines inquiétudes concernant les chatbots d’IA.
« Cela diminuera le niveau d’anxiété, aidera à donner aux entreprises les outils qu’elles peuvent personnaliser pour répondre à leurs besoins opérationnels, fournira la sécurité et l’orientation thématique et réduira les risques d’hallucinations des grands modèles de langage », anticipe-t-il.
L’on dit qu’un modèle hallucine lorsqu’il fait des liens entre des mots et des idées qui, une fois combinés, n’ont pas de sens, ou lorsque celui-ci invente des faits, des sources d’information ou des références, comme des livres et des articles universitaires.
En outre, NeMo Guardrails doit être un moyen pour Nvidia de faciliter l’utilisation de l’IA générative par les entreprises, car la technologie s’attaque à la question de la confiance, selon Karl Freund.
De nombreuses entreprises ne font pas confiance aux applications telles que ChatGPT et ne sont donc pas disposées à déployer leurs propres systèmes d’IA générative.
Karl Freundfondateur et analyste, Cambrian AI
« Cela va faire baisser la température et donner aux gens la confiance dont ils ont besoin pour contrôler ce monstre que nous avons créé, qu’est GPT-4 », remarque Karl Freund, faisant référence à la dernière mise à jour en date de la collection de modèles de génération de texte orchestrée par OpenAI.
Bien que l’utilisation d’un algorithme de machine learning supervisé, comme KNN, pour équilibrer ou contrôler d’autres modèles de langage puisse sembler étrange, la pratique est inévitable, affirme Dan Miller, analyste chez Opus Research.
Le nouveau système de garde-fous de Nvidia reflète les préoccupations relatives à l’équilibre entre les humains et l’IA, d’après lui.
« Nous, les humains, ne voulons pas être totalement remplacés », souligne-t-il. « Mais si nous le pouvons, nous devons reconnaître qu’une partie de notre responsabilité est d’établir ces garde-fous ou de mettre des limites aux réponses générées par l’IA. L’utilisation du machine learning peut nous permettre d’être plus efficaces dans ce domaine ».
Karl Freund considère lui aussi que l’utilisation de l’IA est nécessaire pour limiter les errances des modèles. Ce ne sont pas des règles que l’on peut écrire en dur, dit-il en substance.
Une autorégulation, en attendant une réglementation générale
En outre, si NeMo Guardrails n’est pas une réponse parfaite aux problèmes éthiques posés par les LLM, il s’agit d’un exemple d’autorégulation du secteur à un moment où les efforts de réglementation au niveau fédéral, gouvernemental et mondial émergent, selon Dan Newman, analyste chez Futurum Research.
Dan NewmanAnalyste Futurum Research
« Bien que nous souhaitons une réglementation à l’échelle mondiale, le secteur devra s’autoréguler pendant un certain temps », considère-t-il. Cet état de fait n’est peut-être pas optimal, mais – en attendant – « les fournisseurs comme Nvidia, Microsoft et Google sont ceux qui mèneront ces campagnes d’autorégulation ».
Et ils ont tout intérêt à le faire. L’anecdotique pétition demandant une pause concernant le développement d’IA « plus puissante que GPT-4 » est bien moins difficile à enjamber qu’une réglementation européenne (l’AI Act, par exemple) en cours d’élaboration, ou une décision d’une autorité de couper l’accès à un service, comme en Italie. Hier encore, OpenAI a annoncé la possibilité de désactiver l’historique de discussions dans ChatGPT.
« Lorsque l’historique des conversations est désactivé, nous conservons les nouvelles conversations pendant 30 jours et ne les consultons qu’en cas d’abus, avant de les supprimer définitivement », écrivent les porte-parole d’OpenAI.
L’entreprise prépare également la disponibilité dans « les prochains mois » de ChatGPT Business, une offre d’abonnement pour « les professionnels qui ont besoin de mieux contrôler leurs données ainsi que les entreprises qui cherchent à gérer leurs utilisateurs finaux ». Par défaut, les données et les demandes des usagers ne seront pas exploitées pour entraîner les modèles d’OpenAI.
« Il est temps d’essayer de créer des garde-fous qui nous permettent au moins de continuer à innover, car on ne peut pas remettre le génie dans la lampe, tout en essayant d’empêcher les efforts malveillants de ceux qui vont tenter de tirer le meilleur parti de l’innovation », note justement Dan Newman.
De son côté, NeMo Guardrails est dès à présent disponible depuis GitHub.