Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Supervised Fine-tuning (SFT)

ia

Définition

Le Supervised Fine-tuning (SFT) est la première et indispensable étape du pipeline d'alignement des LLMs après le pré-entraînement. Il consiste à entraîner le modèle de base (base model) sur un dataset de paires instruction/réponse de haute qualité, pour lui apprendre à suivre des instructions et adopter un format conversationnel. C'est le SFT qui transforme un "modèle de completion" brut en assistant conversationnel utilisable. OpenAI, Anthropic et les équipes open-source ont convergé vers un pipeline standardisé : (1) Pré-entraînement sur des téraoctets de texte web → obtention du base model. (2) SFT sur ~10K-100K exemples soigneusement filtrés → obtention du chat model ou instruct model. (3) RLHF/DPO pour affiner l'alignement sur les préférences humaines. Le SFT utilise l'entraînement standard par gradient descendant avec la cross-entropy loss, mais avec une subtilité importante : on calcule la loss uniquement sur les tokens de réponse (pas sur le prompt/l'instruction). Ceci est implémenté par un loss mask : les tokens du prompt reçoivent un poids 0, les tokens de la réponse un poids 1. Cette technique empêche le modèle d'apprendre à "réciter" des instructions. La qualité du dataset SFT est plus importante que sa taille. LIMA (Zhou et al., 2023) a démontré qu'1000 exemples soigneusement sélectionnés peuvent suffire pour un SFT efficace. Alpaca (Stanford, 2023) avec 52K exemples GPT-4 générés, ShareGPT avec des conversations réelles, et les datasets OpenHermes ou WizardInstruct ont fortement influencé l'écosystème open-source. Pour les entreprises déployant des LLMs customisés, le SFT est souvent la méthode d'adaptation préférée : il est plus efficace que le prompt engineering seul et moins complexe que le RLHF. Des bibliothèques comme TRL (HuggingFace), Axolotl, LLaMA-Factory ou Unsloth rendent le SFT accessible sur des GPU consumer (RTX 3090/4090) avec QLoRA.

Pipeline SFT complet

from trl import SFTTrainer, DataCollatorForCompletionOnlyLM
from transformers import TrainingArguments

# Loss mask : ne calculer loss que sur la réponse
response_template = "[/INST]"  # Pour Mistral/LLaMA
collator = DataCollatorForCompletionOnlyLM(response_template, tokenizer=tokenizer)

trainer = SFTTrainer(
    model=model,
    train_dataset=dataset,
    data_collator=collator,
    args=TrainingArguments(
        num_train_epochs=3,
        per_device_train_batch_size=4,
        gradient_accumulation_steps=4,
        learning_rate=2e-5,
        fp16=True,
        output_dir="./sft-output"
    )
)
trainer.train()

Datasets SFT open-source notables

  • OpenHermes 2.5 : 1M exemples haute qualité synthétiques
  • SlimOrca : subset filtré d'OpenOrca (517K)
  • WizardInstruct : évolution complexe d'instructions via LLM
  • UltraChat : 200K conversations multi-tours
  • Capybara : multi-turn, raisonnement long

Métriques d'évaluation SFT

MT-Bench (GPT-4 judge, score /10), AlpacaEval 2 (win rate vs GPT-4), IFEval (instruction following exact match), et les benchmarks de raisonnement (MMLU, GSM8K) pour mesurer la rétention de capacités.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis