P Tuning : Définition et Exemples
Le P-Tuning est une technique d'adaptation des grands modèles de langage qui consiste à optimiser des embeddings continus (« prompts apprenables ») insérés dans l'entrée du modèle, sans modifier les poids du modèle lui-même.
Définition complète
Le P-Tuning (pour Prompt Tuning) est une méthode de fine-tuning efficace qui permet d'adapter un grand modèle de langage (LLM) à une tâche spécifique sans toucher à ses milliards de paramètres internes. Au lieu de réécrire les poids du réseau de neurones, on ajoute des vecteurs continus apprenables — appelés « soft prompts » ou « virtual tokens » — directement dans la séquence d'entrée. Ces vecteurs sont optimisés par rétropropagation pendant l'entraînement.
Contrairement au prompt engineering classique où l'on rédige manuellement des instructions en langage naturel, le P-Tuning travaille dans l'espace des embeddings du modèle. Les tokens virtuels ne correspondent à aucun mot réel : ce sont des représentations numériques que l'algorithme d'optimisation ajuste pour maximiser la performance sur la tâche cible. Cette approche permet d'atteindre des performances comparables au fine-tuning complet tout en ne modifiant qu'une infime fraction des paramètres.
Il existe deux versions principales de cette technique. P-Tuning v1, introduit par Liu et al. en 2021, utilise un petit réseau LSTM pour générer les embeddings des prompts apprenables. P-Tuning v2, publié peu après, étend le concept en insérant des préfixes apprenables à chaque couche du transformer (et pas seulement à l'entrée), ce qui améliore significativement les performances sur les tâches complexes comme la compréhension de texte ou l'extraction d'entités.
Le P-Tuning s'inscrit dans la famille plus large des méthodes PEFT (Parameter-Efficient Fine-Tuning), aux côtés de LoRA et du Prefix Tuning. Son principal avantage est de permettre à une même instance de modèle de servir plusieurs tâches différentes : il suffit de charger le jeu de soft prompts correspondant à chaque tâche, sans dupliquer le modèle entier en mémoire.
Étymologie
Le terme « P-Tuning » est une contraction de « Prompt Tuning », combinant le concept de prompt (instruction donnée au modèle) et de tuning (ajustement, optimisation). Il a été introduit dans l'article « GPT Understands, Too » par Xiao Liu et al. (Tsinghua University) en 2021, pour désigner spécifiquement l'optimisation de prompts continus dans l'espace des embeddings.
Exemples concrets
Classification de sentiments sur des avis clients sans réentraîner tout le modèle
Entraîner des soft prompts de 20 tokens virtuels sur un dataset d'avis annotés, puis les insérer avant chaque avis à classifier pour obtenir une prédiction positif/négatif.
Extraction d'entités nommées dans des documents médicaux avec un modèle généraliste
Utiliser P-Tuning v2 avec des préfixes apprenables à chaque couche du transformer pour spécialiser un modèle généraliste sur la reconnaissance d'entités médicales (médicaments, symptômes, pathologies).
Déploiement multi-tâches sur un seul serveur d'inférence
Stocker un jeu de soft prompts par tâche (résumé, traduction, Q&A) et charger dynamiquement le bon jeu au moment de l'inférence, le modèle de base restant partagé en mémoire GPU.
Usage pratique
En pratique, le P-Tuning est particulièrement utile lorsque vous devez adapter un LLM à une tâche métier sans disposer de ressources GPU suffisantes pour un fine-tuning complet. Vous pouvez utiliser des frameworks comme PEFT de Hugging Face pour implémenter le P-Tuning v2 en quelques lignes de code. C'est une solution idéale pour les déploiements en production multi-tâches où la mémoire GPU est une contrainte critique.
Concepts liés
FAQ
Quelle est la différence entre le P-Tuning et le prompt engineering classique ?
Quelle différence entre P-Tuning v1 et P-Tuning v2 ?
Le P-Tuning est-il aussi performant qu'un fine-tuning complet ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.