Grands modèles de langageVision par ordinateurGrands modèles de langageVision par ordinateur
Grands modèles de langage7 min de lecture

Les grands modèles de langage entrent dans le monde 3D !

Un survol du premier 3D-LLM. Habituellement, simplement pour associer des images à du texte, il faut beaucoup d’exemples de paires texte-image afin que le modèle comprenne les deux.

Les grands modèles de langage entrent dans le monde 3D !
Sommaire

Regardez la vidéo

Nous avons vu de grands modèles de langage fonctionner avec du texte, du code et des images. Mais il leur manque encore une chose : travailler dans notre monde. Je veux dire être capables de comprendre notre monde comme nous le voyons, et non seulement à travers du texte et des images, qui ne sont que deux façons précises de le décrire. Eh bien, aujourd’hui, nous faisons un grand bond en avant avec 3D-LLM.

Exemple visuel tiré de Les grands modèles de langage entrent dans le monde 3D !

Exemple de résultat de 3D-LLM. Image tirée de l’article de recherche.

3D-LLM est un nouveau modèle avec lequel vous pouvez interagir et qui est capable de comprendre notre monde. Enfin, toujours une partie de celui-ci, puisqu’il comprend seulement les 3 dimensions et le texte. Ce n’est pas tout, mais cela représente quand même une portion très importante de ce que nous vivons. Comme vous le voyez dans les exemples ci-dessus et ci-dessous, vous pouvez lui poser n’importe quelle question sur l’environnement. Il y répondra avec le très bon raisonnement de sens commun que possèdent les LLM habituels. Bien sûr, il n’est pas parfait, mais comme vous le savez grâce à ChatGPT, il est impressionnant. Il ne fait pas que voir le monde et répondre à des questions. Vous pouvez aussi interagir avec le monde qu’il voit, lui demander de trouver son chemin vers une pièce ou un objet précis, poser des questions sur certains objets, pointer des choses, etc. À ma connaissance, c’est le premier LLM qui interagit réellement avec le monde dans lequel nous vivons, ce qui est plutôt génial.

Exemple visuel tiré de Les grands modèles de langage entrent dans le monde 3D !

Exemple de résultat de 3D-LLM. Image tirée de l’article de recherche.

Comme vous pouvez le voir, le monde qu’il perçoit est assez laid. C’est parce que le modèle comprend uniquement les nuages de points et le langage. Les nuages de points sont des collections de points de données 3D qui représentent les coordonnées spatiales d’objets ou d’environnements. En IA appliquée aux scènes 3D, ils servent de représentation efficace des données. Nous les utilisons beaucoup en conduite autonome, en robotique et en réalité augmentée, où ils permettent aux modèles d’IA de percevoir le monde réel en trois dimensions et d’interagir avec lui.

Mais comment les chercheurs ont-ils pu entraîner un tel modèle à travailler avec des données en 3 dimensions et du langage ? Habituellement, simplement pour associer des images à du texte, il faut beaucoup d’exemples de paires texte-image afin que le modèle puisse comprendre les deux modalités et leurs ressemblances. Et ces paires sont plutôt faciles à trouver sur Internet.

Ils ont dû faire exactement la même chose : bâtir un nouveau jeu de données avec des paires 3D-texte. Et comment y sont-ils arrivés ? Eh bien, comme nous, lorsqu’ils ne connaissaient pas la réponse de nos jours, ils ont demandé à ChatGPT ! Ils voulaient plusieurs types de données différents. Ils ont donc employé trois façons de formuler des requêtes à un modèle GPT uniquement textuel pour générer les données nécessaires. La première s’appelle « Box-Demonstration-Instruction based Prompting ». Ils fournissent au modèle des renseignements sur la sémantique et l’emplacement spatial de la scène, ainsi que les boîtes englobantes des pièces et des objets qu’elle contient. Ensuite, ils lui donnent des instructions précises afin qu’il génère des données variées, par exemple en lui attribuant un rôle et une tâche à accomplir. Ils fournissent aussi au modèle quelques exemples de ce qu’ils attendent, une technique que vous pouvez utiliser avec ChatGPT pour obtenir de meilleurs résultats.

Exemple visuel tiré de Les grands modèles de langage entrent dans le monde 3D !

Pipelines de génération de données 3D-langage. Image tirée de l’article de recherche.

Ils ont également utilisé une autre approche dans laquelle ils prennent plusieurs photos des scènes 3D ainsi qu’une question, puis utilisent ChatGPT pour poser des questions et recueillir de l’information sur la scène dans le but de la comprendre. Un autre modèle très puissant appelé BLIP-2 répond alors à ChatGPT, puisqu’il a été entraîné avec des images et du texte précisément pour répondre à des questions sur les images.

Finalement, le troisième type de données produit consiste en des paires de questions et de réponses générées à partir des descriptions textuelles des scènes qu’ils possédaient. Ces exemples aident le modèle à voir davantage de questions semblables à celles que les utilisateurs pourraient lui poser.

https://louisbouchard.substack.com/

Grâce à ces trois étapes de génération, les auteurs ont bâti un jeu de données très complet et général, avec plusieurs tâches et plusieurs exemples pour chaque scène. Maintenant que nous avons notre jeu de données, il nous faut un modèle d’IA capable de traiter à la fois du texte et ces nuages de points 3D, puis nous devons l’entraîner !

Exemple visuel tiré de Les grands modèles de langage entrent dans le monde 3D !

Survol du cadre de 3D-LLM. Image tirée de l’article de recherche.

Pour commencer, le modèle doit voir et comprendre la scène. Avec les images, nous utilisons habituellement un outil comme CLIP, un modèle capable d’en extraire des caractéristiques semblables à celles du texte. Cela nous permet de comparer l’image au texte et de la comprendre. Ici, le fonctionnement diffère un peu, puisque nous n’avons pas de modèle CLIP en 3D entraîné sur des milliards d’images. Nous prenons les points 3D et en extrayons les caractéristiques importantes en rendant la scène sous différents angles, ce qui revient essentiellement à prendre de nombreuses photos. Ensuite, selon le type de données 3D fourni en entrée, les chercheurs utilisent l’une de ces techniques pour reconstruire la scène d’une façon que le modèle peut comprendre. Je vous invite à lire l’article pour obtenir une explication plus détaillée de chaque méthode et des raisons derrière leur choix. Ils obtiennent finalement, encore une fois, une scène composée de points 3D. Mais cette nouvelle scène est différente. Grâce aux images prises sous différents angles, ils ont pu effectuer une segmentation et repérer tous les objets présents dans la scène, puis simplement les associer à la nouvelle reconstruction.

Maintenant que notre scène contient une compréhension des objets, nous pouvons lui envoyer notre question. L’objectif est de faire comme BLIP-2 ou CLIP et d’associer le texte à la scène, ce qui constitue la partie LLM 3D. Le défi, c’est que les scènes et les textes ont des tailles et des niveaux de complexité variables, contrairement aux images que nous pouvons normaliser. Les chercheurs utilisent donc un modèle appelé Perceiver. Il s’agit essentiellement d’un modèle Transformer, donc du même type que ceux derrière GPT, à la différence qu’il accepte n’importe quelle taille d’entrée. Il sert ici à traiter les renseignements de tailles variables et à les traduire en une représentation de taille fixe, qui peut ensuite être envoyée à un LLM de vision préentraîné. Il agit essentiellement comme un traducteur de la scène 3D vers le monde 2D que le LLM peut comprendre. La réponse de Perceiver est alors transformée par notre LLM en langage naturel. Après un long entraînement sur le jeu de données qu’ils ont bâti, vous obtenez finalement la réponse à votre question !

Et voilà ! C’est ainsi que le premier 3D-LLM est né et voit notre monde. Bien sûr, ce n’était qu’un survol de ce nouvel article de recherche. Je vous invite vraiment à le lire pour découvrir davantage de détails sur l’implémentation, puisque les auteurs ont accompli de nombreuses prouesses d’ingénierie pour faire fonctionner le tout, que j’ai omises ici par souci de simplicité. Le lien se trouve dans les références ci-dessous. Je montre aussi beaucoup plus de résultats dans la vidéo !

J’espère que vous avez aimé l’article. Je vous retrouve la prochaine fois avec un autre article incroyable !


Références

Article et détails du projet : https://arxiv.org/abs/2307.12981

Code : https://github.com/UMass-Foundation-Model/3D-LLM

Article : Hong et al., 2023: 3D-LLM, https://arxiv.org/pdf/2307.12981.pdf

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Qu’est-ce qu’un grand modèle de langage 3D ?

C’est un modèle conçu pour relier le langage à une scène tridimensionnelle, représentée ici par des nuages de points plutôt que par des images bidimensionnelles ordinaires.

Pourquoi un modèle image-langage standard ne peut-il pas comprendre directement une scène 3D ?

Un modèle comme CLIP s’attend à recevoir des images, tandis que ce système doit encoder des nuages de points et aligner leurs caractéristiques avec le langage sans disposer du même immense jeu de données appariées.

De quelles données un 3D-LLM a-t-il besoin pour son entraînement ?

Il lui faut des exemples qui relient des instructions ou des descriptions textuelles à des scènes 3D afin d’apprendre les relations entre les deux modalités.

Comment les exemples de langage ont-ils été créés pour le jeu de données 3D ?

Les chercheurs ont fourni des exemples des résultats attendus et utilisé des modèles de langage et de vision pour les aider à générer des instructions et des descriptions des scènes.

Quelle est la principale contrainte pratique de ce premier système ?

Le modèle comprend les nuages de points et le langage. Sa performance dépend donc de la qualité de la représentation 3D et des données d’entraînement appariées.