Le dimensionnement se calcule avant de choisir un modèle, et il décide du budget matériel. Les poids doivent tenir en mémoire d'accélérateur à côté du cache d'attention, qui grandit avec le nombre de sessions simultanées et la longueur du contexte. Tant que les poids tiennent sur un GPU, une réplique est un pod et une carte. Quand ils n'y tiennent plus, on les répartit sur plusieurs cartes d'une même machine. Quand ils ne tiennent plus dans une machine, il faut plusieurs machines pour servir un seul modèle.
C'est là que Kubernetes seul ne suffit plus. Un Deployment ne sait pas que quatre pods forment un modèle : il les ordonnance séparément, en redémarre un sans les autres, et un groupe à moitié placé ne sert rien du tout. LeaderWorkerSet traite le groupe comme l'unité — un meneur, des suiveurs, placés, redémarrés et mis à l'échelle ensemble. C'est la pièce qui rend une réplique multi-nœuds réellement exploitable, et c'est pour cela qu'elle est installée dans la plateforme avant d'en avoir besoin.
La chaîne que nous exploitons est celle-ci : KServe pour la déclaration du service, LeaderWorkerSet pour les répliques réparties, le NVIDIA GPU Operator pour les pilotes, le plugin de périphérique et la métrologie DCGM, vLLM comme moteur d'inférence, une passerelle Envoy en entrée avec un ordonnanceur conscient du tokenizer. Elle tourne sur l'infrastructure d'un client, décrite en GitOps, aux côtés du stockage Ceph, de PostgreSQL opéré par CloudNativePG et d'OpenBao.
Le manifeste ci-contre en est extrait, et un de ses détails porte l'essentiel : le point de contrôle est déjà quantifié en FP8 lorsque nous le déposons. Ce n'est pas une note de qualité, c'est une décision de dimensionnement. L'empreinte disque et mémoire tombe de moitié environ, le démarrage ne comporte plus de passe de quantification, et le schéma choisi — poids en flottant huit bits par canal, activations dynamiques par jeton — est plus serré que celui que le moteur appliquerait de lui-même. Les poids arrivent par un travail de téléchargement dans un volume interne, montés ensuite en lecture seule : au démarrage, le service ne va rien chercher sur Internet.
Ce que cela produit se mesure mal, et se mesure quand même. Sur une mission d'exploitation documentaire, l'équipe cliente a estimé à 1 h (1) le temps rendu à chaque collaborateur équipé. C'est une estimation déclarative, sur un seul client, et elle ne se généralise pas. ▪