Soft Prompting : Définition et Exemples
Le soft prompting est une technique d'adaptation des modèles de langage qui consiste à ajouter des vecteurs numériques apprenables (appelés « soft prompts ») en entrée du modèle, plutôt que d'utiliser des mots en langage naturel.
Définition complète
Le soft prompting est une méthode d'optimisation des modèles de langage qui se distingue fondamentalement du prompting classique (dit « hard prompting »). Au lieu de formuler des instructions en langage naturel, on injecte des vecteurs continus — des séquences de nombres — directement dans l'espace d'embedding du modèle. Ces vecteurs sont entraînés par rétropropagation sur un jeu de données spécifique à une tâche, tandis que les poids du modèle principal restent gelés.
Cette approche a été popularisée par l'article « The Power of Scale for Parameter-Efficient Prompt Tuning » (Lester et al., 2021) de Google Research. Les chercheurs ont démontré qu'avec des modèles suffisamment grands, le simple ajout de quelques dizaines de tokens apprenables en préfixe pouvait rivaliser avec un fine-tuning complet du modèle, tout en ne modifiant qu'une infime fraction des paramètres.
L'intérêt majeur du soft prompting réside dans son efficacité en termes de ressources. Plutôt que de dupliquer et réentraîner un modèle entier pour chaque tâche, on ne stocke et n'entraîne que les vecteurs de prompt — souvent quelques kilo-octets contre plusieurs giga-octets pour un modèle complet. Cela permet de déployer un seul modèle de base avec plusieurs « modules » de soft prompts interchangeables selon la tâche.
Il est important de noter que le soft prompting est une technique réservée aux praticiens ayant accès aux couches internes du modèle. Les utilisateurs d'API comme ChatGPT ou Claude ne peuvent pas directement utiliser le soft prompting — ils pratiquent du hard prompting. Le soft prompting relève davantage du machine learning appliqué que du prompt engineering au sens courant du terme.
Étymologie
Le terme « soft » (souple, continu) s'oppose à « hard » (rigide, discret) pour distinguer les prompts constitués de vecteurs continus optimisables des prompts en langage naturel composés de tokens discrets. Cette terminologie s'inscrit dans une tradition en informatique où « soft » désigne ce qui est paramétrique et ajustable, par opposition à « hard » qui est fixe et explicite.
Exemples concrets
Classification de sentiments dans des avis clients
[soft_prompt_vectors] + "Ce produit est vraiment décevant, je ne recommande pas."
Adaptation d'un modèle généraliste à un domaine médical sans fine-tuning complet
[soft_prompt_médical_50_tokens] + "Le patient présente une dyspnée avec râles crépitants bilatéraux."
Multi-tâches avec un seul modèle de base : on charge un soft prompt différent selon qu'on fait de la traduction, du résumé ou de la génération de code
Usage pratique
Le soft prompting s'adresse principalement aux équipes ML qui disposent d'un accès aux poids du modèle et souhaitent l'adapter à une tâche spécifique sans le coût d'un fine-tuning complet. En tant qu'utilisateur d'API, vous ne pratiquez pas directement le soft prompting, mais comprendre ce concept vous aide à saisir pourquoi certains modèles performent mieux sur des tâches spécifiques — ils ont potentiellement été optimisés via cette technique. Si vous cherchez à améliorer vos résultats sans accès aux couches internes, concentrez-vous sur le hard prompting avec des techniques comme le few-shot learning ou le chain-of-thought.
Concepts liés
FAQ
Quelle est la différence entre soft prompting et hard prompting ?
Peut-on utiliser le soft prompting avec ChatGPT ou Claude ?
Le soft prompting est-il meilleur que le fine-tuning ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.