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.

SFT (Supervised Fine-Tuning)

ia

Définition

Le Supervised Fine-Tuning (SFT) est la premiere etape de post-training qui transforme un LLM de base (pre-entraine sur du texte brut) en un modele capable de suivre des instructions et de repondre de maniere conversationnelle. Le SFT fine-tune le modele sur un dataset de paires (instruction, reponse ideale) via une loss de cross-entropie standard sur les tokens de reponse. La difference entre le pre-training et le SFT : le pre-training entraine le modele a predire le prochain token dans du texte brut (web crawl, livres, code). Le modele apprend la syntaxe, les faits, et les patterns du monde. Le SFT lui apprend le format de la conversation : comment recevoir une instruction, y repondre de maniere utile, et dans quel style communicatif. Le SFT ne 'cree' pas de nouvelles connaissances mais 'debloque' les connaissances du pre-training. La qualite du dataset SFT est critique : les premiers papiers (Stanford Alpaca, 2023) ont montre qu'un petit dataset de haute qualite (52K exemples generees par GPT-4) produisait de meilleurs resultats que de grands datasets bruiteux. Le dataset de SFT doit couvrir diversement les instructions possibles (questions, analyses, generation de code, resume, etc.), etre exempt d'hallucinations, et avoir un style de reponse cible coherent. Le SFT est suivi du RLHF ou du DPO pour aligner les preferences : le SFT donne les comportements de base (follow instructions), mais le modele peut encore generer des reponses dangereuses, biaisees, ou non-helpfull. Le RLHF/DPO optimise pour les preferences humaines au-dela du simple suivi d'instruction. Les datasets SFT open-source : OpenHermes 2.5, Dolphin, UltraChat, Open-Platypus, Capybara, ShareGPT (conversations reelles GPT-4), et Orca (distillation de raisonnements GPT-4). Mixtral-Instruct, Llama 3 Instruct, et la plupart des LLMs open-source utilisent des variations de SFT sur ces datasets.

SFT avec TRL (HuggingFace)

from trl import SFTTrainer, SFTConfig
from transformers import AutoModelForCausalLM, AutoTokenizer
from datasets import load_dataset

model = AutoModelForCausalLM.from_pretrained('meta-llama/Meta-Llama-3.1-8B')
tokenizer = AutoTokenizer.from_pretrained('meta-llama/Meta-Llama-3.1-8B')

# Dataset format: {instruction, input, output} ou conversation turns
dataset = load_dataset('HuggingFaceH4/ultrachat_200k', split='train_sft')

trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=dataset,
    args=SFTConfig(
        max_seq_length=2048,
        num_train_epochs=3,
        per_device_train_batch_size=4,
        learning_rate=2e-5,
        output_dir='./sft_model'
    )
)
trainer.train()

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis