スマートフォンが 122B 推論に参加した

Galaxy S25 が hub から自分のエキスパートスライスを自律ダウンロードし、ライブ 122B デコードの毎ステップで 1 レイヤーのエキスパートを計算した。出力は正解だった。

prompt: "The capital of France is" → 生成結果(スマートフォン参加):" Paris." —— ローカル実行と 8/8 トークン一致。

実測 · 実 122B、スマホが layer-0 を計算

正確性 + TPS

8/8
トークンがローカルと一致
4.01
TPS ローカル (基準)
3.13
TPS スマホ参加
1.58 GB
自律ダウンロード
A phone docked to a towering 122B model, printing tokens that spell Paris

スマートフォンが毎トークン layer-0 のエキスパートを計算しても、生成トークンはローカルと完全に同じ——正解の "Paris." だ。TPS は 4.01 から 3.13 に下がる——スマホディスパッチの往復(MI250 → トンネル → スマホ、トークンあたり約 100 ms)が 22% を食う。スループットはバッチと複製で取り戻す(M4)。

自律参加のフロー

発見 → 報酬駆動ダウンロード → 計算に参加

1. Phone knows the hub (hub.kvasir-ai.net — retired since; the bridge serves this)
2. GET /api/proxy/models/…/expert-shard?layers=0:1&experts=0:256
   # partially downloads its own expert slice (1.58 GB, WiFi)
3. linkcpp-expert-worker --serve
   # loads the slice (Adreno device, CPU backend) + waits for dispatch
4. MI250 backbone decodes the 122B → every token, layer-0 experts
   dispatch to the phone → experts return → combine → "Paris."
   (8/8 identical to local)
検証済み vs 残り

機構は完結、アプリ内ループはプロダクション化

  • 部分ダウンロード(expert-shard エンドポイント)、ワーカー提供、バックボーンディスパッチ、ライブ 122B 生成と TPS——すべて実機で検証。
  • 正確性:スマートフォン参加時も 8/8 トークンがローカル実行と等しく、答えも正解。
  • 残り:アプリ内自律ループ(expert-demand ポーリング → volunteer → ダウンロード → serve → 登録)は Kotlin の配線——このデモは機構を直接駆動した。
  • 転送:このデモは SSH トンネルを使用;本番は 443 リレー(リングの作業で検証済み)。