Malgré le battage médiatique, les grands modèles d'IA de génération de texte - tels que GPT-4 d'OpenAI, LLaMA de Meta et LaMDA de Google - commettent beaucoup d'erreurs, dont certaines sont nuisibles. Ils sont formés sur des téraoctets de données pour créer des programmes capables de cracher des blocs de texte qui se lisent comme s'ils avaient été écrits par un humain. Mais ils ont aussi tendance à inventer des choses, ce que les praticiens appellent souvent "hallucination". Les premières applications de la technologie, telles que le résumé de documents ou la réponse à des questions de base, doivent minimiser les hallucinations pour être utiles.
Les créateurs de ces modèles d'IA affirment qu'ils prennent des mesures pour résoudre les problèmes, comme la mise en place de filtres et d'équipes de modérateurs humains chargés de corriger les problèmes lorsqu'ils sont signalés. Mais il n'existe pas de solution unique. Même les meilleurs modèles actuels sont sensibles aux biais, à la toxicité et aux attaques malveillantes. Dans sa quête de LLM "plus sûrs", Nvidia a publié mardi NeMo Guardrails, une boîte à outils open source visant à rendre les applications basées sur l'IA plus précises, appropriées, pertinentes et sûres. Nvidia a déclaré que son outil est le résultat de plusieurs années de recherche.
Exemple de processus d'interaction entre un utilisateur et NeMo Guardrails (Source : NVIDIA)
Selon Nvidia, NeMo Guardrails est une couche logicielle qui s'interpose entre l'utilisateur et le LLM ou d'autres outils d'IA. Il élimine les mauvais résultats avant que le modèle ne les produise et empêche le modèle de traiter les mauvaises invites. Dans une déclaration mardi, Jonathan Cohen, vice-président de la recherche appliquée chez Nvidia, a expliqué : « si vous avez un chatbot de service à la clientèle, conçu pour parler de vos produits, vous ne voulez probablement pas qu'il réponde à des questions sur nos concurrents. Vous voulez surveiller la conversation. Et si cela se produit, vous orientez la conversation vers les sujets que vous préférez ».
NeMo Guardrails comprend du code, des exemples et de la documentation pour ajouter de la sécurité aux applications d'IA qui génèrent du texte et de la parole. Nvidia affirme que la boîte à outils est conçue pour fonctionner avec la plupart des LLM, permettant ainsi aux développeurs de créer des règles en utilisant quelques lignes de code. « En fin de compte, les développeurs contrôlent ce qui est hors limites pour leur application avec NeMo Guardrails. Ils peuvent développer des garde-fous trop larges ou, à l'inverse, trop étroits pour leur cas d'utilisation », a déclaré Cohen. NeMo Guardrails permet aux développeurs de définir trois types de limites :
- les garde-fous thématiques empêchent les applications de dévier vers des domaines indésirables. Par exemple, ils empêchent les assistants du service clientèle de répondre à des questions sur la météo ;
- les garde-fous de sécurité garantissent que les applications répondent avec des informations précises et appropriées. Ils peuvent filtrer le langage indésirable et veiller à ce que les références ne soient faites qu'à des sources crédibles ;
- les garde-fous de sécurité limitent les applications à l'établissement de connexions avec des applications tierces externes réputées sûres.
Selon Nvidia, NeMo Guardrails est capable d'utiliser un LLM pour détecter les hallucinations en demandant à un autre LLM de vérifier les faits de la réponse du premier LLM. Il renvoie ensuite la mention "Je ne sais pas" si le modèle ne trouve pas de réponses correspondantes. Bien que la méthode semble pratique, plusieurs critiques ont exprimé leur scepticisme à son égard. À ce propos, Nvidia a reconnu que NeMo Guardrails n'est pas une solution universelle aux lacunes des modèles de langage. Le géant de Santa Clara, en Californie, a déclaré que sa nouvelle boîte à outils n'est pas sans défaut. En d'autres termes, NeMo Guardrails n'attrapera pas tout.
Cohen note également que NeMo Guardrails fonctionne beaucoup mieux avec les modèles qui sont suffisamment bons pour suivre les instructions, comme ChatGPT, et qui utilisent le framework populaire LangChain pour la construction d'applications basées sur l'IA. Cela exclut certaines des options open source existantes. Outre les questions sur l'efficacité de l'outil, il faut souligner que Nvidia ne publie pas nécessairement NeMo Guardrails par pure bonté d'âme. Il s'agit d'une partie du framework NeMo de l'entreprise, qui est disponible par le biais de la suite logicielle d'IA d'entreprise de Nvidia et de son service cloud entièrement géré NeMo.
Toute entreprise peut mettre en œuvre la version open source de NeMo Guardrails, mais Nvidia préférerait certainement qu'elle paie pour la version hébergée sur son cloud. Les programmeurs utiliseront le langage de programmation Colang pour écrire des règles personnalisées pour NeMo Guardrails. D'autres entreprises d'IA, dont Google et OpenAI, ont utilisé une méthode appelée apprentissage par renforcement à partir de commentaires humain pour empêcher les LLM de produire des résultats néfastes. Cela fait appel à des testeurs humains qui créent des données sur les réponses acceptables ou non, puis entraînent le modèle d'IA à l'aide de ces données.
Nvidia affirme que vous pouvez facilement ajouter des garde-fous aux chaînes LangChain existantes. Par exemple, vous pouvez intégrer une chaîne RetrievalQA pour les réponses aux questions à côté d'un garde-fou de base contre les insultes, comme illustré ci-dessous.
Configuration de Guardrails :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | define user express insult "You are stupid" # Basic guardrail against insults. define flow user express insult bot express calmly willingness to help # Here we use the QA chain for anything else. define flow user ... $answer = execute qa_chain(query=$last_user_message) bot $answer |
Code Python : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from nemoguardrails import LLMRails, RailsConfig config = RailsConfig.from_path("path/to/config") app = LLMRails(config) # ... initialize `docsearch` qa_chain = RetrievalQA.from_chain_type( llm=app.llm, chain_type="stuff", retriever=docsearch.as_retriever() ) app.register_action(qa_chain, name="qa_chain") history = [ {"role": "user", "content": "What is the current unemployment rate?"} ] result = app.generate(messages=history) print(result) |
Nvidia s'intéresse de plus en plus à l'IA, car elle domine actuellement le marché des puces nécessaires pour la formation et le déploiement des systèmes d'IA comme ChatGPT. Selon les analystes, Nvidia détient plus de 95 % du marché des puces d'IA, mais la concurrence s'intensifie. Nvidia surfe sur la vague de l'IA qui a fait d'elle la plus grosse progression du S&P 500 jusqu'à présent en 2023, l'action ayant augmenté de 85 % à partir de lundi. L'annonce souligne d'ailleurs la stratégie de Nvidia visant à maintenir son avance sur le marché des puces d'IA en développant simultanément des logiciels essentiels pour l'apprentissage automatique.
Sources : Nvidia, NeMo Guardrails
Et vous ?
Que pensez-vous de NeMo Guardrails ?
Ce logiciel sera-t-il efficace contre les hallucinations des chatbots d'IA ?
Selon vous, quels sont les limites apparentes de la boîte à outils de Nvidia ?
Voir aussi
GPT-4 est capable d'améliorer ses performances de 30 % en utilisant un processus d'autoréflexion, consistant à demander au modèle d'apprendre de ses erreurs pour pouvoir ensuite s'auto-corriger
Comment ChatGPT crée de fausses histoires de toutes pièces pour diffamer lourdement des innocents. Cela donne-t-il raison aux détracteurs des chatbots ?
« Nous nous dirigeons à grands pas vers un Internet fortement influencé par l'IA, bourré de pépins, de spams et d'escroqueries », affirme un journaliste senior du MIT Technology Review