Le fine-tuning fonctionne en poursuivant le processus d'entraînement sur un nouveau jeu de données, généralement beaucoup plus petit, en partant des poids du modèle pré-entraîné plutôt que d'une initialisation aléatoire. La mécanique est simple : on prépare ses données sous forme de paires entrée-sortie (ou instruction-réponse), on définit un taux d'apprentissage bas (généralement 10 à 100 fois plus bas que le pré-entraînement) et on entraîne pendant quelques époques. Le taux d'apprentissage bas est crucial — trop élevé et on détruit les connaissances acquises pendant le pré-entraînement, un phénomène appelé oubli catastrophique. Trop bas et le modèle s'adapte à peine aux nouvelles données. Trouver le bon équilibre relève plus de l'art que de la science, et il faut souvent plusieurs essais pour y arriver.
Il existe plusieurs approches distinctes de fine-tuning, et la terminologie prête à confusion. Le fine-tuning complet met à jour chaque paramètre du modèle — c'est l'approche la plus expressive, mais aussi la plus coûteuse et la plus sujette au surapprentissage sur de petits jeux de données. Le fine-tuning supervisé (SFT) désigne spécifiquement l'entraînement sur des paires instruction-réponse étiquetées, ce qui est la méthode utilisée pour transformer les modèles de base en assistants conversationnels. C'est ce que fait OpenAI quand on utilise leur API de fine-tuning, et ce que des projets comme Axolotl et LLaMA-Factory permettent de faire facilement en local. Ensuite, il y a les méthodes à efficacité paramétrique comme LoRA et QLoRA, qui ne mettent à jour qu'une petite fraction des paramètres et qui ont largement remplacé le fine-tuning complet pour la plupart des cas d'usage pratiques. La distinction compte, car chaque approche a des exigences différentes en données, en coût de calcul et en risques.
La qualité et le format de votre jeu de données de fine-tuning comptent énormément — souvent plus que sa taille. Quelques centaines d'exemples de haute qualité, soigneusement construits dans le bon format, peuvent produire de meilleurs résultats que des dizaines de milliers d'exemples bruités. Le format standard pour l'entraînement par instructions est une conversation structurée : message système, message utilisateur, réponse de l'assistant. La cohérence dans le formatage, le ton et la qualité au sein de votre jeu de données est plus importante que le volume. Un piège courant est d'entraîner sur des données qui contredisent ce que le modèle a appris en pré-entraînement — si votre jeu de données dit que le ciel est vert, le modèle apprendra à dire que le ciel est vert, mais seulement dans des contextes similaires à vos exemples d'entraînement. Ailleurs, il reviendra à ses connaissances de pré-entraînement, créant un comportement incohérent difficile à déboguer.
Savoir quand faire du fine-tuning plutôt que d'utiliser d'autres approches est l'une des décisions pratiques les plus importantes en IA appliquée. Le fine-tuning est le bon outil quand on a besoin que le modèle adopte de façon constante un format, un ton ou un comportement spécifique qui ne peut pas être obtenu de façon fiable par le prompting seul. C'est probablement excessif — et potentiellement contre-productif — si on veut simplement que le modèle connaisse les produits de son entreprise (utiliser le RAG à la place) ou suive des instructions spécifiques au cas par cas (utiliser les prompts système). Une bonne règle : si on peut écrire un prompt qui obtient le comportement voulu 90 % du temps, le fine-tuning peut pousser à 99 %. Si le prompt ne fonctionne que 20 % du temps, le fine-tuning seul ne réglera probablement pas le problème — il faut repenser l'approche entièrement.