エキスパートワーカーを動かす

余った GPU・CPU・スマートフォンをエキスパートワーカーに変える:ビルドし、最も希少なスライスにボランティアし、ダウンロードし、提供し、443 でダイヤルアウトして KVR を稼ぐ。

エキスパートワーカーは純粋な (hidden, ids) → out 関数です — アテンションも KV キャッシュもサンプラーもなく — バックボーンのルーターが選ぶたびに MoE モデルのエキスパートのスライスを計算します。何を提供するかは自分では選びません。カバレッジ市場が、予算に合わせてクリップした最も希少で最高報酬の範囲を渡すため、4 GB のスマートフォンもデータセンター GPU も等しくスロットを見つけます。

エンジンの現状。エキスパート粒度のシャーディングは Kvasir の以前のエンジン上で構築・実証されたもので、以下の結果はその成果です。現在のエンジンである [p4](/wiki/p4) は今日レイヤー粒度で提供しており、エキスパートシャーディングをそこへ移す作業は設計済みで進行中です。個々の記述がツール名やルート名を挙げている場合、それは以前のエンジンで動いていたものです。

7 ステップ

ビルド → ボランティア → 提供 → ダイヤル → 獲得

全経路 — ダイヤルスクリプトはリトライループでバックボーンを待ちます。

# 1. build the worker for your backend (cuda | rocm | cpu)
bash scripts/build-node-runtime.sh <backend>   # -> linkcpp-expert-worker

# 2. volunteer — the market assigns the scarcest range within your budget
POST /api/expert-volunteer {model, max_experts}     -> {layer, experts:[a,b]}

# 3. download only that slice (node-token auth)
GET  /api/proxy/models/<model>/expert-shard?layers=L:L+1&experts=a:b   # a mini-GGUF

# 4. serve it
linkcpp-expert-worker --model <slice.gguf> --serve <port> --layer L --n-embd <E>

# 5. dial out over 443 (no inbound ports)
scripts/expert-relay-dial.py --mode worker \
  --hub wss://gate.kvasir-ai.net/api/expert-relay --session <S> --local 127.0.0.1:<port>

# 6. heartbeat so the demand map and rewards can see you
POST /api/expert-coverage
  • スライスは小さい。 layer-0 の 128 エキスパートスライスは 72 GB のフルモデルに対して 794 MB — 弱いデバイスが参加できる粒度です。市場が割り当てた範囲だけをダウンロードします。
  • ダイヤルインではなくダイヤルアウト。 ステップ 5 は 443 でアウトバウンドの WebSocket を 1 本開くため、キャリア NAT も CDN エッジもそれを通し、インバウンドポートをひとつも公開しません — スマートフォンが使うのと同じ経路です。
  • ハートビートは不可欠。 POST /api/expert-coverage がなければ、需要マップが知るものを何も提供しておらず、行ったことは何も記帳されません。
  • 報酬は仕事ごと。 ブリッジされた仕事は bridge の貢献台帳に積み上がり、ゲートウェイが KVR をあなた自身のウォレットにデルタ記帳します。支払いを受けるにはウォレットアドレスが必要です。

ワーカーはデータセンター内の GPU と同じディスパッチプロトコルを話します — 1 本の長寿命ストリームで (n_used, n_tokens, cur, sel) → experts。部分シャードワーカーは n_used = 1 に設定するだけです。この統一性こそが、スマートフォン・CPU マシン・Blackwell カードが同じスウォームの交換可能なメンバーである理由です。