LLMs Locaux en Production — Journal de bord d’un fork vLLM
Cette section raconte l’histoire du backend d’inférence qui héberge les modèles de langage locaux du parcours : un fork de vLLM tournant sur 3 cartes RTX 4090, qui expose des endpoints compatibles OpenAI pour les notebooks Texte, les assistants de code, et l’orchestration multi-agents. Dix-sept mois d’évolution — la valse des modèles, les batailles de quantification, une saga de cache KV, un été de pannes silencieuses et de faux coupables, un automne de déblocages et de reprise de service, des impasses documentées — condensés en un récit d’ingénierie de production.
Sources : vllm-project/vllm (moteur d’inférence amont, Apache 2.0) · Qwen (famille de modèles Qwen3.x) · Sandermage/genesis-vllm-patches (arbre de patches downstream Genesis v7.72.x, auteur Sandermage, mai 2026 — adopté pour débloquer TurboQuant sur architecture hybride). Confirmation croisée du correctif par l’utilisateur
xyehyadans vllm#41726.
Pourquoi ce chapitre ?
Tout le parcours GenAI parle de modèles : générer une image, raisonner avec un LLM, orchestrer des agents. Mais derrière les notebooks « LLMs locaux » de cette série Texte, derrière l’intégration des assistants de code en mode auto-hébergé, il y a une machine et un serveur d’inférence qui doivent tenir la charge d’une classe entière. Ce serveur ne tombe pas du ciel : il est le produit de seize mois de choix, de mesures, et — surtout — d’échecs documentés.
L’idée directrice, répétée à chaque étape : un endpoint LLM de production auto-hébergé est un arbitrage permanent entre quatre grandeurs en tension — débit, longueur de contexte, qualité, et VRAM. On ne maximise jamais les quatre à la fois. Tout le métier consiste à choisir, mesurer, et documenter le compromis.
| Sans ce backend | Avec ce backend |
|---|---|
| Dépendance à une API tierce payante par token | Modèle illimité sur GPU maison, coût marginal nul |
| Données envoyées hors site | Inférence 100 % locale, rien ne sort |
| Pas de contrôle sur le modèle / la version | Choix du modèle, de la quantification, du contexte |
| Capacité figée | Arbitrage débit/contexte ajusté au workload réel |
Place dans l’écosystème
Ce backend est le fournisseur de modèles locaux du cluster. Il complète les autres briques du parcours :
| Brique | Rôle | Lien |
|---|---|---|
| Notebooks Texte (LocalLlama, Quantization, Production Patterns) | Démontrent l’usage d’un LLM local | 9 · 10 · 11 |
| Claudish | Route le tier « Haiku » des assistants de code vers… ce backend vLLM | wire Anthropic → OpenAI |
| Open WebUI | Expose le modèle aux utilisateurs finaux (multi-tenant) | UI + RAG |
| Ce backend (cette section) | Sert le modèle qui alimente les trois précédents | endpoints OpenAI-compat |
Autrement dit : quand un notebook Texte interroge un « LLM local », quand Claudish route une requête de code vers son tier gratuit, ou quand un étudiant chatte dans Open WebUI, c’est ce serveur qui répond.
Documentation
| Document | Description |
|---|---|
| docs/journal-de-bord.md | Le récit complet : le décor matériel, les origines et un incident de sécurité, la valse des modèles et le cimetière des rejetés, les batailles d’ingénierie (quantification, cache KV, graphes CUDA, échantillonnage), la saga TurboQuant→Genesis, les impasses documentées, l’été des pannes silencieuses (wedges, OOM au boot, montages fantômes, redémarrueur invisible) jusqu’à la sortie de l’arbre de patches, et les leçons transférables. |
Leçon fondatrice — les quatre grandeurs en tension
Le réflexe à emporter de tout ce chapitre : débit, contexte, qualité, VRAM ne se maximisent pas ensemble. Sur du matériel grand public (Ada Lovelace, pas du datacenter), la VRAM est la ressource rare et la génération de la carte décide de ce qui est possible, pas seulement de ce qui est rapide. Le bon compromis dépend du workload réel — beaucoup d’utilisateurs en contexte long n’appelle pas les mêmes leviers qu’un mono-utilisateur qui décode vite. Et documenter une configuration rejetée vaut autant que documenter celle qui tourne : elle empêche de refaire dix fois la même expérience.
Section LLMs Locaux en Production — Août 2026. Le backend d’inférence du cluster MyIA : un fork vLLM sur 3× RTX 4090, seize mois d’arbitrages débit/contexte/qualité/VRAM — et de fiabilité gagnée de haute lutte — et un serveur qui répond aujourd’hui en MoE quantifié sur vLLM d’origine versionné, avec plus d’un million de tokens de contexte.