
Les modèles ViT et PaLM composent le modèle PaLM-E. Vidéo tirée du site Web du projet.
Regardez la vidéo !
Vous avez vu la puissance des récentes IA d’images et de texte comme ChatGPT ou Midjourney. Elles sont les plus connues parce qu’elles génèrent du contenu, mais qu’en est-il de celles qui comprennent les images et le texte ? N’est-ce pas encore plus impressionnant ? Nous en avons déjà vu plusieurs, comme les Vision Transformers, ou ViT, qui représentent l’état de l’art pour comprendre les images, ainsi que des modèles semblables comme Pathways Language Model, ou PaLM, pour comprendre le texte. Il s’agit essentiellement de grands modèles d’IA capables de voir une image ou une phrase et d’en comprendre le sens.

PaLM-E comprend les images, le texte et l’expérience du robot. Vidéo tirée du site Web du projet.
Imaginez maintenant ce qui arrive lorsque vous fusionnez les modèles de texte et d’images. Vous obtenez une IA qui comprend les images et le texte, donc presque tout. Que pouvez-vous en faire ? À première vue, pas grand-chose puisqu’elle peut seulement comprendre. Mais que se passe-t-il si vous la combinez aussi à quelque chose qui peut bouger dans le monde, comme un robot entraîné ? Vous obtenez PaLM-E !

Exemples de PaLM-E. Vidéo tirée du site Web du projet.
PaLM-E, la plus récente publication de Google, est ce que les chercheurs appellent un modèle de langage multimodal incarné. Qu’est-ce que cela signifie ? Il s’agit d’un modèle qui peut comprendre différents types de données, comme le texte et les images grâce aux modèles ViT et PaLM que nous venons de mentionner, puis transformer ces connaissances en actions d’une main robotique, comme ceci…
Dans la vidéo, ou sur leur site Web, nous avons accès à plusieurs exemples, dont un où la commande textuelle demande au robot d’apporter le sac de croustilles de riz qui se trouve dans le tiroir. À partir de cette phrase, le robot sait directement où aller et quoi faire. Il comprend son environnement avec le modèle de vision qui utilise ses caméras, ainsi que la commande avec la partie modèle de langage PaLM. Il comprend même ce qui se passe devant des changements imprévus, comme lorsqu’une personne le taquine et déplace les objets pendant qu’il travaille, ce qui nous arrive évidemment chaque fois que nous allons chercher un sac de croustilles.
C’est cool, non ?! Regardez seulement à quel point il comprend bien les situations dans lesquelles nous lui fournissons une image et du texte. Sa compréhension est affichée ici en orange… Les chercheurs ont vraiment pris les travaux les plus intéressants des trois domaines, la vision, le langage et la robotique, pour les transformer en quelque chose d’applicable et d’utile. Tout comme ChatGPT rend l’IA de langage accessible à beaucoup de personnes, cette nouvelle recherche permet de développer une aide robotique vraiment utile. Elle comprend correctement de nombreuses situations dynamiques et les transforme en instructions pratiques, étape par étape, que le robot peut suivre ou adapter.

Exemple de compréhension d’une image. Image tirée du site Web du projet.
Tout cela vient d’un seul modèle. PaLM-E repose essentiellement sur un seul grand modèle de langage, ici le modèle PaLM de Google. Celui-ci lui permet de comprendre et de générer du texte. Il ressemble donc aux modèles GPT que vous connaissez certainement. Sinon, vous devriez regarder ma vidéo sur l’un d’eux, ChatGPT, pour mieux comprendre son fonctionnement. En passant, c’est aussi la raison pour laquelle le modèle porte le nom PaLM-E : il part de l’architecture PaLM et la rend incarnée, donc lui donne « un corps ». Puisque PaLM est déjà extrêmement puissant pour comprendre le monde et interagir avec lui sous forme de texte, il nous reste seulement à lui donner la vue, puis la capacité d’agir. Comment pouvons-nous y arriver ?

Vue d’ensemble du modèle et exemples. Figure tirée de l’article scientifique sur PaLM-E.
En lui ajoutant davantage d’IA ! Pour lui donner la vue, nous ajoutons d’autres modalités. Cela signifie davantage de types de données d’entrée, comme les images ou l’état du robot ou de l’agent, dans la phrase initiale que nous envoyons. Cette information l’aidera à se déplacer et à agir dans le monde réel. L’entrée devient donc simplement un mélange d’images, de texte et d’autres données sensorielles auxquelles le robot a accès.
Il s’agit de la partie robotique de l’algorithme, celle qui lui permet de se promener et de réagir à la personne qui le taquine ici, puisqu’il a accès à de l’information en direct et met ses décisions à jour.
La partie visuelle est relativement simple. Vous prenez l’image ou le flux de la caméra et utilisez une autre IA pour transformer ces données en quelque chose que le modèle peut comprendre, ce que nous appelons des embeddings. Les chercheurs utilisent ici l’un des modèles de vision les plus puissants, ViT. C’est un modèle visuel basé sur les transformers, dont l’architecture ressemble à celle des modèles GPT, mais conçue pour les images plutôt que pour le texte. Il traduit l’image dans une nouvelle représentation identique à celle du texte. Pour le modèle, une image équivaut donc à la légende que nous aurions pu écrire pour la décrire. Nous réalisons la même opération avec l’état actuel du robot afin de lui dire ce qu’il est en train de faire et de l’aider à choisir la prochaine étape. Toutes les données sont transformées dans le même espace que le texte pour que le modèle de langage puisse tout traiter en même temps.
Avant de passer à la deuxième étape, je voulais prendre un instant pour vous parler de mon nouveau balado. J’y reçois des personnes du domaine pour discuter de sujets vraiment intéressants, comme un prochain épisode avec un spécialiste des voitures autonomes ou les épisodes déjà publiés avec un quadruple grand maître Kaggle, un scientifique des données principal chez NVIDIA et le vice-président de la recherche d’une startup générative. Ces entrevues étaient fantastiques et remplies de connaissances qui, j’en suis certain, vous plairont. J’ai personnellement adoré les réaliser et je vais certainement continuer. Tous les épisodes sont disponibles sur Apple Podcasts et Spotify, sous le même nom : What’s AI avec Louis-François Bouchard. Voilà. Revenons à notre sujet !
Il nous reste ensuite seulement à lui donner une façon d’agir, ou comme le disent les chercheurs, de contrôler l’agent. Puisque nous disposons déjà d’un puissant modèle de langage préentraîné semblable à GPT, nous pouvons simplement lui demander ce qu’il devrait faire. Selon ce qu’il voit et sa position actuelle, il devrait pouvoir formuler une réponse logique.

Vue d’ensemble du modèle et exemples. Figure tirée de l’article scientifique sur PaLM-E.
Il reste deux étapes pour obtenir un robot aussi général, capable de nous comprendre et de faire ce que nous voulons :
- Nous devons lui poser les bonnes questions pour obtenir les réponses souhaitées.
- Nous devons agir à partir de ces réponses plutôt que de simplement les énoncer sans rien faire, comme ChatGPT.
La première étape dépend entièrement de l’utilisateur. Elle est donc relativement facile si vous savez bien parler aux IA, ce que nous appelons maintenant un ingénieur de prompts. Si vous voulez en apprendre davantage, je vous invite à regarder ma vidéo qui explique ce qu’est un prompt et comment mieux parler aux IA !
La deuxième étape est plus difficile. Comment décider quoi faire ? Le modèle a accès à notre question ainsi qu’à toutes les images et observations qu’il peut recueillir. Il possède tellement d’information que prendre une décision ne représente plus un défi. Par exemple, si vous voulez qu’il accomplisse une tâche, il suffit d’ajouter à la question quelque chose comme « réponds avec la séquence d’actions nécessaires pour réaliser la tâche ». Comme vous le savez, il pourra facilement énumérer toutes les étapes requises, exactement comme ChatGPT. Maintenant, comment exécuter ces étapes ? Le robot doit déterminer le prochain mouvement selon ce qu’il a fait pendant l’entraînement dans des conditions et des tâches semblables. Tant que les étapes restent très simples et faciles à suivre, cela ne devrait poser aucun problème, et vous pouvez simplement demander au modèle de générer un grand nombre de petites tâches. Plus elles sont simples, moins le robot risque d’échouer. Il suffit donc de diviser une tâche compliquée en une série de petites étapes, puis d’effectuer les bons mouvements pour chacune d’elles, comme le font la plupart des robots ou algorithmes basés sur l’apprentissage par renforcement. C’est aussi ainsi que les IA gagnent aux échecs, un coup à la fois.
Ce qui est vraiment cool, c’est que cette architecture leur permet aussi d’entraîner le modèle sur plusieurs tâches différentes en même temps, alors qu’il fallait auparavant un algorithme unique pour chacune. Les chercheurs ont montré que l’entraînement sur davantage d’exemples améliore les capacités du robot dans toutes ses tâches, même lorsque les exemples ne sont pas liés. Comme toujours, plus de données reste la clé !

Figure tirée de l’article scientifique sur PaLM-E.
Ils ont aussi observé que plus le modèle grandit, plus il devient général, comme le montre la courbe bleue ci-dessous. Cela semble logique, puisque vous lui permettez simplement de retenir plus d’information.

Figure tirée de l’article scientifique sur PaLM-E.
Cela montre qu’augmenter la taille des modèles et la quantité de données semble toujours améliorer les résultats. Mais le plus intéressant, c’est que les données n’ont pas besoin d’être exactement du même type ni même de correspondre à la même tâche. Le modèle peut améliorer sa capacité visuelle en s’entraînant sur davantage de texte. Il s’améliore aussi dans une tâche en s’entraînant sur une autre, ce qui est tout à fait logique. Prenez une personne qui s’entraîne pour un sprint. Faire des sprints est évidemment idéal, mais parcourir de plus longues distances et réaliser des exercices de musculation améliorera aussi sa vitesse. De la même façon, se regarder ou observer d’autres sprinteurs à la télévision permet au cerveau de pratiquer le sprint sans accomplir de véritable effort physique. C’est vraiment cool de voir PaLM-E intégrer toutes ces façons humaines d’apprendre afin de construire un meilleur algorithme. C’est très intéressant et prometteur !
Bien sûr, ce n’était qu’un aperçu du modèle PaLM-E. Je vous invite à lire leur excellent article scientifique pour comprendre davantage son fonctionnement et les raisons pour lesquelles il représente une aussi grande avancée. J’espère que vous avez aimé cet article, et je vous retrouve la prochaine fois avec un autre article scientifique incroyable !
Références
- Driess et al., 2023, Google : PaLM-E, https://palm-e.github.io/assets/palm-e.pdf
- Voyez plus d’exemples : https://palm-e.github.io/#demo
- Lien vers mon nouveau balado (avec un concours pour gagner une RTX 4080 en cours maintenant !) : https://podcasters.spotify.com/pod/show/louis-bouchard
FAQ
Qu’est-ce que PaLM-E ?
PaLM-E est un modèle de langage multimodal incarné qui combine du texte, des observations visuelles et l’information provenant des capteurs d’un robot.
Comment un modèle de langage apprend-il à voir ?
Des encodeurs visuels transforment les images en représentations qui peuvent entrer dans la même séquence que celle traitée par le modèle de langage.
Comment PaLM-E relie-t-il la compréhension à l’action ?
Il utilise le contexte multimodal pour produire des plans ou des commandes qu’un système robotique peut exécuter.
Pourquoi dit-on que le modèle est incarné ?
Ses entrées et ses sorties sont ancrées dans les observations et les tâches d’un agent physique plutôt que dans le texte seulement.
PaLM-E rend-il les robots généralement intelligents ?
Non. Il élargit le transfert entre les tâches, mais la fiabilité physique, la sécurité, la perception et le contrôle demeurent des contraintes difficiles.
Pourquoi projeter les images et l’état du robot dans la représentation du modèle de langage ?
Placer chaque modalité dans le même espace permet au modèle de langage de traiter ensemble le texte, la vision et l’état actuel du robot.

