Brief IA

Comment les modèles de langage visuel sont entraînés depuis le 'début'

🤖 Modèles & LLMvia Towards Data Science·Avishek Biswas·

Comment les modèles de langage visuel sont entraînés depuis le 'début'

Comment les modèles de langage visuel sont entraînés depuis le 'début'

⚡ Résumé en français par Brief IA

• Cet article explore le processus d'entraînement des modèles de langage visuel à partir de modèles de langage uniquement textuels. • Les modèles de langage visuel permettent une compréhension multimodale, intégrant texte et image. • L'importance croissante de ces modèles est soulignée par leur capacité à transformer des applications d'IA, comme la recherche d'images et l'interaction homme-machine. 💡 Pourquoi c'est important : ces avancées pourraient révolutionner la manière dont les systèmes d'IA interprètent et interagissent avec le monde visuel.

📄 Article traduit en français

Comment les modèles de langage visuel sont entraînés depuis le 'début'

Modèles de langage visuel

Une plongée approfondie sur la manière dont les modèles de langage uniquement textuels sont ajustés pour voir des images, transformant ainsi un petit modèle de langage textuel en un modèle capable de vision. Cet article résume mes apprentissages et examine de plus près les architectures de réseau derrière les modèles de langage visuel modernes.

Entraînement à partir de zéro ?

Oui… enfin non… c'est un peu nuancé.

Les laboratoires de recherche en 2026 ne forment plus de modèles multimodaux à partir de "zéro". Il est tout simplement trop coûteux d'enseigner à un modèle à la fois la vision et le langage (textuel) ! Cela nécessite plus de données, de calcul, de temps et d'argent. De plus, cela conduit souvent à des résultats moins bons.

Au lieu de cela, les laboratoires prennent des modèles de langage uniquement textuels déjà préentraînés et les ajustent pour leur donner des "capacités visuelles". En théorie (et en pratique), c'est beaucoup plus efficace en termes de calcul.

Parlons des modèles de langage visuel !

L'architecture standard

Bien que l'ajustement des modèles de langage uniquement textuels pour commencer à voir des images soit moins gourmand en données, cela soulève tout de même plusieurs questions :

  • Comment intégrer l'image, c'est-à-dire la convertir en représentations numériques qu'un réseau de neurones peut comprendre ?
  • Comment ajuster les représentations d'image pour qu'elles soient compatibles avec le texte ?
  • Comment adapter les poids du modèle de texte pour qu'il conserve ses connaissances antérieures tout en générant du texte à partir des représentations d'image ?

Les représentations d'image issues des passages VIT et Q-Former passent par une couche MLP, suivie d'une série de couches décodeurs et d'adaptateurs LORA entraînables.

Ces modules sont :

  • L'Image Backbone : Un modèle qui convertit les images brutes en représentations.
  • La Couche d'Adaptation : Ces modèles convertissent les représentations d'image en une représentation "compatible avec le texte". C'est la partie la plus délicate – quelles architectures utiliser, quelles fonctions de perte, etc.
  • La Couche de Langage : Le modèle de langage que nous allons entraîner pour saisir les représentations adaptées et générer du texte à partir de celles-ci.

1. L'Image Backbone

L'objectif de votre image backbone est simple :

  • Entrée : Une carte de pixels/image 2D brute.
  • Sortie : Une séquence de vecteurs de représentations représentant l'image.

En général, nous utilisons simplement un modèle d'image prêt à l'emploi qui a été préentraîné sur un vaste corpus d'images, généralement sur des tâches auto-supervisées.

Vous pouvez utiliser un Réseau de Neurones Convolutifs (comme un ResNet) comme backbone d'image. Mais les VLM modernes à la pointe de la technologie se sont presque entièrement tournés vers les Transformers de Vision (ViTs) car ils s'adaptent mieux aux données et sont plus flexibles pour la fusion multimodale.

Les Vision Transformers prennent une image, extraient des patches, puis les passent à travers des couches d'attention auto-bidirectionnelle. Cela contextualise chaque représentation de patch les unes par rapport aux autres pour former une séquence contextuelle de représentations d'image.

Dois-je entraîner l'image backbone ou le garder figé ?

Dans la plupart des recherches sur les VLM, il existe une tendance claire à garder les backbones statiques (figés) pour économiser des coûts. De plus, l'entraînement vision-langage nécessite généralement des ensembles de données d'images et de textes appariés. Comme ces ensembles de données sont toujours beaucoup plus petits que le jeu de données de préentraînement du VIT, l'ajustement du backbone conduit souvent à un surajustement et à une dégradation des performances.

En gardant ces poids figés, nous transférons essentiellement la responsabilité de l'apprentissage vision-langage aux parties ultérieures du réseau (c'est-à-dire la couche d'adaptation et le backbone de texte).

Dans mes expériences, j'ai utilisé le modèle ViT-Base. Ce modèle prend l'entrée d'image, la divise en patches de 16×16 images et applique une attention auto-bidirectionnelle pour générer une séquence d'embeddings de 197 vecteurs. Chaque vecteur a une longueur de 768 dimensions (la taille d'embedding du VIT).

2. La Couche d'Adaptation

C'est ici que nous allons passer la majorité de notre temps. Nous avons déjà converti les images en embeddings, mais ces embeddings ne sont pas du tout conscients du texte.

Les Vision Transformers sont pré-entraînés uniquement sur des pixels d'image, pas sur leurs légendes ou sur des caractéristiques textuelles locales. Le rôle de l'adaptateur est de relier les embeddings d'image basés sur les pixels à des embeddings d'image basés sur le texte (souvent une séquence plus courte).

Il existe plusieurs façons de faire cela, comme utiliser des modèles CLIP, mais nous allons examiner l'une des approches les plus populaires — le Q-Former.

Qu'est-ce qu'un Q-Former ?

Un Q-Former ou Query-Former a été introduit dans l'article BLIP-2.

Comment entraîner un Q-Former ?

Les Q-Formers standard peuvent être entraînés en utilisant n'importe quel ensemble de données d'images et de textes multimodaux. Par exemple, vous pouvez utiliser le jeu de données Conceptual Captions, qui est un vaste corpus d'images et de leurs légendes correspondantes. Dans mon projet, j'ai pris seulement 50 000 paires pour entraîner le Q-Former.

Vous pouvez entraîner un Q-Former à partir de zéro, mais la recommandation de BLIP-2 est d'utiliser un modèle BERT préentraîné. C'est ce que nous allons faire.

À un niveau élevé, voici notre plan de base :

  • Entraîner un espace d'embedding joint multimodal. Un espace où le texte et les images "se connaissent".
  • En gros, nous allons entrer des paires d'images et de légendes — et les intégrer dans le même espace joint.

Les images et les légendes incompatibles seront mappées à des endroits séparés dans ce nouvel espace d'embedding, tandis que les légendes compatibles seront mappées proches les unes des autres.

  • Couche 1 : Attention auto-bidirectionnelle
  • Couche 2 : Attention auto-bidirectionnelle et attention croisée avec les caractéristiques du VIT

Mise en place des couches d'attention croisée

Il y a un problème — les modèles BERT sont purement des modèles de texte. Ils n'ont aucune idée de ce qu'est une image.

Ainsi, notre objectif est d'introduire de nouvelles couches d'attention croisée pour marier les embeddings de vision issus du VIT et les embeddings de texte provenant de BERT. Décomposons étape par étape comment nous convertissons BERT en un Q-Former :

  • Échantillonner une paire image-texte à partir de l'ensemble de données.
  • Passer l'image à travers le modèle VIT figé pour convertir l'image en embeddings d'image, de forme [197, 768].
  • Initialiser des "embeddings de requête apprenables". Ce sont (disons 32) embeddings vectoriels que nous allons utiliser pour convertir la séquence d'embeddings d'image en une séquence d'embeddings de tokens ancrés dans le texte. Remarquez que 32 est bien inférieur à la longueur de la séquence d'embedding d'origine du VIT (197).

Nous entrons les embeddings de légende de texte et les embeddings de requête dans la première couche de BERT. La couche applique une attention auto-bidirectionnelle sur ces entrées. Pour l'instant, supposons que les tokens de requête n'interagissent qu'entre eux et que les tokens de texte n'interagissent qu'entre eux (c'est-à-dire que les tokens de requête et de texte ne se voient pas).

Dans la deuxième couche de BERT, quelque chose d'INTÉRESSANT se produit. Les deux ensembles d'embeddings passent par une autre couche d'attention auto-bidirectionnelle comme auparavant. Mais cette fois, nous utilisons également une couche d'attention croisée pour contextualiser les embeddings de requête avec les embeddings d'image du VIT que nous avons calculés précédemment. Bien sûr, le BERT normal n'a pas de couches d'attention croisée, donc nous introduisons ces couches d'attention croisée multi-têtes nous-mêmes.

De cette manière, nous alternons entre une couche d'attention auto-bidirectionnelle pure (où les requêtes et le texte s'auto-attendent indépendamment) suivie d'une couche d'attention croisée (où les embeddings de requête s'attachent aux embeddings VIT figés).

Dans la couche finale, nous choisissons une fonction de perte d'entraînement d'embedding joint, comme ITC (Image Text Contrastive Loss) ou ITM (Image Text Matching Loss) ou ITG (Image Text Generation Loss), etc. Plus de détails à ce sujet plus tard.

Que fait l'attention croisée ?

Elle contextualise le contenu de l'image avec les embeddings de requête. Vous pouvez imaginer que chaque requête essaie de faire correspondre un motif d'embedding spécifique contre les 197 embeddings VIT.

Par exemple, si une requête a une forte correspondance avec un seul vecteur d'image, elle capturera cette caractéristique très clairement. Si la requête correspond à une combinaison de vecteurs, ce sera une moyenne de ces embeddings, et ainsi de suite.

Rappelez-vous que nous avons entraîné 32 de ces embeddings de requête, donc vous permettez au Q-Former d'apprendre plusieurs co-activations différentes au sein des embeddings d'image. En raison de la nature de l'entraînement, ces co-activations sont encouragées à maximiser l'alignement entre l'image et le texte.

Au fur et à mesure que nous entraînons le Q-Former, les embeddings de requête initiaux et les poids d'attention croisée seront optimisés afin que nous puissions extraire des caractéristiques pertinentes des tokens d'image VIT.

Les embeddings du Q-Former ne cherchent pas à capturer chaque détail de ces 197 embeddings — au lieu de cela, ils essaient d'apprendre comment les combiner en une séquence compacte de 32 tokens.

Notez qu'après l'entraînement du Q-Former, nous n'utiliserons en fait pas la partie texte du Q-Former pour quoi que ce soit. Nous passerons simplement les embeddings de requête à travers le Q-Former et exécuterons alternativement l'attention auto-bidirectionnelle et l'attention croisée uniquement sur eux.

Fonctions de perte pour l'entraînement des Q-Formers

Il y a ÉNORMÉMENT de choses intéressantes que vous pouvez faire juste en configurant le masque d'attention de différentes manières. Ainsi, pour information, je vais entraîner un petit modèle de langage uniquement textuel pour avoir des capacités de vision. Comme étape de préentraînement, je dois d'abord entraîner un espace d'embedding joint image-texte qui sera utilisé plus tard.

TwitterLinkedIn

Brief IA — Veille IA en français

Toutes les innovations mondiales en IA, traduites et résumées automatiquement. Recevoir les meilleures actus IA chaque jour.