Echos de la recherche #1
ChatGPT, oui… mais… et…
Suivre la recherche académique est aujourd’hui indispensable à tout acteur voulant travailler efficacement dans le Deep Learning. Ce domaine reste en effet un domaine fortement académique, où chaque semaine apporte son lot de petites révolutions. S’il reste nécessaire de garder un certain recul face à ces avancées, nous vous proposons un suivi de la recherche récente avec ici un focus sur certains travaux récents ayant fait un léger boucan : les modèles de langage en général, et ChatGPT en particulier.
Personne n’a pu ignorer l’arrivée de la nouvelle offre ChatGPT issue de l’union entre OpenAI et Microsoft. La mise à disposition de ChatGPT3 a créé de nombreuses vagues dans la société. OpenAI a récemment publié un rapport technique sur ChatGPT4 [https://cdn.openai.com/papers/gpt-4.pdf]. Et Google s’est retrouvé dans l’obligation de suivre le mouvement en précipitant la présentation du modèle Bard [https://blog.google/technology/ai/bard-google-ai-search-updates/].
Pour nous, il est toujours vital de conserver une certaine distance avec les frénésies commerciales. Nous sommes en effet dans l’obligation de réfléchir en termes d’outils, de résultats, et donc de limites. ChatGPT est certes un accomplissement remarquable, mais force est de reconnaître que la communication qui l’accompagne semble dériver un peu en jouant sur les confusions entre ce qu’est un modèle de langage et ce que pourrait être une intelligence artificielle. Sans vouloir reproduire ce qui a déjà été de nombreuses fois écrit sur ChatGPT, remarquons que l’outil a récemment intégré une connexion avec l’outil Wolfram [https://writings.stephenwolfram.com/2023/03/chatgpt-gets-its-wolfram-superpowers/] (qui n’est pas de l’intelligence artificielle) pour déporter un certain nombre de questions précises, logiques, voire mathématiques, questions pour lesquelles ChatGPT est par nature en peine de répondre.
S’il y n’y a qu’un travail à lire pour mieux comprendre les limites de ChatGPT, Il faut absolument lire “On the danger of Stochastic Parrots” [https://dl.acm.org/doi/10.1145/3442188.3445922]. Il est assez simple d’accès et permet de recadrer ce qu’est ou n’est pas ChatGPT. Cette publication a été énormément citée et partagée dans le monde académique, où elle a été accueillie avec plaisir par de nombreux chercheurs déprimés par la présentation “commerciale” de ChatGPT, loin d’une analyse scientifique ou technique rigoureuse. Notons par ailleurs qu’OpenAI n’a pas particulièrement encouragé les tentatives de critiques sérieuses sur les anciennes versions de ChatGPT.
Stanford a récemment publié un modèle passionnant [ALPACA – https://github.com/tatsu-lab/stanford_alpaca]. L’enjeu est ici de démocratiser les modèles de langage, en abaissant considérablement le coût d’entraînement. Cette démarche est louable, ne serait-ce que parce que de nombreux problèmes interdisent de partager une donnée sensible avec OpenAI, ou encore car nous manquons de modèles moins coûteux à entraîner.
A l’opposé, on ne peut qu’être circonspect sur un travail comme le très récent JARVIS de Microsoft [https://github.com/microsoft/JARVIS]. Si la démarche est intéressante, elle éloigne encore plus toute possibilité de contrôler et maîtriser les modèles utilisés. Il y a fort à parier que ces approches ne produiront pas de nouveaux outils industriels pertinents. Dans le même esprit, le ChatDoctor [https://github.com/kent0n-li/chatdoctor] basé sur le LLAMA pose des questions assez inquiétantes. Nous savons qu’un modèle Deep Learning sera fortement sujet au moindre biais dans sa donnée d’entrée, et nous ignorons quels biais se cachent derrière ChatGPT. La question n’est donc pas de savoir si un tel modèle fonctionne, mais à quelle vitesse il fournira des réponses totalement hors sujet, voire dangereuses…
Néanmoins, tout n’est pas à jeter, et cette démocratisation des modèles de langage ouvre la porte à l’exploitation de texte comme interface de définition d’un sujet, pour le contrôle robotique ou la définition d’une tâche. Cette approche pose de très nombreuses questions de robustesse ou de qualité, mais on ne peut ignorer qu’un modèle de segmentation, par exemple, commandé par du texte classique, sera directement beaucoup plus accessible au non initiés. Cette démocratisation peut modifier la donne pour de nouvelles interfaces beaucoup plus libres. Jusqu’au moment, comique, où l’on voudra “debuguer” cette interface… D’ici là, le “prompt engineering” est devenu un domaine technique, et nous recommandons cette ressource à ceux qui voudraient creuser le sujet :
Notons aussi que certains prompts permettent de détourner un modèle de langage de son utilisation, par exemple, récemment sur ChatGPT4 :
Pour aller un peu au delà, les travaux ci-dessous peuvent être intéressants à regarder pour toute personne curieuse des dernières avancées dans ce domaine :
LLaMA: Open and Efficient Foundation Language Models
[https://github.com/facebookresearch/llama]
Que l’on aime ou qu’on déteste Facebook, force est de reconnaître que leurs équipes de recherche en Deep Learning restent à la pointe. LLama est une collection de modèles open source de tailles différentes, permettant de travailler sur ces modèles sans être cantonné à un rôle d’utilisateur mal informé derrière une API
LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attention [https://github.com/zrrskywalker/llama-adapter]
Cette approche vise un fine tuning du considérable LLaMA, permettant l’adaptation d’un modèle de langage répondant à des instructions pour un budget très faible (les auteurs annoncent “une heure” (sur 8 GPUs en parallèle), et pour un modèle particulièrement simple (1.2M de paramètres). Ces approches sont à surveiller, car elles proposent des outils beaucoup plus exploitables
Exploring the Impact of Instruction Data Scaling on Large Language Models: An Empirical Study on Real-World Use Cases
[https://arxiv.org/pdf/2303.14742v1.pdf]
Ce travail fait partie des (trop rares) études “pratiques”, appliquées à des problématiques concrètes, des énormes modèles de langage. On y observe notamment que la croissance des résultats liées à la taille du modèle n’est pas une vérité absolue, avec l’apparition de paliers éloquents sur les problèmes logiques ou mathématiques.