Anneau in-flight
Un pipeline qui ne se vide jamais : plusieurs requêtes occupent des stages différents au même instant, si bien qu'aucun stage n'attend la fin de celle qui le précède.
Kvasir sert un modèle comme un pipeline de stages, chacun détenant une tranche contiguë de ses couches. Un stage exécute ses couches et passe la frontière — un hidden state, pas des poids — au suivant. Aucun stage ne détient le modèle entier, et rien ne se tient au milieu du chemin de données : le bridge soumet à la tête et lit à la queue, tandis que les stages se passent les résultats entre eux via leurs propres agents.
Pourquoi un pipeline qui se vide gaspille l'essentiel de la machine
Si un pipeline termine une requête avant d'admettre la suivante, tous les stages sauf un sont inoccupés à chaque instant — un anneau à quatre stages tourne au quart de son matériel. La conception in-flight garde plusieurs requêtes en mouvement à la fois : pendant que le stage 3 décode une requête, le stage 0 en préremplit déjà une autre. Les stages rapportent combien de temps ils ont retenu un batch et combien de temps ils n'ont rien eu à soumettre : un anneau affamé ne ressemble donc pas à un anneau saturé.
Quatre stages, trois requêtes, un seul instant.
stage 0 stage 1 stage 2 stage 3
layers 0-11 12-22 23-33 34-44
request A decode
request B decode
request C prefill
boundaries pass → agent to agent, never through the callerCe qu'est exactement un batch
Des lignes issues de requêtes différentes sont empaquetées dans un même batch physique, et cette appartenance exacte est transmise à tous les stages en aval plutôt que redécidée à chaque saut. C'est ce qui permet à un prefill et à plusieurs décodages de partager une seule passe, et c'est pourquoi la taille d'un batch est une propriété du chargement : le plan énonce d'avance les largeurs de lignes et de micro-batch, et ces largeurs fixent le plus gros résultat qu'un stage puisse jamais renvoyer.
Un pipeline exige au moins deux stages. Un pipeline à un seul stage est refusé net — la tête et la queue sont des rôles distincts, et un nœud unique qui les confond est un autre moteur, pas un anneau plus petit.
L'anneau est la voie de la latence, et sa granularité est la couche. Le sharding d'experts supprime ce plancher en coupant à l'intérieur d'une couche, et se branche sur le même tissu de service.