Expert-sharding

Een MoE splitsen op expertkorrel, zodat een telefoon 42–340 MB aan experts draagt in plaats van een laag van 1.4 GB.

Expert-sharding verlaagt de draageenheid van de zwerm van een laag (~1.4 GB op de 122B) naar een expert (5.3 MB). Een zwak apparaat downloadt een plak van 8–64 experts (42–340 MB), laadt die als pure-functieworker — geen attention, geen KV, geen sampler — en berekent zijn experts wanneer de router van de backbone ze selecteert.

Engine-status. Sharding op expertkorrel is gebouwd en gedemonstreerd op Kvasirs vorige engine, en de resultaten hieronder komen uit dat werk. De huidige engine, [p4](/wiki/p4), serveert vandaag op laagkorrel; het overzetten van expert-sharding daarnaartoe is ontworpen en in uitvoering. Waar een detail een tool of een route noemt, is dat de tool of route die op de vorige engine draaide.

Twee rollen

Backbone × worker

Het snijpunt binnen één MoE-laag (de router draait één keer, op de backbone).

cur   = ffn_norm(x)                     # backbone
ids,p = top_k(softmax(cur @ router), 8) # backbone — authoritative
send  (cur rows, local_ids) → worker    # ~6 KB per decode step
recv  expert_out            ← worker    # worker: 3 mat-muls
x = x + combine(p, partials) + shared(cur)   # backbone — exact
  • De backbone houdt het dichte pad (attention, norms, router, gedeelde expert, combine) en bewaart alle experts als RAM-geofflode fallback-replica voor churn-tolerantie.
  • Workers (linkcpp-expert-worker --serve) beantwoorden (n_used, n_tokens, cur, sel) → experts over één langlevende TCP-stream — dezelfde stream die de 443-relay voor telefoons tunnelt.
  • Dekking herstelt zichzelf via de expertdekkingsmarkt: POST /api/expert-coverage heartbeat het bezit, GET /api/expert-demand aggregeert schaarste, POST /api/expert-volunteer wijst het schaarste bereik toe, bijgesneden op het budget van de node.
Gemeten, niet beloofd

Geverifieerd op echte hardware

  • Gesharde berekening == monolithisch tot max|Δ| = 3.6e-12 (een exacte hergroepering, geen benadering).
  • Cross-proces-dispatch op een live 122B-decodering: argmax MATCH, logit-cosine 0.99869 — byte-identiek aan in-process.
  • Een Galaxy S25 downloadde autonoom zijn plak van 1.58 GB en berekende bij elk token de layer-0-experts: 8/8 tokens identiek aan de lokale run.
  • Een externe GPU over het publieke internet — één WAN-round-trip per token — bleef greedy 8/8 identiek (cosine 0.99773): 1.2% doorvoer-overhead op een directe link, ~28% via een CDN-edge. De eerlijke prijs van seriële per-token-dispatch, en waarom de hefboom van het weefsel batching is, geen lagere latentie.
  • Gebundelde dispatch haalt 53k tok/s per worker bij batch 512 (ROCm) — de doorvoerweefsel-eigenschap die de zwerm praktisch maakt.