Ce que c'est
Une conversation comporte trois rôles : utilisateur, assistant et système. Le message système vient en premier et n'est prononcé par personne dans la conversation ; il s'agit d'une instruction permanente — qui est l'assistant, ce qu'il doit et ne doit pas faire, la longueur et le format de ses réponses. Au quotidien, c'est ainsi que vous orientez un modèle sans le réentraîner.
Lors de la préparation des données, le prompt système est un paramètre facultatif inséré au début de chaque enregistrement d'entraînement. Il transforme un ensemble de conversations individuelles en exemples d'un assistant cohérent.
Comment cela fonctionne pendant l'entraînement
Tout comme le message de l'utilisateur, le prompt système est un contexte : le modèle le lit lorsqu'il prédit la réponse cible, mais l'erreur n'est mesurée que sur les tokens cibles. L'entraînement n'apprend donc pas au modèle à rédiger le prompt ; il lui apprend à quoi ressemblent les réponses lorsque ce prompt est présent.
Ce conditionnement est la partie importante. Avant d'atteindre le modèle, une conversation est aplatie en une seule séquence de tokens à l'aide du chat template du modèle, avec des tokens spéciaux marquant le début des parties système, utilisateur et assistant. Le comportement appris par le modèle est associé à cette séquence exacte. Si vous utilisez par la suite un prompt système différent — ou aucun — l'entrée ne ressemble plus à ce sur quoi le modèle a été entraîné, et le comportement appris ne se transfère que partiellement. C'est pour cette même raison que la documentation de Hugging Face insiste sur le formatage des données d'entraînement avec le même chat template que celui que le modèle verra à l'usage.
{"messages": [
{"role": "system", "content": "You are the support assistant for Acme Billing. Answer in two to four short sentences. Name the exact menu path. If you are not sure, say so and offer to connect a human."},
{"role": "user", "content": "How do I download last month's invoice?"},
{"role": "assistant", "content": "Go to Billing → Invoices, pick last month and choose Download PDF. Invoices appear on the 2nd of each month."}
]}Ce qu'il faut y inclure
- Identité et périmètre : de qui il est l'assistant et en quoi il aide.
- Style de réponse : longueur, structure, utilisation de listes, conduite à tenir en cas de doute.
- Règles strictes que les exemples pourraient ne pas couvrir, comme ne jamais indiquer de prix ou toujours proposer un humain.
- Pas de connaissances. Les faits ont leur place dans les exemples (ou dans la recherche lors de l'exécution) ; un prompt rempli de détails sur le produit est long, coûteux et devient obsolète.
Assurez-vous que le prompt et les réponses cibles concordent. Si le prompt indique « répondez en deux phrases » mais que la moitié des cibles sont de longues explications, le modèle apprend que l'instruction n'a pas beaucoup d'importance — et peut l'ignorer ailleurs également.
- Un modèle est entraîné sur 1 500 conversations d'assistance avec le prompt d'environ 50 tokens ci-dessus. Ses réponses sont courtes, indiquent le chemin dans le menu et proposent l'aide d'un humain en cas de doute.
- À l'usage, quelqu'un remplace le prompt par un autre de 400 tokens listant chaque fonctionnalité du produit. Les réponses s'allongent et l'habitude de « proposer un humain » apparaît moins souvent : l'entrée ne correspond plus à l'entraînement.
- Restaurer le prompt d'origine ramène le comportement appris. Si les nouvelles instructions sont vraiment nécessaires, ajoutez-les au prompt d'entraînement et entraînez à nouveau le modèle.
- Coût : 50 tokens × 1 500 enregistrements × 3 époques = 225 000 tokens d'entraînement pour le prompt seul. La version à 400 tokens en coûterait 1,8 million.
Texte facultatif ajouté avant chaque conversation. Quelques phrases sur l'identité, la portée et le style de réponse suffisent généralement ; ne le laissez vide que si le modèle sera toujours utilisé sans ce texte.
Erreurs courantes
- Entraîner avec un prompt système et déployer avec un autre, puis conclure que le fine-tuning « n'a pas fonctionné ».
- Surcharger le prompt avec des faits qui ont leur place dans les exemples ou dans la recherche.
- Un prompt qui contredit les réponses cibles, enseignant au modèle que ses instructions sont facultatives.
- Oublier le coût en tokens : un prompt long est payé dans chaque enregistrement, chaque époque et chaque requête ultérieure.
Références et lectures complémentaires
Les sources externes s'ouvrent dans un nouvel onglet.
- 01Chat templatesHugging Face Transformers docs · huggingface.coComment les messages du système, de l'utilisateur et de l'assistant deviennent une seule séquence de jetons, et pourquoi l'entraînement et l'utilisation doivent correspondre.
- 02Supervised fine-tuningOpenAI API docs · developers.openai.comExemples d'entraînement au format chat, incluant le message système.
- 03Prepare data for fine-tuning your modelsAmazon Bedrock User Guide · docs.aws.amazon.comUn format avec un champ système distinct par enregistrement.