ホームへ戻る

推論系統

FreeToken、CPU/GPU間でエキスパート計算を動的に分割し、284B MoEを単一のRTX 5090で推論

FreeTokenは、固定ルールによるMoEエキスパートのオフロードをやめ、実測したメモリ帯域幅とPCIe帯域幅に基づいて、CPUでの実行とGPUキャッシュへの配置を動的に分担する。開発者らは、RTX 5090で284Bモデルを毎秒22~25 tokenで実行できると報告しているが、テストは依然として開発チーム自身によるもので、完全な重みの保持には大量のメインメモリが必要だ。

Voisin, Francois Philippe, 1821-1918 Schièble, Erhard (1821 - 1880) Compagnie universelle du Canal maritime de Suez Andriveau-Goujon, E. Schièble, Erhard, 1821-1880 · Public domain · Image source
zh-Hant

FreeTokenは、UC BerkeleyやMITなどの研究者が公開したApache 2.0ライセンスの推論エンジンだ。その狙いは、パーソナルコンピューターを小型のデータセンターとして扱うことではなく、GPU、CPU、メインメモリ、PCIeを単一の異種コンピューティングプールとして活用することにある。Sparse MoEでは、各tokenが有効化するエキスパートは少数に限られるものの、エキスパートの全重みを保持する必要がある。従来の静的オフロードでは、GPUキャッシュミスが発生すると、重みを同期的に転送するか、DRAM帯域幅に制約されるCPUへ処理をすべて任せることになる。

FreeTokenの`q*`戦略は、まずメインメモリとPCIeの実効帯域幅を測定し、キャッシュミスしたエキスパートのうち、どれだけをGPUへ転送し、どれだけをCPUで直接計算するかをレイヤーごとに決定する。2つの経路は並列に実行され、最後に部分出力を統合するため、近似計算との引き換えで高速化しているわけではない。また、レイヤー間のダブルバッファリングにより、次のレイヤーの重み転送を現在のレイヤーの計算とオーバーラップさせるほか、グローバルLRUキャッシュを使用して、生成中に絶えず変化する頻出エキスパートを追跡する。

coding agent向けには、推論・思考区間、tool call、会話ターンといった意味的境界でKV cacheまたは再帰状態を保存する。エージェントが古いツール出力を削除したり、コンテキスト中間部の内容を変更したりした場合でも、有効なアンカーから後続部分だけを再計算でき、コンテキスト全体を再度prefillする必要はない。VRAMも、エキスパートキャッシュと増大し続けるKV cacheの間で再配分でき、モデルを再ロードする必要がない。

論文では、RTX 5090上でQwen3.6-35B-A3Bが毎秒77~83 token、DeepSeek-V4-Flash 284Bが毎秒22~25 tokenに達したと報告している。また、8GBのRTX 4060 Laptop GPUでも35Bモデルを実行できるという。ただし、これは巨大モデルに必要な容量がGPUメモリだけで済むことを意味しない。エキスパートプール全体は引き続きメインメモリに置かれ、たとえば284BのFP4構成では約140GBの重みを扱う必要がある。エンジニアリングチームは独立した追試を待つとともに、RAM容量、NUMA、PCIe世代、量子化品質、time to first token、複数リクエストの同時実行性能を確認すべきだ。現時点の数値を、あらゆるモデルや一般的なコンシューマー向けPCへそのまま外挿することはできない。

出典

  1. FreeToken: Efficient Edge-Native MoE Serving with Bandwidth-Adaptive Execution
  2. FlashML-org/FreeToken
  3. FreeToken Unlocks Frontier MoE Inference on Consumer Hardware via Dynamic Co-Execution