WAN-dispatch goedkoop maken: een gefundeerde routekaart
Externe expert-dispatch werkt en is byte-identiek — maar een WAN-decodering is rondreis-gebonden. Dit is het plan om de kosten te drukken, gefundeerd op productiecijfers van DeepSeek, Petals en anderen (routekaart, niet geleverd).
Kader: de cijfers *die wij gemeten hebben* worden als gemeten gepresenteerd; alles wat als plan wordt beschreven is een routekaart, geen geleverd resultaat. Het doel is externe expert-dispatch — al correct en betaald (zie de begeleidende post) — te nemen en de WAN-rondreis goedkoop genoeg te maken zodat een verre GPU of een telefoon een eersteklas zwermlid is, geen traag lid.
Onze eigen meting, gewoon gepubliceerd: dispatch kost ongeveer 110 KB per token per laag — 12.3 KB eruit (dispatch) plus 98.3 KB terug (combine). De asymmetrie van 8× komt doordat elke geselecteerde expert zijn volledige uitvoer teruggeeft *vóór* de gewogen som. Direct verbonden is dat een doorvoer-overhead van 1.2%; via een CDN-relay ~28%. Dat zijn de feiten. De rest van deze post gaat over hoe we het gat willen dichten — en waarom bytes het makkelijke deel zijn.

Een WAN-decodering is rondreis-gebonden
Het allerbelangrijkste gepubliceerde resultaat hier is niet van ons — het is dat van Petals: als de RTT van <5 ms naar 100 ms gaat, zakt het decoderen van 1.24 naar 0.57 stappen/s, terwijl een bandbreedtereductie van 10× het met ~0 verandert. Latentie domineert; bandbreedte is speling. Dat herformuleert het hele probleem: bytes afknabbelen is speelruimte, maar rondreizen wegsnijden is de kern. Elk item hieronder is gerangschikt naar hoeveel rondreis-kosten het wegneemt.
Bytereductie met nauwkeurigheid voorop
- Retourneer gewogen deelsommen, geen rauwe expertuitvoer. Door lineariteit is de combine van de backbone hoe dan ook exact, maar de worker retourneert één opgetelde vector in plaats van 8 — dat is de ~8×-combine-reductie, en precies wat DeepSeek-V3 / DeepEP in productie doen.
- Parallelle ster, geen seriële keten over meerdere workers: ΣRTT valt samen tot max RTT.
- F16 op de draad — we accepteren al een cross-backend-cosine van ~0.998, dus F16-transport valt binnen de bestaande tolerantie; blockwise INT8/FP8 later, nadat onze eigen argmax/cosine-poort het tegen Q4_K_M-gewichten heeft goedgekeurd (Petals liet INT8 over het echte internet zien zonder kwaliteitsverlies).
- Samen mikken deze op ~110 KB → 9–12 KB per token (~12×) — reëel, maar onthoud dat het de *speelruimte* is, niet het knelpunt.
De kern: minder reizen, verborgen reizen
- Speculatief decoderen verandert veel tokens in één rondreis. Bij een gemeten WAN van 80 ms ligt het break-even op slechts ~1.15–1.2 geaccepteerde tokens/stap — dus zelfs een zwakke n-gram-gok wint (vanilla Jacobi kan averechts werken; techniekkeuze doet ertoe). Ons dispatch-protocol draagt al
n_tokens > 1, dus er is geen wijziging op de draad nodig. - Continue batching bij de gateway vouwt gelijktijdige verzoeken in één reis; slot-affiniteit-prefix-caching houdt een sessie op dezelfde replica's.
- Latentie verbergen: de gedeelde expert is een onafhankelijke additieve term, dus de backbone berekent hem *lokaal* tijdens de externe rondreis (ScMoE rapporteert 1.82× over PCIe, zonder hertrainen). Houd hot experts lokaal, stuur alleen koude op afstand (EPLB repliceert de ~32 heetste voor een decodeerversnelling van 2.54× in productie).
Routeer per peer, en wat 200 Gb/s verandert
Padbeleid: publiek routeerbare peers nemen het directe pad (de 1.2%-route); de relay is alleen voor NAT-gebonden apparaten. En als brede 200-Gb/s-verbindingen arriveren, serialiseert de 110 KB in ~4.4 µs — de bandbreedteterm verdwijnt nog vóór de bovenstaande reducties, en een plak van 794 MB wordt in ~32 ms verstuurd. Maar RTT is fysica; hij krimpt niet — dus speculatief decoderen en overlap blijven de echte hefbomen, zelfs bij 200 G. Waar de dikke pijp werkelijk toe doet, is multi-backbone-federatie (meerdere backbones die één expert-pool delen) en bandbreedtegebonden werk: prefill van lange prompts en grote-batch-doorvoer.
Eén voorbehoud, eerlijk gesteld: de transportlaag zelf (WebSocket vs QUIC, masking-overhead, NAT-hole-punching) heeft geen extern resultaat dat we kunnen citeren — dat is engineering die we zelf gaan meten voordat we iets beweren. Alles hierboven rust op gepubliceerde productiecijfers (DeepEP / DeepSeek-V3, Petals, DeepSpeed-MoE, ScMoE, SGLang/EPLB) plus onze eigen metingen; wanneer een routekaartitem wordt geleverd, worden de cijfers en werkwoordstijd hier bijgewerkt.
Onboarding-doelen
Onze dispatch-hook zit op build_moe_ffn — één functie die 43 MoE-architecturen delen in de inferentie-engine. Drie invarianten zijn modelonafhankelijk: de MoE-wiskunde (routed = Σ wᵢ·Eᵢ(x), lineair), het gedeelde codepad, en GGUF's standaard gestapelde experttensoren (buitenste ne[2] → blok-uitgelijnd snijden). Een nieuw model onboarden is dus geen herontwerp — het is één passage door een argmax/cosine-verificatiepoort per model.
| model | experts · routering | per expert (Q4≈) | gedeeld | status |
|---|---|---|---|---|
| Step-3.7-Flash 198B (vandaag in bedrijf) | 288 · top-8 | gemeten op de vloot | ja | serveert — 16 stages, twee machines |
| Qwen3.5-122B | 256 · top-8 | 5.3 MB (gemeten) | ja | end-to-end bediend over 3 machines |
| GLM-5.2 744B | — | — | ja | geverifieerd op linkcpp — rapport ongepubliceerd |
| GLM-4.5 / 4.6 355B | 160 · top-8 | ~13 MB | ja | gepland (hook geverifieerd) |
| MiniMax-M2 230B | 256 · top-8 | ~8 MB | nee | gepland (hook geverifieerd) |
| DeepSeek-V3 / R1 671B | 256 · top-8 | ~25 MB | ja | gepland (deepseek2-graaf) |
| Kimi K3 2.8T | — | — | ja | volgende gate — verificatie op p4 |
| Qwen3-235B | 128 · top-8 | ~11 MB | nee | klaar |
| gpt-oss-120b | 128 · top-4 | ~14 MB | nee | klaar |
| Llama 4 Maverick 400B | 128 · top-1 | ~70 MB | ja | gepland (MoE om de laag) |
| MiniMax M3 428B | 128 · top-4 | TBD (GGUF) | ja | wacht op upstream-engine |
| Mixtral 8×22B | 8 · top-2 | ~170 MB | nee | werkt — alleen GPU-workers |
De industrie convergeert naar fijnkorrelige MoE — kleinere experts, meer ervan, hogere sparsity (DeepSeek, Qwen, Kimi, GLM, gpt-oss gingen allemaal deze kant op). Elke stap in die richting maakt de deelname-eenheid van de zwerm kleiner en de korrel van de schaarstemarkt fijner. De bovenstaande modellen zijn geen verlanglijst; elk stroomt al door dezelfde dispatch-hook die we op onze testvloot draaien — onboarding is een verificatiepoort, geen technisch project.