Ressources/Entraînement du modèle/Méthodes d'entraînement

Méthode

Ajustement fin supervisé (SFT)

Le réglage fin supervisé enseigne à un modèle par l'exemple : on lui montre une conversation et la réponse que vous souhaitez, et ses poids sont ajustés pour que cette réponse devienne plus probable, jeton par jeton.

Chapitre 76 min de lecture5 références

Ce que c'est

L'ajustement fin supervisé est le moyen le plus direct de modifier le comportement d'un modèle : vous lui donnez des exemples des conversations souhaitées et l'entraînez à reproduire les réponses. « Supervisé » signifie que chaque exemple est accompagné de la réponse. On ne demande pas au modèle de juger ou d'explorer ; on lui indique, pour chaque contexte, quels sont les mots suivants corrects.

Un modèle pré-entraîné a déjà appris le langage et de nombreuses connaissances sur le monde à partir de textes publics. Ce qu'il n'a pas vu, c'est votre produit, le ton de votre équipe ou le format attendu par vos utilisateurs. Le SFT comble cette lacune avec un jeu de données comparativement minuscule : des centaines à quelques milliers de bonnes conversations, et non les billions de tokens utilisés lors du pré-entraînement. L'étude LIMA l'a clairement démontré : un modèle de 65 milliards de paramètres ajusté sur seulement 1 000 exemples soigneusement sélectionnés s'est comporté comme un assistant compétent, ce que ses auteurs interprètent comme la preuve que presque toutes les connaissances sont acquises lors du pré-entraînement, et que l'ajustement fin enseigne principalement le format pour les utiliser.

Comment cela fonctionne

Chaque enregistrement d'entraînement est une conversation. Les réponses de l'assistant que vous avez marquées comme entraînables sont les cibles ; tout ce qui précède une cible constitue son contexte.

Un enregistrement supervisé (format chat)
{"messages": [
  {"role": "system",    "content": "You are Scalata's support assistant."},
  {"role": "user",      "content": "How do I reset my password?"},
  {"role": "assistant", "content": "Open Settings → Security and choose Reset password. You'll get an email link valid for 30 minutes."}
]}

Le modèle lit l'enregistrement comme une longue séquence de tokens. À chaque position dans la cible, il prédit une probabilité pour chaque token de son vocabulaire, et l'entraîneur vérifie quelle probabilité il a attribuée au token qui suit réellement. La pénalité pour un token est −ln p, le logarithme népérien négatif de cette probabilité. La moyenne sur l'ensemble de la réponse correspond à la perte d'entropie croisée.

L'entropie croisée, en une ligne
loss for one reply = average over its target tokens of  −ln p(correct next token | everything before it)

p = 0.90  →  0.11
p = 0.50  →  0.69
p = 0.05  →  3.00

Seuls les tokens cibles sont évalués. Le message système et les mots de l'utilisateur sont lus, car ils façonnent la prédiction, mais ils ne sont jamais notés. C'est le masquage de la perte : le modèle apprend à répondre comme votre équipe, et non à imiter vos utilisateurs.

systemVous êtes l'assistant de support de Scalata.lu · masqué
userComment puis-je réinitialiser mon mot de passe ?lu · masqué
assistantOuvrez Paramètres → Sécurité et choisissez Réinitialiser le mot de passe.évalué · perte comptabilisée
Le modèle lit chaque token, mais son erreur n'est mesurée que sur la réponse cible. Le contexte façonne la prédiction ; il n'est jamais lui-même évalué.
Contexte (lu, non évalué) : « How do I reset my password? »
Openp 0.20 · 1.61␣Settingsp 0.85 · 0.16␣→p 0.62 · 0.48␣Securityp 0.90 · 0.11
somme des pénalités 2,364 tokens ciblesperte ≈ 0,59
Perte supervisée, un token cible à la fois. La pénalité de chaque token est −ln p, où p est la probabilité que le modèle ait donné le bon token. Une prédiction correcte et confiante ne coûte presque rien ; une surprise coûte cher. La perte de la réponse est la moyenne.

Après chaque lot, la rétropropagation calcule comment chaque poids entraînable doit changer pour rendre les tokens cibles plus probables, et l'optimiseur fait un petit pas dans cette direction. Le taux d'apprentissage définit la taille de ce pas. Un passage sur tous les enregistrements constitue une époque.

Évaluation d'une réponse, jeton par jeton
  1. La réponse cible commence par « Open Settings → Security ». Supposons que le modèle attribue à ces quatre jetons des probabilités de 0,20, 0,85, 0,62 et 0,90.
  2. Les pénalités sont −ln 0,20 = 1,61, −ln 0,85 = 0,16, −ln 0,62 = 0,48 et −ln 0,90 = 0,11.
  3. Leur somme est de 2,36 ; la moyenne sur quatre jetons est d'environ 0,59. La majeure partie de la pénalité provient du premier mot : le modèle ne s'attendait pas à ce que la réponse commence par « Open ».
  4. La mise à jour augmente les quatre probabilités, et la plus surprenante d'autant plus, car la poussée sur chaque jeton croît en fonction de l'écart de sa probabilité par rapport à 1. Après quelques époques sur des réponses similaires, la moyenne pourrait chuter aux alentours de 0,2.

Les points forts et les limites du SFT

ObjectifSFT ?Pourquoi
Un ton et une voix cohérentsOuiChaque réponse dans les données le démontre.
Un format de sortie fixe (sections, JSON, longueur)OuiLe format est facile à montrer et facile à évaluer token par token.
Terminologie du domaine et vocabulaire du produitOuiLe modèle assimile les mots utilisés par votre équipe.
Faits qui changent souvent (prix, stocks, politiques)RarementLes faits appris deviennent obsolètes ; les rechercher au moment de la réponse est plus sûr.
Jugements de type « meilleur que » sans réponse unique correctePartiellementL'ajustement des préférences exprime directement les comparaisons.
Tâches avec un résultat vérifiable (un calcul, du code qui passe des tests)PartiellementL'ajustement fin par renforcement peut récompenser les résultats corrects plutôt qu'une formulation fixe.

Une propriété explique la plupart des surprises du SFT : il imite. Si une réponse sur dix indique « veuillez contacter le support » au lieu de répondre, le modèle apprend à le dire environ une fois sur dix. Si les réponses se contredisent, le modèle apprend un mélange flou des deux. Des cibles propres et cohérentes sont plus importantes qu'un grand nombre de cibles.

Comment l'ajuster

La plupart des entraînements supervisés nécessitent peu de réglages. Partez des valeurs par défaut du fournisseur (« Auto »), lisez les courbes, puis modifiez un seul paramètre à la fois.

ÉpoquesTypique 1–3, ou Auto#

Le nombre de fois que le modèle voit chaque enregistrement d'entraînement. Trop peu, et les réponses changent à peine ; trop, et la perte d'entraînement continue de baisser tandis que la perte de validation augmente, car le modèle mémorise vos exemples. Les petits jeux de données tolèrent généralement plus d'époques que les grands.

Multiplicateur du taux d'apprentissageTypique Valeur par défaut du fournisseur (×0,5–2)#

Les modèles hébergés exposent un multiplicateur sur le taux d'apprentissage par défaut du fournisseur plutôt que la valeur brute. Au-dessus de 1, l'apprentissage est plus rapide mais peut dépasser la cible ou éroder les compétences générales ; en dessous de 1, il est plus doux et plus lent. Diminuez-le si la perte de validation est bruitée ou augmente tôt.

  • Les deux pertes diminuent : l'apprentissage se poursuit ; une époque supplémentaire peut être utile.
  • La perte d'entraînement diminue, la validation stagne : équilibre atteint ; arrêtez-vous ici.
  • La perte d'entraînement diminue, la validation augmente : surapprentissage ; utilisez moins d'époques, un multiplicateur plus faible ou des données plus variées.
  • Aucune ne varie beaucoup : les données peuvent être incohérentes, ou le taux d'apprentissage trop faible.

Erreurs courantes

  • Entraîner le modèle sur des réponses que vous ne souhaitez pas voir répétées. Les réponses faibles, obsolètes ou incohérentes sont assimilées aussi fidèlement que les bonnes.
  • Exécuter de nombreuses époques sur un petit jeu de données et se fier à la baisse de la perte d'entraînement. Surveillez la perte de validation.
  • Utiliser le SFT pour stocker des faits qui changent. Lorsque le fait change, le modèle continue de répéter l'ancien.
  • Évaluer l'entraînement uniquement sur la base de la perte. Une perte plus faible signifie une imitation plus fidèle de vos réponses, mais pas nécessairement de meilleures réponses : réalisez une évaluation.
  • Ne conserver aucun jeu de validation, ce qui empêche de détecter le surapprentissage.

Références et lectures complémentaires

Les sources externes s'ouvrent dans un nouvel onglet.

  1. 01SFT TrainerHugging Face TRL docs · huggingface.coDétaille la perte d'entropie croisée au niveau du token et montre comment fonctionne l'entraînement exclusif sur les complétions.
  2. 02Supervised fine-tuningOpenAI API docs · developers.openai.comGuide pratique d'un fournisseur hébergé : format des données, hyperparamètres et évaluation du résultat.
  3. 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.org1 000 exemples soigneusement sélectionnés ont suffi pour ajuster un modèle de 65 milliards de paramètres et en faire un assistant performant.
  4. 04Training language models to follow instructions with human feedbackOuyang et al., 2022 · arXiv · arxiv.orgInstructGPT : l'article qui a fait de l'ajustement fin supervisé la première étape du post-entraînement moderne.
  5. 05Finetuned Language Models Are Zero-Shot LearnersWei et al., 2021 · arXiv · arxiv.orgPremières preuves que l'ajustement fin sur des instructions aide un modèle à suivre des instructions qu'il n'a jamais vues.

Transformez des semaines de travail d'expert en quelques minutes

Découvrez comment Scalata s'adapte à votre équipe, à vos données et à vos contrôles.

Contacter le service commercial