Québec, Canada

403-1381 1re Avenue

+1 581.849.27.96

bdgouthiere@gmail.com

Fine-tuning : spécialiser un modèle pré-entraîné pour votre cas d'usage

Ou : Pourquoi un modèle qui a lu tout Internet a quand même besoin de cours particuliers


Un LLM pré-entraîné est un généraliste. Il sait un peu de tout : du code, du droit, de la médecine, de la cuisine, de la poésie. Mais il ne sait rien profondément. Demandez-lui de rédiger un contrat juridique français conforme aux dernières jurisprudences, et il va produire quelque chose qui ressemble à un contrat — avec la bonne structure, le bon vocabulaire — mais qui contiendra probablement des hallucinations sur les articles de loi.

Le fine-tuning, c’est le processus qui transforme ce généraliste en spécialiste. On prend un modèle pré-entraîné et on continue son entraînement sur un dataset beaucoup plus petit, spécifique à un domaine ou à une tâche. Le modèle ajuste ses paramètres pour mieux correspondre à ce nouveau corpus — il « apprend » le vocabulaire spécialisé, le style attendu, les patterns propres au domaine.

C’est comme engager un diplômé en lettres et lui faire suivre un stage de six mois dans un cabinet juridique. Il savait déjà écrire. Maintenant il sait écrire des contrats.

Quand fine-tuner, quand ne pas fine-tuner — la question à un million de tokens

Le processus en trois étapes

1. Préparer le dataset — On collecte des centaines ou milliers d’exemples au format (entrée, sortie attendue). Pour un chatbot de support client : des paires (question client, réponse idéale). Pour un modèle médical : des cas cliniques avec leurs diagnostics. La qualité du dataset est tout — un dataset médiocre produit un modèle médiocre, peu importe la puissance du modèle de base.

2. Entraîner — On relance l’entraînement du modèle sur ce dataset, avec un taux d’apprentissage (learning rate) beaucoup plus bas que lors du pré-entraînement. On ne veut pas que le modèle « oublie » ce qu’il sait déjà — on veut qu’il ajuste ses connaissances. C’est un équilibre délicat : trop d’entraînement et le modèle oublie ses capacités générales (catastrophic forgetting), pas assez et il n’a rien appris de nouveau.

3. Évaluer — On teste le modèle fine-tuné sur des exemples qu’il n’a pas vus pendant l’entraînement. Est-ce qu’il est meilleur que le modèle de base sur la tâche cible ? Est-ce qu’il est devenu pire sur les tâches générales ? Le sweet spot est un modèle qui excelle dans son domaine sans avoir perdu sa capacité à comprendre le langage en général.

LoRA et QLoRA : fine-tuner sans se ruiner

Le fine-tuning complet d’un LLM — modifier tous ses paramètres — est prohibitif pour la plupart des organisations. Un modèle de 70 milliards de paramètres nécessite des dizaines de GPU et des jours d’entraînement.

LoRA (Low-Rank Adaptation) a changé la donne. L’idée : au lieu de modifier tous les paramètres du modèle, on gèle le modèle original et on ajoute de petites matrices entraînables dans chaque couche. Ces matrices — appelées « adaptateurs » — n’ont qu’une fraction des paramètres du modèle complet (typiquement 0.1% à 1%), mais elles suffisent à capturer les ajustements nécessaires1.

QLoRA va encore plus loin : on quantise le modèle de base en 4 bits (réduisant sa taille en mémoire par 4) puis on applique LoRA par-dessus. Résultat : un modèle de 70 milliards de paramètres peut être fine-tuné sur un seul GPU. C’est la démocratisation du fine-tuning.

Fine-tuning vs RAG : le faux dilemme

La question la plus fréquente : « J’ai besoin que mon modèle connaisse mes documents internes. Fine-tuning ou RAG ? »

CritèreFine-tuningRAG
Quand utiliserChanger le comportement du modèle (style, format, raisonnement)Donner des informations au modèle (documents, données actualisées)
DonnéesStatiques (intégrées dans le modèle)Dynamiques (mises à jour sans réentraînement)
Coût initialÉlevé (entraînement GPU)Moyen (pipeline d’indexation)
Coût par requêteFaible (pas de retrieval)Plus élevé (recherche + contexte long)
FraîcheurFigé à la date du fine-tuningToujours à jour
HallucinationsPeut en introduire de nouvellesRéduit les hallucinations (sources)

La réponse courte : si vous voulez que le modèle sache des choses (politique de remboursement, documentation technique, jurisprudence), utilisez le RAG. Si vous voulez qu’il se comporte d’une certaine façon (ton de marque, format spécifique, raisonnement médical), fine-tunez-le. Et souvent, la bonne réponse est les deux.

Le dialogue du fine-tuning inutile

DevOps Dave : J’ai fine-tuné GPT sur toute notre documentation interne. 50 000 exemples.

Security Sarah : Pourquoi pas du RAG ?

DevOps Dave : Le fine-tuning, c’est plus élégant. Le modèle sait notre documentation.

Security Sarah : Il la savait. Au passé. La doc de la semaine dernière. Depuis, trois pages ont été mises à jour.

DevOps Dave : Je peux re-fine-tuner.

Security Sarah : Toutes les semaines ? À 200 $ le run ?

DevOps Dave : … RAG ?

Security Sarah : RAG. Avec un fine-tuning léger pour le ton et le format si tu veux. Mais les données factuelles qui changent, c’est du RAG. Toujours.

Tableau récapitulatif

ConceptEn une phrase
Fine-tuningContinuer l’entraînement d’un modèle pré-entraîné sur un dataset spécialisé.
LoRATechnique qui fine-tune seulement de petits adaptateurs, pas tout le modèle.
QLoRALoRA + quantisation 4 bits — fine-tuning sur un seul GPU.
Catastrophic forgettingLe modèle oublie ses capacités générales à force de se spécialiser.
Transfer learningPrincipe général de réutiliser un modèle entraîné sur une tâche pour une autre.

Le mot de la fin

Le fine-tuning est l’outil le plus puissant et le plus surutilisé de l’écosystème LLM. Puissant parce qu’il permet de créer des modèles spécialisés remarquables. Surutilisé parce que dans 80% des cas, un bon prompt ou un pipeline RAG bien conçu fait le travail — pour une fraction du coût et sans les risques du catastrophic forgetting.

La règle d’or : le fine-tuning change le comment, pas le quoi. Si votre modèle répond mal parce qu’il n’a pas les bonnes informations, donnez-lui les bonnes informations (RAG). Si votre modèle a les bonnes informations mais les présente mal, fine-tunez-le. Et si vous ne savez pas lequel vous avez besoin, commencez par le RAG — c’est moins cher, plus flexible, et réversible.



  1. LoRA a été proposé par Hu et al. en 2021 (« LoRA: Low-Rank Adaptation of Large Language Models »). L’intuition mathématique est que l’ajustement nécessaire pour spécialiser un modèle vit dans un sous-espace de faible dimension — on n’a pas besoin de modifier tous les paramètres parce que la plupart n’ont pas besoin de changer. Les adaptateurs LoRA capturent ce sous-espace avec des matrices de rang faible. Le résultat : un « diff » de quelques mégaoctets qui transforme un modèle généraliste en spécialiste, sans toucher au modèle original. ↩︎