Notes de terrain MLOps
Le menu : des POC complets avec leurs maths, les nouveaux modèles testés à chaud, des billets d'humeur et des astuces à emporter.
- EmbeddingGemma 2 : un banc d'essai pour remplacer BGE-M3 dans mon RAG — Plat du jour, 30 oct. 2026
Google a publié EmbeddingGemma 2 le 6 octobre : 271 millions de paramètres pour la partie texte, des vecteurs de 768 dimensions qu'on peut couper à 256, licence Apache 2.0. Sur mon serveur, BGE-M3 partage un huitième de GPU avec un reranker. Le POC pour comparer les deux sur mes propres documents, et le piège du fp16. - Modèle Hugging Face dans une image Docker : quatre réglages pour qu'il soit vraiment là — À emporter, 30 oct. 2026
Le modèle est téléchargé au build, et au démarrage le conteneur le cherche ailleurs ou le retélécharge. Quatre réglages que j'applique maintenant à chaque image, appris à la dure sur mon ml-runner. - Mistral Large 4 en poids ouverts : bonne nouvelle, mais je ne le ferai pas tourner — Apéro, 30 oct. 2026
Mistral a publié fin octobre les poids de Large 4, un modèle d'environ mille milliards de paramètres. Pour l'Europe, c'est une vraie avancée. Pour quelqu'un qui sert ses modèles sur une L4, les comptes sont vite faits, et la licence a reculé par rapport à Large 3. - Orchestrer des agents spécialisés : choisir, synthétiser, montrer ce qui se passe — À la carte, 12 sept. 2026
Un agent avec quarante outils finit par se tromper d'outil. Plusieurs agents spécialisés derrière un orchestrateur tiennent mieux, à quatre conditions : choisir avant d'appeler, recevoir des constats structurés, savoir dire « je ne sais pas » et afficher un état réel. Ce que j'en ai retenu en construisant Chimera. - Évaluer un modèle avant de le livrer : mon harnais en quatre couches — À la carte, 14 avr. 2026
Un bon score sur le jeu de test ne garantit rien sur la production. Comment je monte un pipeline d'évaluation qui attrape les régressions avant les utilisateurs : tests de comportement, jeu de régression, verrou en CI, et le calcul qui dit si un écart de score veut dire quelque chose. - vLLM, TGI, SGLang à batch=1 : comment je mesure la latence — À la carte, 2 avr. 2026
Les benchmarks de débit répondent à une autre question que celle d'un assistant, où un seul utilisateur attend sa réponse. Le protocole que j'utilise en mono-flux, les métriques à suivre, le plancher physique fixé par la mémoire, et les pièges qui rendent la plupart des chiffres publiés incomparables. - Feature store : quand la valeur servie n'est plus celle de l'entraînement — À la carte, 24 mars 2026
Le train/serve skew se cache dans le passage entre le chemin offline et le chemin online. Aucune erreur ne remonte, les métriques offline restent bonnes. Les trois formes que je rencontre, un calcul simple pour l'âge d'une valeur servie, et le contrôle qui permet de le voir. - Typer une API ML de bout en bout : FastAPI, pydantic et un client TypeScript généré — À la carte, 11 mars 2026
Le contrat d'API écrit une seule fois en Python, publié en OpenAPI par FastAPI, et le TypeScript du frontend généré à partir de là. Un contrôle en CI vérifie que rien n'a dérivé. Pas de client écrit à la main. - Les modèles de maturité MLOps, je les lis à l'envers — Apéro, 28 févr. 2026
L'escalier niveau 0 → niveau 3 décrit bien l'arrivée, et l'ordre des marches est inventé. Le suivre à la lettre, c'est le meilleur moyen d'automatiser un modèle que personne n'utilise. Mon ordre à moi, et le petit calcul qui le justifie. - Superviser un LLM dès le premier jour : latence, dérive, qualité, coût — À la carte, 14 févr. 2026
Quatre signaux à suivre sur un service LLM dès sa mise en ligne, pourquoi le monitoring applicatif classique passe à côté, et l'ordre dans lequel je les instrumente.