Optimisation des LLM en Production : Du Dataset au Déploiement
Vous disposez d’un modèle Claude ou GPT qui répond à 85 % de vos besoins. Les 15 % restants vous coûtent en corrections manuelles, en inflation de la fenêtre de contexte ou en appels API inutiles. L’optimisation semble être la solution. Puis vous réalisez qu’il n’existe pas de chemin simple de « J’ai des données étiquetées » à « Mon modèle fonctionne mieux ».
L’optimisation n’est pas de l’optimisation de prompt. Ce n’est pas du RAG. Ce sont les poids qui changent par descente de gradient sur votre domaine spécifique. Quand cela fonctionne, vous obtenez une inférence plus rapide, des fenêtres de contexte plus petites et des modèles qui suivent réellement votre format. Quand cela échoue — et cela échoue souvent — vous avez perdu des semaines en étiquetage de données et en calcul sans rien à montrer.
J’ai construit des systèmes d’optimisation en production chez AlgoVesta. J’ai aussi vu des équipes dépenser 40 000 $ en temps GPU pour produire un modèle pire que le modèle de base. La différence n’est pas l’intelligence. C’est le processus.
Ce guide couvre l’intégralité du parcours : quand l’optimisation est pertinente, comment préparer des données qui améliorent réellement les performances, choisir entre les modèles open-source et les services gérés, la configuration de l’entraînement, l’évaluation et les modèles de déploiement qui ne cassent pas en production.
Quand l’Optimisation Résout le Problème (et Quand Elle Ne le Fait Pas)
L’optimisation est un marteau lourd. Avant de le brandir, comprenez ce qu’il répare et ce qu’il ne répare pas.
L’optimisation aide réellement pour :
- La terminologie et la formulation spécifiques au domaine. Si vous avez besoin que le modèle utilise systématiquement votre vocabulaire, réponde dans votre ton, ou suive un format spécifique 95 % du temps, l’optimisation fonctionne. GPT-3.5 optimisé sur des tickets de support client apprend le langage de votre entreprise.
- La réduction des exigences de la fenêtre de contexte. Si vous passez 8 000 tokens de contexte pour que le modèle se souvienne de « répondre toujours en JSON », un modèle optimisé internalise cette règle dans ses poids. Votre contexte moyen descend à 2 000 tokens.
- Les schémas de raisonnement spécifiques à la tâche. Les modèles optimisés sur des tâches d’analyse financière étiquetées, de génération de code avec les schémas de votre base de code, ou d’extraction structurée à partir de textes désordonnés apprennent ces schémas plus rapidement et de manière plus fiable que la seule ingénierie de prompt.
- La réduction de la latence et du coût d’inférence. Un modèle optimisé plus petit (Llama 3 8B au lieu de GPT-4o) peut surpasser les modèles de base plus grands sur votre tâche spécifique. L’inférence devient 10 fois moins chère.
L’optimisation NE résout PAS :
- Les lacunes fondamentales en matière de raisonnement. Si le modèle de base ne peut pas faire de mathématiques étape par étape, l’optimisation ne créera pas cette capacité. Vous ajustez les poids, vous n’ajoutez pas de nouvelles fonctionnalités.
- Les hallucinations dues à un contexte manquant. L’optimisation rend les modèles meilleurs pour imiter des schémas, pas meilleurs pour savoir ce qu’ils ne savent pas. Le RAG résout cela. L’optimisation non.
- Les connaissances obsolètes. Un modèle entraîné sur des données de 2023 ne connaîtra pas soudainement les événements de 2025 parce que vous l’optimisez. Vous avez besoin de récupération ou de ré-entraînement continu.
- Les types de tâches que le modèle de base n’a jamais vus. Un modèle entraîné principalement sur du texte ne deviendra pas un programmeur grâce à l’optimisation sur des données financières. L’architecture n’a pas changé.
Commencez ici : Un prompt de 3 phrases avec des exemples peut-il résoudre votre problème ? Utilisez cela d’abord. Votre cas d’utilisation nécessite-t-il une cohérence de format, un langage de domaine, ou une réduction de la taille de la fenêtre de contexte ? L’optimisation vaut la peine d’être explorée. Le modèle de base ne comprend-il fondamentalement pas votre tâche ? Investissez dans le RAG ou un modèle différent, pas dans l’optimisation.
Préparation des Données : Le Vrai Travail
C’est là que la plupart des projets d’optimisation échouent silencieusement.
Vous collectez 500 exemples étiquetés. Ils ont l’air bien dans une feuille de calcul. Vous entraînez. Vous obtenez une amélioration de 2 %. Vous blâmez le modèle. En fait, votre jeu de données a enseigné du bruit au modèle.
Voici ce qui compte réellement :
Taille et composition du jeu de données. Le nombre de tokens compte plus que le nombre d’exemples. La documentation publique d’Anthropic sur l’optimisation (en mars 2025) recommande un minimum de 10 000 tokens pour une optimisation significative, bien que 100 000+ tokens montrent un signal plus clair. Cela représente environ 20 à 50 exemples bien étiquetés si chacun fait 2 000 tokens, ou 500+ exemples si chacun fait 200 tokens.
La distribution de vos exemples façonne ce que le modèle apprend. Si 80 % de vos exemples sont des cas limites et 20 % des opérations normales, le modèle optimisé devient un spécialiste des cas limites. Équilibrez votre jeu de données pour refléter la distribution de production.
La qualité prime sur la quantité. Cinq exemples qui représentent parfaitement le comportement souhaité battent cinquante exemples médiocres. Chaque exemple doit montrer au modèle exactement à quoi ressemble le succès : sortie correcte, format correct, ton correct.
Voici un scénario concret d’AlgoVesta : Nous avons optimisé Claude 3 Haiku sur l’analyse financière structurée. Mauvaise approche : 300 exemples de « l’analyste a écrit un rapport, montrez-moi les métriques clés ». Bonne approche : 60 exemples soigneusement sélectionnés montrant exactement le schéma JSON dont nous avions besoin, avec des sorties qui correspondaient à 100 % aux exigences de production.
Structure des paires entrée/sortie. Chaque exemple d’entraînement est une paire prompt-complétion. Le prompt doit être réaliste, exactement comme votre système de production appellera le modèle. La complétion doit être exactement ce que vous voulez recevoir en retour.
Mauvaise paire d’entraînement :
{