- FreeToken セットアップガイド: GPU、CPU、RAM、ストレージ、PCIe リンクを、1つのサービングシステムとして考えます。
- ハードウェアの適合性: スパースな活性化によって計算量は減少しますが、完全なエキスパートプールを保持するには依然としてホストメモリが必要です。
- 帯域幅の方針: 仕様書だけに頼らず、ホストと PCIe の帯域幅を測定します。
- キャッシュ戦略: エージェント型ワークロードでは、KV キャッシュ管理と組み合わせて、弾力的な GPU エキスパートキャッシュを使用します。
FreeToken に必要なもの
FreeToken は、大規模 Mixture-of-Experts モデル向けのエッジネイティブなサービングシステムです。実用的なセットアップでは、まず アクティブな計算 と モデル全体のストレージ を分けて考えます。各トークンの処理には一部のエキスパートだけが使用されますが、ルーティング対象となるエキスパートの完全なプールは、ホストメモリまたは別のストレージ階層で利用可能な状態にしておく必要があります。
リファレンス設計では、完全なエキスパートプールを CPU メモリに保持し、エキスパート以外の重みを GPU に残します。残った VRAM は、MoE レイヤー間で共有される弾力的なエキスパートキャッシュになります。この構成により、ホストメモリとインターコネクトの予算が適切であれば、モデル全体の重みが利用可能な VRAM を超えるモデルをコンシューマー向けマシンでサービングできます。
| リソース | セットアップ上の役割 | 確認事項 |
|---|---|---|
| GPU VRAM | エキスパート以外の重み、KV キャッシュ、エキスパートキャッシュ | 変化するコンテキスト長に備えて余裕を残す |
| ホストメモリ | ルーティングされたエキスパートの正本 | デプロイするエキスパートプールを保持できること |
| PCIe リンク | 不足しているエキスパートを GPU に転送 | 実効転送帯域幅を測定する |
| CPU と DRAM | 選択されたキャッシュミスをその場で実行 | 対象テンソルを使って帯域幅を測定する |
| NVMe ストレージ | ホスト常駐プールを読み込む | 十分な容量と持続的な読み取り速度を確保する |
GPU 層
VRAM が大きいほど、より大きなエキスパートキャッシュを確保でき、デコード時のヒット率が向上します。研究で使用された RTX 5090 クラスの構成は、8 GB のノート PC 向け GPU よりも大幅に大きなワーキングセットをサービングできました。
ホスト層
ホストメモリには、ルーティング対象となる完全なエキスパートプールを保存します。CPU がキャッシュミスを処理する場合、デュアルチャネル DDR4 または DDR5 の帯域幅がボトルネックになる可能性があります。
リンク層
PCIe 帯域幅によって、不足しているエキスパートがどれだけ速く GPU に到達できるかが決まります。ノート PC のリンク、特に PCIe x8 接続では、転送レイテンシがより顕著になる場合があります。
アクティブパラメータだけを基準にマシンを選定しないでください。スパースな活性化によってトークンあたりの計算量は減りますが、完全なエキスパートプールが GPU とシステムメモリの予算を超える可能性は依然としてあります。
FreeToken セットアップガイド:ステップごとの手順
この FreeToken セットアップガイドは、単一のコマンドレシピではなく、デプロイ手順として利用してください。公開されているリファレンスではシステム設計と評価について説明されていますが、リリース固有のインストール手順については、2026 年に公開された FreeToken プロジェクトページ を確認してください。
対応モデルを選択する
エキスパート表現と精度がランタイムでサポートされている MoE チェックポイントから始めます。リファレンス評価では、異なるハードウェア層で DeepSeek-V4-Flash、Qwen3.6-35B-A3B、GLM-5.2 が使用されています。
ホストメモリを確保する
完全なルーティング対象エキスパートプールが、OS と同時実行中のアプリケーション用の余裕を含めて、利用可能なホストメモリに収まることを確認します。ディスク容量をランタイムメモリの代替として扱わないでください。
帯域幅を測定する
デプロイ時のテンソル形状を使用して、PCIe 経由の実効的な固定エキスパート転送帯域幅と、CPU 側のエキスパート処理帯域幅をプロファイルします。これらの値によってキャッシュミスの振り分けが決まります。
ランタイム予算を設定する
まず、エキスパート以外の重みと KV キャッシュ用に VRAM を確保します。残りの予算を共有エキスパートキャッシュに割り当て、より長いエージェントセッションに対応できる柔軟性を残します。
コールドキャッシュテストを実行する
コールドキャッシュから開始し、最初のリクエストが完了することを確認します。その後、通常のサービングによってキャッシュが温まった後のデコード速度と初回トークンまでの時間を比較します。
| セットアップ段階 | 主な判断 | 検証シグナル |
|---|---|---|
| モデル選択 | 精度とエキスパート配置を確認する | ランタイムがチェックポイントを読み込める |
| メモリ確保 | エキスパートとシステムオーバーヘッドを収める | 割り当てまたはページングの失敗がない |
| 帯域幅プロファイリング | ホストと PCIe の速度を記録する | 対象ハードウェアで測定値が安定している |
| VRAM 割り当て | エキスパートと KV キャッシュのバランスを取る | コンテキストの増加で VRAM を使い果たさない |
| 最初のリクエスト | コールドスタートの動作をテストする | ウォームアップ専用の経路なしでリクエストが完了する |
マシンごとに帯域幅の測定値を記録してください。同じ GPU を搭載した 2 台のシステムでも、DRAM チャネル、PCIe リンク、同時実行中のワークロードが異なると結果が変わる可能性があります。
Prefill と Decode の構成
FreeToken は、主要な 2 つの推論フェーズに対して異なる戦略を使用します。Prefill はプロンプトを処理し、初回トークンまでの時間に大きく影響します。Decode はトークンを 1 つずつ生成するため、エキスパートキャッシュのミスとホスト帯域幅の影響をより受けやすくなります。
Prefill 中、システムはレイヤー全体のダブルバッファリングを使用します。GPU が 1 つのレイヤーを計算している間、次のレイヤーのエキスパートが PCIe 経由でストリーミングされます。これにより、転送と計算がオーバーラップし、エキスパートの移動時間全体が GPU のアイドル時間として現れることを防ぎます。キャッシュにレイヤー全体のバッファを 2 つ確保できない場合、VRAM の過剰使用を避けるため、設計はオンデマンド読み込みにフォールバックします。
エージェント型セッションでは、セマンティクスを考慮した状態キャッシュも有効です。思考セグメント、ツール呼び出し、ツール出力、会話ターンなどの境界にチェックポイントを配置します。ハーネスが履歴のブロック全体を編集した場合、ランタイムは保持されたプレフィックスを再利用し、新しいサフィックスだけを再計算できます。
| フェーズ | 主なボトルネック | FreeToken の対応 |
|---|---|---|
| Prefill | エキスパート全体の移動とコンテキストの再計算 | ダブルバッファリングによるレイヤー読み込みとセマンティックチェックポイント |
| Decode | 不足しているエキスパートと限られた CPU 帯域幅 | 共有 LRU キャッシュと帯域幅適応型実行 |
| 長時間セッション | 増大する KV キャッシュ需要 | KV ページとエキスパートスロット間の柔軟な分割 |
| 再起動 | 完全なエキスパートプールの読み込み | 最終的なホストレイアウトへの直接読み込み |
Decode 中、共有 LRU キャッシュにすでに存在するルーティング済みエキスパートは GPU 上で実行されます。不足しているエキスパートは、次の 2 つの経路に分割されます。
- キャッシュ補充経路: 選択したエキスパートを PCIe 経由で転送し、GPU 上で実行して、将来の再利用に備えて保持します。
- CPU 経路: その他の不足エキスパートを、GPU 上の常駐状態を変更せず、ホスト常駐プールから直接実行します。
- マージ経路: 正確な MoE 計算を維持しながら、GPU と CPU の部分出力を結合します。
キャッシュ補充数の近似値は次のとおりです。
q* ≈ m × BP / BH
ここで、m は不足しているエキスパートの数、BP は測定された固定転送帯域幅、BH は測定されたホスト側エキスパート処理帯域幅です。ランタイムは結果を丸め、CPU 実行が大半のキャッシュミスを処理する場合でもキャッシュのウォームアップを継続します。
短い単一ターンのプロンプトと、複数ターンのエージェントトレースの両方でスループットを比較してください。単独の Decode では高性能に見える構成でも、Prefill の繰り返しやコンテキスト編集が支配的になると性能が低下する場合があります。
キャッシュ、ストレージ、ランタイムの調整
CPU 常駐のエキスパートプールが正本であり続けるため、GPU キャッシュ容量はモデルの正確性ではなく性能を変化させます。これは、ブラウザ、デスクトップアプリケーション、その他の GPU ワークロードによって、セッション中に利用可能な VRAM の予算が変化する個人用コンピューターで特に重要です。
FreeToken は、エンジンを再起動したりホストプールを再読み込みしたりせずに、スケジューラの安全なポイントで GPU エキスパートキャッシュを再構築できます。キャッシュは MoE レイヤー間で共有され、論理的なレイヤー–エキスパート識別子を使用するため、常駐状態と実行を現在のルーティングワーキングセットに追従させることができます。
| 調整項目 | 推奨アプローチ | 避けること |
|---|---|---|
| エキスパートキャッシュ | 最近のルーティング局所性に LRU を追従させる | Prefill 専用のホットセットを恒久的に固定する |
| KV キャッシュ | セッション長に応じて増やしつつ、エキスパート容量を保護する | 空き VRAM をすべてコンテキストに割り当てる |
| ホストプール | 最終的なランタイムレイアウトへ直接読み込む | 起動のたびに大規模なバンクを再パックする |
| 固定メモリ | 読み込み後にデータが格納されたバッファを固定する | 空のバッファを固定し、不要なページフォールトを発生させる |
| 起動 | 通常の経路でコールドキャッシュのリクエストをサービングする | 別途、完全なウォームアップフェーズを必須にする |
サービング前の確認事項:
- 完全なルーティング対象エキスパートプールがホストメモリに収まることを確認する
- 実効 PCIe 転送帯域幅と CPU エキスパート帯域幅を測定する
- エキスパート以外の重みと増加する KV キャッシュ用に VRAM を確保する
- 選択したモデルの精度とエキスパート配置を確認する
- コールドキャッシュ起動とウォームアップ後の Decode の両方をテストする
ストレージについては、リファレンス設計で FreeToken Weight 形式が導入されています。この形式は、エキスパートバンクをランタイムに適したレイアウトへ正規化します。事前フォーマット済みのバンクを使用すると、エンジンはアライン済みのチャンクを正確なサイズのホストバッファへ直接読み込めるため、起動時のテンソル探索や再パックの処理を削減できます。プラットフォームが必要な固定または登録済みメモリ経路を確立できない場合、ランタイムは純粋な CPU MoE バックエンドを使用できます。その場合、最大転送性能と引き換えに、より幅広い環境でのデプロイが可能になります。
コンシューマー向けハードウェアは専用インフラではありません。不要なアプリケーションを終了し、持続的な温度を監視し、デスクトップ、ブラウザ、GPU のワークロードを変更した後は測定を繰り返してください。
検証、トラブルシューティング、FAQ
実際のボトルネックを明らかにするメトリクスを使ってデプロイを検証します。Decode スループットは現在のエキスパートワーキングセットがどれだけ効率的にサービングされているかを示し、初回トークンまでの時間は Prefill の転送と再計算のコストを明らかにします。エージェントクライアントではテールレイテンシも重要です。1 回の長いターンによって、それ以外は許容範囲にあるセットアップでも利用しにくく感じられる可能性があるためです。
| 症状 | 考えられる原因 | 最初の対応 |
|---|---|---|
| 初回トークンが遅い | エキスパート転送の直列化または Prefill の繰り返し | ダブルバッファの利用可能性とプレフィックスの再利用を確認する |
| Decode 速度が低い | キャッシュミスが多すぎる | KV 需要が許す場合はエキスパートキャッシュの予算を増やす |
| CPU が飽和する | ホスト実行に割り当てられたキャッシュミスが多すぎる | ホスト帯域幅を再プロファイルし、ミスの振り分けを確認する |
| GPU の使用率が低い | PCIe またはホストメモリがボトルネック | 測定した転送帯域幅と CPU 帯域幅を比較する |
| 起動に時間がかかる | ディスク読み込みまたはランタイムでの再パック | 準備済みの重みレイアウトと高速なストレージを使用する |
Q: FreeToken の主な目的は何ですか?
FreeToken は、GPU 実行、CPU 実行、ホストメモリ、PCIe 転送、弾力的なエキスパートキャッシュを連携させることで、エッジハードウェア上で大規模 MoE モデルをサービングします。
Q: FreeToken ではモデル全体を VRAM に収める必要がありますか?
いいえ。この設計では、完全なルーティング対象エキスパートプールをホストメモリに保持し、GPU VRAM はエキスパート以外の重み、KV キャッシュ、共有エキスパートキャッシュに使用します。
Q: なぜ帯域幅の測定が重要なのですか?
PCIe によるキャッシュ補充と CPU による直接実行の最適な分割は、デプロイするマシンによって異なります。FreeToken は、測定されたホスト帯域幅と転送帯域幅からこの分割を導き出します。
Q: FreeToken のセットアップはどのように検証すればよいですか?
コールドリクエストとウォームリクエストをテストし、Decode スループットと初回トークンまでの時間を監視します。その後、現実的な複数ターンまたはエージェント型プロンプトでテストを繰り返してください。
設計と報告された評価結果は、2026 年 8 月 24 日に公開された FreeToken 研究論文 に記載されています。現在のインストール手順については、プロジェクトのリリース資料を使用してください。