Rendre le dispatch WAN bon marché : une feuille de route étayée

Le dispatch distant d'experts fonctionne et est identique octet pour octet — mais un décodage WAN est borné par les allers-retours. Voici le plan pour en réduire le coût, étayé par des chiffres de production de DeepSeek, Petals et d'autres (feuille de route, pas livré).

Cadrage : les chiffres *que nous avons mesurés* sont présentés comme mesurés ; tout ce qui est décrit comme un plan est une feuille de route, pas un résultat livré. Le but est de prendre le dispatch distant d'experts — déjà correct et payé (voir le billet compagnon) — et de rendre l'aller-retour WAN assez bon marché pour qu'un GPU distant ou un téléphone soit un membre de l'essaim de premier ordre, pas un membre lent.

Notre propre mesure, publiée sans détour : le dispatch coûte environ 110 KB par token par couche — 12.3 KB à l'aller (dispatch) plus 98.3 KB au retour (combine). L'asymétrie de 8× vient de ce que chaque expert sélectionné renvoie sa sortie complète *avant* la somme pondérée. En lien direct, c'est un surcoût de débit de 1.2 % ; via un relais CDN, ~28 %. Voilà les faits. Le reste de ce billet, c'est comment nous entendons combler l'écart — et pourquoi les octets sont la partie facile.

A round trip being folded, batched and overlapped to hide latency
La loi dominante

Un décodage WAN est borné par les allers-retours

Le résultat publié le plus important ici n'est pas le nôtre — c'est celui de Petals : quand le RTT passe de <5 ms à 100 ms, le décodage chute de 1.24 à 0.57 steps/s, tandis qu'une coupe de bande passante de 10× ne le change que de ~0. La latence domine ; la bande passante a du mou. Cela recadre tout le problème : rogner des octets, c'est de la marge, mais couper les allers-retours, c'est la substance. Chaque point ci-dessous est classé selon la quantité de coût d'aller-retour qu'il retire.

Moins cher sur le fil

Réduction d'octets, l'exactitude d'abord

  • Renvoyer des sommes partielles pondérées, pas les sorties brutes des experts. Par linéarité, le combine du backbone est exact dans les deux cas, mais le worker renvoie un seul vecteur sommé au lieu de 8 — c'est la réduction ~8× du combine, et c'est précisément ce que font DeepSeek-V3 / DeepEP en production.
  • Étoile parallèle, pas chaîne série sur plusieurs workers : ΣRTT s'effondre à max RTT.
  • F16 sur le fil — nous acceptons déjà un cosine inter-backends de ~0.998, le transport F16 est donc dans la tolérance existante ; INT8/FP8 par blocs plus tard, une fois que notre propre porte argmax/cosine l'aura validé face aux poids Q4_K_M (Petals a montré de l'INT8 sur l'internet réel sans perte de qualité).
  • Ensemble, ceux-ci visent ~110 KB → 9–12 KB par token (~12×) — réel, mais rappelez-vous que c'est la *marge*, pas le goulot.
Amortir l'aller-retour

La substance : moins de trajets, des trajets masqués

  • Le décodage spéculatif transforme plusieurs tokens en un seul aller-retour. À un WAN mesuré de 80 ms, le seuil de rentabilité n'est que de ~1.15–1.2 tokens acceptés par pas — même une faible supposition n-gram l'emporte donc (le Jacobi vanilla peut se retourner contre soi ; le choix de la technique compte). Notre protocole de dispatch porte déjà n_tokens > 1, aucun changement sur le fil n'est donc nécessaire.
  • Le lotissement continu au gateway replie les requêtes concurrentes en un seul trajet ; le cache de préfixes à affinité de slot garde une session sur les mêmes répliques.
  • Masquage de latence : l'expert partagé est un terme additif indépendant, le backbone le calcule donc *localement* pendant l'aller-retour distant (ScMoE rapporte 1.82× sur PCIe, sans réentraînement). Gardez les hot experts en local, n'envoyez à distance que les froids (EPLB réplique les ~32 plus chauds pour une accélération de décodage de 2.54× en production).
Politique et l'avenir des gros tuyaux

Router par pair, et ce que change 200 Gb/s

Politique de chemin : les pairs routables publiquement prennent la voie directe (la route à 1.2 %) ; le relais est réservé aux seuls appareils derrière NAT. Et quand arriveront de larges liens 200 Gb/s, les 110 KB se sérialisent en ~4.4 µs — le terme de bande passante disparaît avant même les réductions ci-dessus, et une tranche de 794 MB s'expédie en ~32 ms. Mais le RTT, c'est de la physique ; il ne rétrécit pas — le décodage spéculatif et le chevauchement restent donc les vrais leviers, même à 200 G. Là où le gros tuyau compte réellement, c'est la fédération multi-backbone (plusieurs backbones partageant un pool d'experts) et le travail borné par la bande passante : prefill de prompts longs et débit à gros lots.

Une réserve, dite honnêtement : la couche de transport elle-même (WebSocket vs QUIC, surcoût de masquage, hole-punching NAT) n'a aucun résultat externe que nous puissions citer — c'est de l'ingénierie que nous mesurerons nous-mêmes avant d'affirmer quoi que ce soit. Tout ce qui précède repose sur des chiffres de production publiés (DeepEP / DeepSeek-V3, Petals, DeepSpeed-MoE, ScMoE, SGLang/EPLB) plus nos propres mesures ; quand un point de la feuille de route est livré, ses chiffres et son temps sont mis à jour ici.

La suite

Cibles d'intégration

Notre hook de dispatch se pose sur build_moe_ffn — une seule fonction que partagent 43 architectures MoE dans le moteur d'inférence. Trois invariants sont indépendants du modèle : le calcul MoE (routé = Σ wᵢ·Eᵢ(x), linéaire), la voie de code partagée, et les tenseurs d'experts empilés standard de GGUF (ne[2] le plus externe → découpe alignée sur les blocs). Intégrer un nouveau modèle n'est donc pas une refonte — c'est un seul passage par une porte de vérification argmax/cosine propre au modèle.

modèleexperts · routagepar expert (Q4≈)partagéstatut
Step-3.7-Flash 198B (servi aujourd'hui)288 · top-8mesuré sur la flotteouien service — 16 stages, deux machines
Qwen3.5-122B256 · top-85.3 MB (mesuré)ouiservi de bout en bout sur 3 machines
GLM-5.2 744B——ouivérifié sur linkcpp — rapport non publié
GLM-4.5 / 4.6 355B160 · top-8~13 MBouiprévu (hook vérifié)
MiniMax-M2 230B256 · top-8~8 MBnonprévu (hook vérifié)
DeepSeek-V3 / R1 671B256 · top-8~25 MBouiprévu (graphe deepseek2)
Kimi K3 2.8T——ouiprochaine étape de validation — vérification sur p4
Qwen3-235B128 · top-8~11 MBnonprêt
gpt-oss-120b128 · top-4~14 MBnonprêt
Llama 4 Maverick 400B128 · top-1~70 MBouiprévu (MoE une couche sur deux)
MiniMax M3 428B128 · top-4à déterminer (GGUF)ouien attente du moteur amont
Mixtral 8×22B8 · top-2~170 MBnonfonctionne — workers GPU uniquement

L'industrie converge vers le MoE à grain fin — des experts plus petits, plus nombreux, une sparsité plus élevée (DeepSeek, Qwen, Kimi, GLM, gpt-oss ont tous pris cette voie). Chaque pas dans cette direction rend l'unité de participation de l'essaim plus petite et le grain du marché de rareté plus fin. Les modèles ci-dessus ne sont pas une liste de souhaits ; chacun passe déjà par le même hook de dispatch que nous exécutons sur notre flotte de test — l'intégration est une porte de vérification, pas un projet d'ingénierie.