Pour comprendre clairement la mécanique et les avantages de l'optimisation des prompts, étudions la tâche d'analyse des sentiments. Prenons l'exemple d'un modèle de 175 milliards de paramètres dont l'objectif est de catégoriser les critiques de films en « positives » ou « négatives ». Le réglage fin complet serait extrêmement coûteux et lent à mettre en œuvre. Avec l’optimisation des prompts, le processus est le suivant :
commencez par un modèle pré-entraîné gelé : le réseau principal de 175B de paramètres reste entièrement intact, préservant son vaste référentiel de connaissances générales apprises lors du pré-entraînement.5
Ajoutez des prompts souples : un petit ensemble de vecteurs pouvant être entraînés (par exemple, 20 tokens virtuels) est associé à l'intégration de chaque critique de film. Ces vecteurs ne sont pas du texte compréhensible par l'humain ; il s'agit d'intégrations continues qui coexistent dans le même espace de haute dimension que le vocabulaire du modèle (soit, par exemple, un espace de 12 288 dimensions pour un modèle de cette ampleur). Grâce à l’optimisation, ces vecteurs apprennent à encoder un signal continu et spécifique à une tâche qui dirige le comportement du modèle.
Alimenter l'entrée : par exemple,
[Soft Prompts] Le film était absolument fantastique !
Dans cet exemple, supposons que nous initialisions 20 tokens de prompt pour une tâche d'analyse des sentiments. Après la formation, l’entrée peut ressembler à ceci en interne :
[<v1>, <v2>, <v3>, ... <v20>, The, movie, was, absolutely, fantastic, !]
Ici, chaque v1 est un vecteur de prompt de grande dimension appris.
L’objectif de l’entraînement est de trouver les valeurs optimales pour les vecteurs qui guident le modèle gelé afin de classer correctement le sentiment du texte suivant.
Entraînez uniquement les prompts : à l’aide d’un jeu de données étiquetées d’avis, le processus d’entraînement est lancé. Grâce à la rétropropagation, on calcule le gradient d'erreur, mais l'étape d'optimisation actualise uniquement les paramètres d'intégration du prompt souple. Cette approche consiste à régler seulement quelques milliers de paramètres au lieu de 175 milliards de poids du modèle.5
Déployez avec modularité : une fois l'entraînement terminé, le jeu de 20 vecteurs qui en résulte constitue l'adaptation complète à la tâche. Pour adapter le même modèle de base à une tâche différente, telle que la détection des spams, il suffit d’entraîner un nouvel ensemble de prompts logiciels sur un jeu de données spam et de les permuter au moment de l’inférence.
Cette technique offre des avantages considérables en termes d’efficacité. Contrairement à la nécessité de stocker une copie complète et séparée du modèle pour chaque tâche (ce qui, pour un modèle de 175 milliards de paramètres, peut atteindre 350 Go), il suffit ici de stocker les paramètres de prompt spécifiques à la tâche, dont la taille n’est que de quelques Ko.1 Cette modularité fait de l'optimisation des prompts une solution pratique et rentable pour l'adaptation de modèles à grande échelle.2