Une nouvelle forme d'interaction homme-machine
Résumé
- Des chercheurs de l'ETH Zurich ont développé un nouveau langage de programmation appelé LMQL (Language Model Query Language).
- La combinaison des langages naturels et de programmation permet aux utilisatrices et utilisateurs d'interagir de manière plus systématique avec de grands modèles linguistiques tels que ChatGPT.
- Le nouveau langage de programmation permet aux utilisateurs et utilisatrices d'exprimer des contraintes de sécurité afin d'éviter autant que possible les résultats indésirables.
Le modèle linguistique ChatGPT est largement connu de la communauté technologique et du grand public. Grâce à un chatbot, il est possible d'interagir directement avec ces modèles de langage sans avoir besoin de compétences en programmation. Au lieu d'utiliser du code, l'utilisateur ou l'utilisatrice peut saisir des commandes et des questions en langage naturel.
Parfois, cette interaction fonctionne bien et le résultat souhaité apparaît à l'écran. Cependant, il arrive que le modèle linguistique ne comprenne pas la commande et que le résultat généré soit inattendu, voire insatisfaisant. En général, les gens réagissent en posant une autre question. ChatGPT essaiera alors de corriger ses erreurs et d'adapter sa réponse. Cette façon d'utiliser un modèle linguistique est désordonnée et aléatoire, et cela peut prendre un certain temps avant d'obtenir le résultat souhaité.
Pour résoudre ce problème, des chercheurs de l'ETH ont développé un nouveau langage de programmation et une plateforme open-source appelée LMQL (Language Model Query Language). L'utilisation de LMQL permet à un utilisateur ou une utilisatrice d'interagir avec de grands modèles de langage comme ChatGPT d'une manière plus élevée et plus contrôlée. Ce langage de programmation permet une nouvelle façon de programmer et constitue une nouvelle forme d'interaction entre l'ordinateur et l'être humain, car l'utilisatrice ou utilisateur peut parler directement à l'ordinateur et lui donner des instructions.
Le LMQL est le premier langage qui combine la puissance des langages naturels et des langages de programmation pour interagir avec ces grands modèles de langage. Pour les requêtes simples, il suffit de guider ChatGPT en utilisant le langage naturel. Cependant, pour des tâches plus complexes et spécifiques, telles que la création d'une base de données ou l'analyse de données, il est essentiel de donner des instructions précises au modèle de langage. Le formalisme des langages de programmation est donc nécessaire pour guider le modèle de langage à l'aide de constructions formelles afin de s'assurer que l'utilisateur obtient le résultat souhaité. Martin Vechev, professeur d'informatique et l'un des créateurs, précise : «Il s'agit essentiellement d'un moyen beaucoup plus concis d'obtenir ce que l'on veut. La diminution des échanges nécessaires avec le modèle linguistique réduit également les coûts d'interaction avec le modèle, qui peuvent être assez élevés. L'utilisation de LMQL augmente les chances d'obtenir le résultat souhaité. Parfois, il permet même d'obtenir un résultat que vous n'auriez jamais obtenu autrement, car vous pouvez formuler votre requête avec plus de précision.
Un avantage clé
Les ensembles de données avec lesquels les grands modèles linguistiques sont formés et sur lesquels ils se basent sont si importants que l'utilisateur ou utilisatrice ne peut pas contrôler et comprendre ce qui se passe en interne dans le modèle. C'est pourquoi ces modèles peuvent parfois produire des résultats inattendus ou controversés. Selon les chercheurs, l'un des principaux problèmes rencontrés par les utilisateurs et utilisatrices de ces grands modèles linguistiques est qu'ils ne peuvent pas comprendre pourquoi un certain résultat a été produit et comment l'éviter.
LMQL permet à son utilisateur ou utilisatrice d'exprimer des contraintes de sécurité qui peuvent aider à guider le modèle dans la bonne direction et à l'éloigner des résultats non désirés ou inattendus. «En utilisant LMQL, vous pouvez restreindre votre modèle linguistique pour qu'il suive strictement un cadre spécifique que vous avez conçu. Cela vous permet de mieux contrôler le comportement du modèle linguistique. Bien sûr, il est encore très difficile de garantir une prévention totale des mauvais comportements, mais LMQL est un pas dans cette direction», explique Luca Beurer-Kellner, l'un des chercheurs. Par exemple, LMQL permet à l'utilisatrice ou utilisateur d'exclure des mots spécifiques ou d'empêcher le modèle d'aller dans certaines directions de raisonnement.
La transparence est essentielle
De nombreuses entreprises développent leurs grands modèles linguistiques à huis clos. De ce fait, les grands modèles linguistiques ne sont plus transparents et le raisonnement qui sous-tend un résultat particulier est incompréhensible pour l'utilisateur ou utilisatrice. Selon les chercheurs, pour contrebalancer cette situation, le monde universitaire doit produire des outils open-source tels que LMQL, qui soient transparents, accessibles et adaptables pour les utilsatrices et utilisateurs. Marc Fischer, qui a également développé le nouveau langage de programmation, déclare en outre : «Je pense que pour les techniciens et techniciennes comme pour les non-techniciennens et non-techniciens, il est essentiel de disposer d'une source ouverte pour voir ce qui se passe, plutôt que de faire de LMQL une boîte noire magique. D'autant plus que la recherche sur les modèles de langage progresse à un rythme effréné. Il est donc essentiel que LMQL offre à la fois la transparence et permette un développement rapide.
Un outil utile même pour les utilisateurs moins expérimentés
LMQL est un langage déclaratif, semblable à SQL d'un point de vue syntaxique. Il s'agit donc d'un langage très accessible qui nécessite moins d'expertise pour obtenir les résultats souhaités. Le nouveau langage de programmation peut également servir d'outil innovant pour les chercheuses et chercheurs de diverses disciplines. «Si vous n'êtes pas trop investi dans le codage ou si vous n'avez pas le temps de coder parce que ce n'est pas une partie essentielle de votre travail, alors LMQL rend beaucoup plus accessible l'interaction avec de grands modèles de langage d'une manière à la fois précise et facile», explique Luca Beurer-Kellner.
En outre, il peut servir de base utile aux utilisateurs et utilisatrices avancées et à une communauté d'expertes et experts, car il est possible d'ajouter différentes constructions de programmation à la requête en langage naturel. Les programmeurs et programmeuses techniques peuvent utiliser LMQL comme un élément de base et construire leurs propres programmes pour interagir avec de grands modèles de langage.
Une vaste communauté d'intérêt et interdisciplinaire commence déjà à se former autour de ce nouveau langage de programmation. Les chercheurs déclarent que LMQL est un projet à long terme et prévoient plusieurs suivis et articles. Ils ont également été acceptés pour présenter leurs travaux en juin à l'ACM PLDI, l'une des principales conférences internationales sur la conception et la mise en œuvre de langages de programmation.
Essayez-le !
Les lecteurs et lectrices intéressées, qui souhaitent en savoir plus sur LMQL et tester elles-même et eux-mêmes le langage de programmation, peuvent accéder à une version de démonstration. Celle-ci peut être exécutée directement dans un navigateur web.