Welcome

  • Echos de la recherche #4
    Réussir un examen rend-il intelligent ? Et peut-on regarder un problème sous tous ses angles ? Tout va très vite en ce moment dans le domaine de l’intelligence artificielle. Tout va très vite, peut-être même trop vite, et nous proposons aujourd’hui déjà de nous arrêter sur une récente publication de Microsoft, parlant d’ “étincelles d’intelligence” au sein de GPT4, le célèbre modèle de langage d’OpenAI. Le lecteur de ce blog aura déjà été redirigé vers une analyse plus posée et moins sensationnaliste de ces modèles [STOCHASTIC PERROTS], mais dans un contexte où de plus en plus de grands groupes parlent de licencier pour, ouvrons des guillemets indispensables, “les remplacer par l’intelligence artificielle”, nous nous devons d’analyser ce travail et ses promesses. Nous poursuivrons avec un travail des laboratoires de Meta AI sur l’apprentissage de représentations multi-modales. Pouvons-nous, via un modèle, apprendre un espace sur lequel un même concept, sous la forme d’image, de texte, de son, sera projeté au même endroit ? C’est cette approche qui, à l’époque, avait permis le premier DALL-E, et ce type de travail est pour nous toujours très intéressant à suivre. Etincelles d’intelligence ou de marketing ? Sparks of Artificial General Intelligence: Early experiments with GPT-4, de Bubeck et al [https://www.microsoft.com/en-us/research/publication/sparks-of-artificial-general-intelligence-early-experiments-with-gpt-4/] est un travail très récent qui a fait, sans surprise, énormément de bruit. C’est un bel euphémisme que de prétendre que ce sujet est actuellement très sensible. Depuis la mise à disposition de ChatGPT, les modèles de langage ont connu un gigantesque coup de projecteur, et le débat a été lancé quand à la valeur réelle de ces nouveaux outils… Cette nouvelle publication intervient donc dans cette ambiance un peu tendue, et n’y va pas de main morte… De quoi parlons-nous ? Dans ce nouveau travail, les auteurs vont très loin en affirmant que GPT4 représente effectivement une nouvelle forme d’intelligence. Les auteurs approchent de nombreuses tâches différentes pour lesquelles ils proposent une méthodologie d’analyse intéressante pour pousser le modèle dans ses retranchements. Les tests d’application sont nombreux : génération d’image au delà d’une simple mémorisation, écriture de code source informatique, mathématiques, interactions avec le monde ou avec un individu, etc. En première lecture, les résultats sont effectivement impressionnants. Ci-dessous, l’écriture d’une démonstration mathématique fondamentale en poésie, ou génération de code vectoriel permettant de dessiner un élément : Pour reprendre un “marronnier” des modèles de langage, GPT4 pourrait ainsi demain être un développeur informatique : Le modèle serait aussi capable de générer de la musique “originale” (ces guillemets ne sont pas là pour rien, nous en reparlons très vite) : Sans trop vouloir prolonger une énumération un peu lourde (n’hésitez pas à lire la publication), GPT4 aurait aussi un niveau en mathématiques remarquable : La méthodologie proposée par les auteurs est particulièrement intéressante, car elle navigue autour du problème fondamental sur lequel nous reviendrons ensuite. Les auteurs cherchent à observer si le modèle est capable d’adapter ses réponses à de nouvelles consignes et s’il peut s’adapter à de nouveaux domaines. Plus précisément, les auteurs cherchent à observer une forme de généralisation du modèle, en essayant d’échapper à une forme de résultats issus de la mémorisation du modèle. Une forme de généralisation recherchée porte sur la multi-modularité : ce modèle n’a été entraîné que sur du texte, et donc, s’il est capable de réagir à des notions sur des images sans en avoir jamais observé, nous serions face à une généralisation réelle et impressionnante. Notons que pour les auteurs, si GPT-4 est un pas en avant, ils n’estiment pas qu’il s’agisse d’une AGI (IA générique, “true AI”), avec encore de nombreuses limitations. Ces limitations apparaissent très vite dans des problématiques liées à l’organisation, et sont l’objet d’un chapitre dédié. Pourquoi c’est intéressant Nous observons de plus en plus d’entreprises réfléchir à “remplacer des humains par l’IA”. Au-delà de l’effet d’annonce, il convient de questionner l’efficacité réelle que peut avoir un réseau de neurones sur de vrais problèmes. À ce titre, prétendre que ces modèles pourraient être « avocat » ou « développeur informatique » en se basant sur des scores obtenus dans des tests pose énormément question. Le coeur du problème est par ailleurs levé par les auteurs : En effet, pour juger de n’importe quel modèle Deep Learning depuis 2012, il est indispensable de pouvoir observer à quel point le modèle a appris “par coeur” des informations dans son ensemble d’entraînement, et donc à quel point il est capable de générer de nouvelles réponses originales face à un nouveau problème. Pour le cas des tests de code, des problèmes mathématiques ou des examens d’avocats, si le modèle a rencontré ces cas de figure un grand nombre de fois dans son ensemble d’entraînement, sa “réussite” sera fortement nuancée, et il sera condamné à échouer face à un problème réellement nouveau. Hors, et c’est ici l’immense problème relevé par la publication sur les Stochastic Parrots, nous ne connaissons pas le dataset utilisé par OpenAI pour ses entraînements. OpenAI refuse en effet de communiquer ces informations sans lesquelles nous ne pouvons pas juger de la qualité du modèle. Cette absence d’information est un préjudice énorme dans le monde de la recherche, où un travail d’un chercheur n’a de valeur que si il a été critiqué et reproduit par d’autres chercheurs. Cette opacité est une politique assumée d’OpenAI qui pose question. En effet, nous ignorons à quel point GPT4 a ce que l’on appelle un “poisoned dataset”. Attention : cette observation ne ruine pas totalement l’intérêt de GPT4. Le simple fait d’apprendre à résumer une quantité énorme d’informations pour les ré-utiliser est une prouesse remarquable, et les modèles de langage apprennent clairement des modélisations de haut niveau de l’information qui leur permettent de transférer / adapter des tâches facilement. Et quand bien même l’hypothèse du “poisoned dataset” serait valide, ce modèle resterait un outil fascinant qui condense d’une manière incomprise une somme incroyable de connaissances. Nous ne comprenons pas aujourd’hui ce qu’est fondamentalement un modèle de langage. Il est regrettable d’observer aujourd’hui un tel bruit marketing qui nous empêche d’avoir le recul nécessaire […]
  • Echos de la recherche #3
    Renforcement pour le foot ou Dark Souls 3, et nouveaux modèles génératifs Pour notre nouvelle édition de suivi de la recherche, un peu de nouveauté ne nous fera pas de mal, et nous allons avoir l’occasion de parler un peu de Deep Reinforcement Learning. Ce domaine, passionnant, devient peu à peu applicable à des problèmes réels et nous avons relevé deux projets très originaux. Le premier a déjà fait pas mal de bruit sur les réseaux sociaux, le second beaucoup moins. Nous poursuivrons ensuite notre veille sur les modèles génératifs, en nous éloignant un peu des modèles de diffusion appliqués à l’image qui ont déjà été lourdement mis en avant, pour deux approches différentes. La première est appliquée au son (sujet plus difficile que l’image), le second présage d’une nouvelle famille de modèles… Le renforcement, le foot et le boss… Le renforcement est un domaine de l’IA permettant d’entraîner un agent autonome à partir d’un système de récompenses. Ce domaine a déjà été riche en résultats (AlphaGo, World Models), mais toute nouvelle application est intéressante à étudier pour mieux comprendre comment utiliser ces approches. Ici, premier résultat, des agents robotiques autonomes miniatures ont appris à jouer au football, ce qui est un petit exploit. L’autre exemple montre comment un agent a progressivement appris à jouer à un jeu vidéo récent et assez complexe. Que se passe-t-il? Quand Deepmind sort une publication en renforcement, on se sent un peu obligé d’écouter, ne serait-ce que parce qu’ils ont déjà sorti AlphaGo ou de nombreux algorithmes comme le Rainbow. Ici, des robots apprennent à jouer au foot, et au-delà du spectacle produit, de nombreux points sont très intéressants sur le plan de la recherche. Apprends-moi le foot, je viendrai aux entraînements Dans Learning Agile Soccer Skills for a Bipedal Robot with Deep Reinforcement Learning de Haarnoja et al [https://arxiv.org/abs/2304.13653], les auteurs proposent une approche qui complète pour adresser le sujet. Parmi les points à relever : 2 robots autonomes miniatures bipèdes se font face sur un terrain de football fermé et doivent pousser une balle dans le but de l’autre. Les auteurs travaillent sur une approche classique où l’apprentissage se fait en simulation et l’application en réalité. Hors, le problème du passage de l’un à l’autre, Sim2Real, a déjà causé de nombreux traumatismes dans la recherche ou l’industrie. Avoir un agent performant en simulation est “facile”. Avoir un agent qui arrive à généraliser à des cas réels est autrement plus ardu. On pourrait objecter (à raison) qu’ici, les auteurs ont un contrôle optimal du monde réel, loin des conditions d’une usine par exemple. Néanmoins, l’application de la Domain Randomization est dans ce cas très intéressante. Autre point d’intérêt, l’usage ici (dans les premières versions) d’observations basées sur des valeurs numériques définissant exactement le comportement de l’agent adverse, et non d’une caméra présente sur le robot. Ce point nous confirme qu’aujourd’hui encore, l’usage de la vision en renforcement est source d’une complexité supplémentaire impressionnante. Notons que les auteurs ont, dans un second temps, testé un apprentissage sur l’image captée pure, pour des résultats intéressants mais beaucoup moins convaincants. Il faut insister sur ce point, car cela implique qu’il est nécessaire en application de récupérer ces valeurs absolues (position de la balle, position et mouvement de l’autre joueur), la moindre erreur de mesure entraînant une mise en échec du système. L’entraînement est aussi intéressant, car adapté au problème. Nous avons ici deux premiers entraînements différents et séparés sur deux problématiques particulières : C’est suite à ces deux entraînements que l’on entraîne la “1vs1 policy” que suivra un agent. Chaque entraînement a évidemment ses propres récompenses. L’approche graduelle isole les principales problématiques qui ne peuvent être enseignées globalement. On retrouve cette conclusion déjà connue : l’apprentissage de la locomotion est un problème non trivial. Pour résumer, au-delà de l’exploit et du spectacle, ce travail est un “must-read” pour observer comment les approches DRL ont été décomposées pour donner une solution fonctionnelle à la fin. Dark Souls 3 : quand un joueur cherche une martingale grâce l’IA Changeons d’application pour un travail beaucoup moins à la une, mais tout aussi riche d’enseignements et de retours d’expérience. Un joyeux fou furieux s’est mis en tête d’apprendre via le renforcement à jouer au jeu Dark Souls 3 et de vaincre le boss grâce à l’IA ! Dans cet article : [https://soulsgym.readthedocs.io/en/latest/?badge=latest], il a notamment étendu l’environnement OpenAIGym pour intégrer le jeu comme environnement. Il ne travaille (hélas) pas sur l’image du jeu, mais sur des données numériques représentant l’ennemi et la situation du joueur. Ce qui est passionnant ici est d’observer quelles techniques ont fonctionné pour un amateur loin des Deepmind/OpenAI. Et force est de reconnaître que son approche fonctionne, via des algorithmes plutôt simple (ici en Q Learning, Duelling Double Q Learning. Le célèbre Rainbow de Deepmind n’est même pas utilisé. En revanche, on retrouve le côté indispensable d’une parallélisation des agents qui est ici implémentée. Nous manquons cruellement de cas d’application de ce type qui permettent d’observer ce qui “fonctionne vraiment” face à un nouveau problème. La lecture du code de cette approche est donc fortement recommandée. Pourquoi c’est intéressant ? Nous avons intérêt à suivre ce type de projets, car le renforcement est un domaine de l’IA encore réservé à la recherche, et peu propagé à l’industrie. Nous manquons donc de cas d’application nous permettant de mieux adresser les sujets de nos clients. Le renforcement est probablement la prochaine “révolution” de l’IA de par sa liberté et ses performances… Modèles génératifs : Audio et (peut-être) le modèle du futur ? De quoi parlons-nous? Les modèles génératifs sont cette famille de l’intelligence artificielle où un réseau de neurones apprend à générer une donnée qui n’existait pas : image, texte, etc. Ici, les deux travaux présentés sont, d’une part, une application à la génération sonore très pertinente, et d’autre part, une nouvelle famille de modèles proposée par un acteur incontournable du domaine, OpenAI. Que se passe-t-il? Les modèles de diffusion ont, comme chacun le sait, explosé en juin dernier […]
  • Que faire quand les données manquent ?
    Appliquer les travaux d’intelligence artificielle à l’industrie, tout le monde veut le faire, mais l’immense majorité rencontre des obstacles sérieux dans cette démarche. Tout acteur du domaine a connu cette frustration à observer des résultats impressionnants issus du monde scientifique,résultats très dégradés dès lors qu’on veut les appliquer à un problème «réel». De nombreuses raisons existent, entre la jeunesse théorique du Deep Learning et les difficultés à identifier les axes de robustesse d’un modèle pour industrialisation. Mais s’il existe bien une constante dans ces obstacles, c’est le manque de donnée qui tôt ou tard met un coup d’arrêt aux projets. Nous travaillons depuis longtemps sur ces limites d’application et pouvons aujourd’hui proposer une méthodologie saine, efficace et permettant d’itérer sur une solution Deep Learning tant pour les entraînements que pour les tests de modèle. Nous proposons de vous présenter les approches basées sur la donnée synthétique, et au-delà sur une méthodologie qui permette de travailler sereinement. 1 Il n’y a jamais assez de donnée Tout amateur ayant fréquenté le sujet est au courant, nous avons besoin en IA d’une quantité démesurée de donnée. «Toujours plus» est un axiome qui devient vite fatiguant. Dans le monde académique, les très grands acteurs comme Google et son JFT Dataset ont accumulé des dizaines de millions d’images différentes pour entraîner leurs réseaux. Une telle quantité est souvent hors de portée pour un acteur industriel. Rappelons aussi qu’une donnée pour être utilisable doit être annotée par un acteur humain. Quand bien même nous pouvons accélérer fortement cette annotation (une autre de nos offres), ces annotations doivent être contrôlées avec rigueur par des experts, car elles serviront autant à entraîner (créer) nos modèles Deep Learning qu’à qualifier leur qualité de prédiction. Dans le deuxième cas, une donnée annotée trop vite conduira à un modèle qui a l’illusion d’un bon fonctionnement, jusqu’au jour fatidique de l’industrialisation où alors le modèle s’écroulera… Mais attention ! Nous ne voulons pas juste «beaucoup de donnée». Nous voulons que cette donnée soit suffisamment variée pour reproduire la distribution du problème que nous désirons adresser. La donnée doit donc reproduire suffisamment de cas de figure variés, avec un certain équilibre. Hors, quel que soit le sujet industriel, les cas où nous manquons de données sont ceux typiquement où une acquisition est plus complexe ou coûteuse : les cas rares, les cas liés au fonctionnement d’un processus industriel coûteux à interrompre, etc. La tâche semble vite impossible, et peut conduire à chercher d’autres moyens d’améliorer un modèle IA, par exemple en travaillant une nouvelle architecture Deep Learning (un nouveau Backbone en détection, par exemple), ou en fouillant les hyper-paramètres (par exemple via une approche Bayes+HyperBand, ou en Tensor V Programs). Ces axes d’amélioration sont réels, mais d’expérience, ils donnent en général des améliorations beaucoup moins intéressantes qu’une donnée plus riche et mieux contrôlée. 2 Une solution évidente : générer de la donnée Une solution, apparue depuis quelques années dans le monde scientifique et tentée avec plus ou moins de succès dans le monde industriel, est de générer de la donnée pour augmenter les datasets. Cette approche est devenue un canon en recherche, notamment depuis les travaux d’OpenAI de «domain randomization» dans lesquels les chercheurs ont entraîné un agent robotique en environnement totalement simulé pour appliquer ensuite au monde réel ( Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World, Tobin et al, https://arxiv.org/abs/1703.06907 ) Plus récemment, OpenAI et Berkeley ont utilisé ces approches pour entraîner un quadripède à apprendre à se déplacer dans un environnement ouvert (Coupling Vision and Proprioception for Navigation of Legged Robots, Fu et al, https://arxiv.org/abs/2112.02094), schéma ci-dessous. Si la robotique s’est saisie de cette approche, les problématiques de détection et localisation d’éléments, ou encore de détection d’anomalie, peuvent aussi bénéficier de ces méthodologies. On pourrait même argumenter qu’on se rapproche du paradigme du Self Supervised Learning qui, lui, vise à entraîner un modèle sur une donnée plus générale pour apprendre des représentations bas niveau, pour ensuite le spécialiser sur un sujet. Cette approche permettrait notamment de pouvoir tester plus largement un modèle, d’une part en visant dans la donnée générer des variances contrôlées et en observant les résultats du modèle, et d’autre part en maximisant la quantité de donnée réelle utilisée en test, ce qui robustifie statistiquement les métriques de résultat. Alors, suffit-il pour un problème industriel de générer de la donnée synthétique pour surmonter les problèmes? Hélas, et sans surprise, non. 3 Les approches naïves sont vouées à l’échec Nous l’avons déjà observé. Une donnée, par exemple une image photo réaliste, est générée avec ses annotations. Un modèle IA est entraîné sur cette donne de synthèse et semble donner de bon scores. Mais en application sur la donnée réelle, les résultats s’effondrent dramatiquement. Nous retrouvons le démon du Distribution Drift spécifique au Deep Learning… Un élément fort de solution vient d’un travail important réalisé en 2021 par Baradad et al (Learning to See by Looking at Noise, https://arxiv.org/abs/2106.05963). Dans cette publication, les auteurs illustrent l’intuition issue du Representation Learning sur l’apprentissage de représentations hiérarchiques de l’information. Ils illustrent que l’on peut pré-entraîner un modèle sur des images très peu liées au problème cible (ici, des images de bruit, ou des générations hors sujets), pour peu que ces images d’entraînement puissent accompagner la création au sein du réseau de neurones de représentations fondamentales utiles. L’idée fondatrice est la suivante : nous ne voulons pas une donnée synthétique qui simule le problème cible. Nous voulons une hiérarchie de données synthétiques dans laquelle on pourra noyer le problème cible, qui deviendra alors un cas particulier de notre génération. Via une méthodologie solide, nous pourrons itérer sur des améliorations concrètes du modèle. 4 Une méthodologie indispensable Comment mettons nous en œuvre un tel projet ? La méthodologie est, sans surprise, le nerf de la guerre, si nous voulons garantir une amélioration correcte du modèle à nos clients. 1.Comprendre la distribution Un dataset est fondamentalement un échantillonnage qui représente une distribution plus large, celle du problème que nous […]
  • IA & modèles de diffusion : révolution artistique, scientifique, et demain industrielle?
    L’intelligence artificielle s’est toujours distinguée par cette capacité à faire tomber soudainement des murs techniques que l’on pensait inamovibles. Point sur les nouvelles évolutions permises par l’IA. Article écrit par Eric Debeir, lead data scientist Sommaire Modèles de diffusion ? Vous avez probablement entendu parler d’une de ces récentes révolutions, avec la génération d’images bluffantes à partir de phrases descriptives. Si ce n’est pas le cas, petit rattrapage : depuis quelques mois, il est possible via de nombreux outils de créer de nouvelles images à base de réseaux de neurones… Quelques exemples : Ces exemples ont été tirés au hasard depuis l’excellent site : https://lexica.art/ De nombreux projets de recherche ont attaqué ce sujet de génération d’images : Imagen de Google , DALL.E . Mais c’est un travail plus récent qui a révolutionné l’Internet, notamment car les modèles étaient, cette fois-ci, accessibles librement sous licence Open Source : les Latent Diffusion Models. Depuis la diffusion de cet outil, un énorme débat a émergé au sein de la communauté des illustrateurs : Apparation des modèles de diffusion Au-delà de ces débats, d’un point de vue technique, nous pouvons constater l’apparition d’une nouvelle famille d’outils d’intelligence artificielle (les “modèles de diffusion”).Cette famille d’outils présente déjà des résultats prodigieux sur les apprentissages d’images. Nous vous proposons d’étudier ensemble, en restant à haut niveau, la particularité de ces outils, comment ceux-ci peuvent s’appliquer à d’autres problèmes, et les opportunités générales apportées par ces modèles. Mais force est de reconnaître que la communauté scientifique du Deep Learning s’est emparée largement de ce sujet avec une explosion des travaux de recherche. Par exemple, les équipes de recherche de NVIDIA (leader incontesté des modèles génératifs) ont récemment proposé une publication qui a été reconnue comme “outstanding paper” de l’incontournable conférence du NEURIPS 2022, publication dans laquelle ils approfondissent ces modèles et en proposent une meilleure compréhension. Au-delà des images : audio, 3d, mouvement humain… Commençons peut-être par là. Si l’application aux images a été fortement diffusée sur les réseaux sociaux, il serait très limité de s’arrêter là. Nous sommes en effet face à une nouvelle architecture qui s’applique déjà à de nombreux autres domaines, et qui demain pourrait s’appliquer à des problèmes particuliers sur une donnée métier. L’application aux images en premier s’explique facilement, et c’est d’ailleurs un phénomène courant en Deep Learning. En effet, la donnée est beaucoup plus simple à récupérer, de nombreuses applications existent, et nous sommes très tolérants aux erreurs marginales dans une image générée, beaucoup plus que nous ne le serions face à de la musique générée. Ceci dit, nous avons déjà pu observer des applications très différentes et passionnantes Les nouvelles applications “Multi-instrument Music Synthesis with Spectrogram Diffusion” est une application à la musique, où le modèle de diffusion va ainsi générer des extraits de musique avec de multiples instruments, en travaillant directement sur les spectrogrammes. Un mécanisme de conditionnement va permettre de poursuivre un morceau de musique dans la durée. Ce travail n’est pas encore bluffant sur le plan auditif, et nous ne sommes donc pas au niveau de la génération d’image ou un simple amateur pourrait facilement croire que l’oeuvre a été générée par un humain. Néanmoins, force est de constater que les choses vont vite. Le dernier travail en date de génération musicale intéressant était l’oeuvre d’OpenAI avec leur Jukebox qui déjà était très prometteur. La publication plus récente est l’oeuvre de l’équipe Magenta de Google qui s’est spécialisée dans le Deep Learning adapté à la musique, avec de nombreux travaux passionnants. Demain, ce type de travail peut s’appliquer à toute approche sur le domaine audio. En effet (nous en reparlerons par la suite), un tel modèle ne permet pas juste de générer de la donnée, mais d’approximer ses variances et de les contrôler. Modélisation et génération de mouvements humains Autre approche passionnante, “Human Motion Diffusion Models” Elle vise à modéliser et à générer des mouvements humains, notamment à des fins d’animation. Ce travail vise à pouvoir générer facilement le mouvement d’un modèle 3d représentant un individu, via une simple phrase décrivant l’action à réaliser. Ce travail est important, car en apprenant à générer un mouvement humain, il apprend implicitement à “résumer” ou “compresser” ces mouvements, et peut donc permettre de partir de mouvements détectés pour les normaliser ou les qualifier. Génération de volumes en trois dimensions Dernier exemple, la génération de volumes en trois dimensions directement depuis une phrase de génération. Plusieurs travaux existent déjà, nous recommandons le travail de Google Research et Berkeley “DreamFusion: Text-to-3D using 2D Diffusion”. La génération de volumes en trois dimensions est souvent un passage obligatoire en modélisation, et ce type d’outils peut permettre d’alimenter très rapidement une architecture de traitement en nouveaux volumes avec un axe de génération très simple à utiliser. Au-delà, similairement au modèle de génération d’images, un tel modèle apprend la correspondance entre certains termes et leur expression en trois dimensions, que l’on parle du sujet, du style, de la position, etc. Les travaux futurs permettront (on l’espère) de mieux contrôler ce type de génération via une séparation plus pertinente de la génération. Et la liste s’allonge tous les jours. On a récemment vu des propositions d’approches scientifiques pour faire de la détection localisée par modèles de diffusion, ou même enrichissant des modèles de langage de type BERT avec cette méthode… Modèles génératifs : pour quels usages ? Bref rappel Les modèles génératifs sont une famille de modèles en Deep Learning (IA) spécialisés dans la génération de données. Entraînés sur un dataset composé de nombreux éléments, ces modèles apprennent à générer une donnée qui ne soit pas directement présente dans le dataset, mais qui corresponde à la distribution de la donnée telle qu’elle est représentée par ce dataset. Dit autrement, un tel modèle a pour objectif d’apprendre les règles globales propres à tous les éléments du dataset pour réussir à générer une donnée qui aurait pu se trouver dans ce dataset. On parle mathématiquement d’apprentissage d’une distribution. Évidemment, un tel modèle est très dépendant de la variance des données présentes dans ce dataset. Ces modèles relevaient de la science-fiction jusqu’à […]
  • 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.