巨大なAIモデルがGPUをパンクさせる理由
巨大なAIモデル、特にmixture of experts(MoE)モデルは、コンシューマー向けGPUにとってユニークな課題を突きつけます。DeepSeek V4-Flashを例に挙げると、合計2840億ものパラメータを誇ります。しかし、どのトークンにおいても、実際に使用されるのはそのごく一部、約130億パラメータに過ぎません。このアクティブな部分は多くのGPUに収まる可能性がありますが、次にどのエキスパートが必要になるか分からないため、2840億のパラメータ全体をどこか(通常はシステムRAM)に保持しておく必要があります。
Ollamaのような従来の推論エンジンは、この動的な現実に苦戦しています。MoEモデルがGPUのVRAM容量を超える場合(例:32GBのカードで38GBのQwen 3.6 35Bモデルを実行する場合)、Ollamaは静的な解決策に頼ります。モデルを恒久的に分割し、レイヤーをCPUにオフロードします(例:30%をCPU、70%をGPUへ)。つまり、どのエキスパートが必要かに関わらず、すべてのトークンがすべてのレイヤーを通過しなければならず、大部分の処理でCPUを経由する遅い迂回を強いられます。テストでは、わずか58トークン/秒という結果でした。
FreeTokenは根本的に異なるアプローチを提供します。静的な配置を放棄し、問題を動的スケジューリングとして再定義しました。GPUのVRAMは頻繁にアクセスされるエキスパートのためのインテリジェントなキャッシュとなり、モデル全体はシステムRAMに常駐します。必要になったエキスパートだけがオンデマンドでGPUにストリーミングされます。この動的なキャッシュベースのシステムは、トークン間で同じエキスパートを再利用することが多いMoEモデルと非常に相性が良く、計算を高速なGPU内に留めることができます。
FreeTokenの秘密:分割ではなくスケジューリング
FreeTokenは、PCが巨大なmixture of expertsモデルをどのように扱うかを再考しました。DeepSeek V4-Flashの2840億パラメータ全体をGPUに詰め込もうとするのではなく、FreeTokenはGPU VRAMを高速キャッシュとして扱います。モデル全体はシステムRAMに保持され、直近で使用されたエキスパートのみが動的にVRAMへ読み込まれます。モデルはトークン間でエキスパートを再利用することが多いため、この戦略によりメモリトラフィックが劇的に削減されます。
プロンプトを最初に送信した際(「プリフィル」フェーズ)、モデルは通常多くのエキスパートにアクセスする必要があり、これが処理を遅くする原因となります。FreeTokenはダブルバッファリングを採用してこのレイテンシを隠蔽します。GPUが現在のレイヤーを処理している間に、このツールは次のレイヤーのエキスパートをPCIe経由でシステムRAMから同時にストリーミングし、GPUを常に稼働させ、アイドル待ち時間を回避します。
実際の生成中、エキスパートがGPU上にない場合はキャッシュミスが発生します。ここでFreeTokenの巧妙なQ*ポリシーが機能します。PC固有のPCIeおよびRAM速度を自動的に測定し、不足しているエキスパートをGPUに読み込むのと、CPUで直接計算するのとどちらが速いかをその場で判断します。この動的な分割により、PCIeリンクが狭い場合でもRAMが高速な場合でも、個々のハードウェア環境に合わせて最適化されます。
「3倍の速度」という主張を検証する
では、FreeTokenは実際にその約束を果たしたのでしょうか?動画では、32GBのVRAMしか搭載していないコンシューマー向けGPUで38GBのmixture of expertsモデルを実行するという、非常に過酷なシナリオでOllamaと直接対決させ、適切な実環境テストを行いました。この構成は、従来の推論エンジンをパンクさせ、モデルの大部分を低速なシステムRAMへオフロードさせるように特別に設計されたものです。
この状況では、Ollamaはモデルをレイヤーごとに分割し、約30%をCPUに押し付けます。つまり、特定のレイヤーにおいてすべてのトークンが低速なCPUを経由することになり、大きなボトルネックが発生します。その結果、Ollamaはタスクの処理に14分20秒以上を要し、毎秒58トークンという低速な動作となりました。
対照的に、FreeTokenは全く同じタスクを4分40秒という短時間で完了し、毎秒132トークンという驚異的な速度を実現しました。これは約3倍の高速化であり、モデルサイズがGPUのVRAM容量を超えるような大規模モデルをローカルで実行するユーザーにとって、大きな違いとなります。
FreeTokenの巧妙なキャッシュ戦略もライブデモで実証されました。このツールでは、GPUエキスパートキャッシュのサイズをオンザフライで変更でき、「ホット」なエキスパートのわずかな断片が処理の大部分を担っていることを視覚的に証明しています。研究者らは、キャッシュをモデル全体の58%から40%に削減しても、速度低下はわずか7%であったことを確認しました。これは、モデルのエキスパートの20〜40%しかアクティブに使用されていないことが多いという核心的な考えを裏付けており、FreeTokenのdynamic caching手法の効率性を証明しています。技術的な実装の詳細については、プロジェクトのGitHub - FlashML-org/FreeToken: FreeToken brings datacenter-scale model serving to your desktop. Run massive models locally, fast and efficiently.をご覧ください。
この記事が気に入ったら、毎朝同じようなものをメールで受け取れます。
1日1通 · 2クリックで解除 · サードパーティのトラッキングなし
FreeTokenは万能薬ではない
FreeTokenはあらゆるAIタスクに対する魔法の杖ではありません。その驚異的な速度向上は、mixture of experts modelがGPUのVRAM容量を超えた場合にのみ現れます。38GBのモデルを32GBのGPUで実行するという、従来の推論エンジンを破綻させるために設定された重要なビデオテストを思い出してください。
しかし、より小さなモデルの場合、状況は変わります。例えば、32GBのVRAMに余裕を持って収まる4ビット量子化モデルでは、実際にはOllamaの方が高速に動作します。ビデオでは、このケースにおいてOllamaが毎秒240トークンを記録したのに対し、FreeTokenは毎秒225トークンでした。VRAMオーバーロードのために設計されたFreeTokenの高度なストリーミングアーキテクチャは、システムRAMからストリーミングすべきデータがない場合には、純粋なオーバーヘッドとなってしまうのです。
結論として、アドバイスは単純です。モデルが完全にGPUに収まる場合は、最適なパフォーマンスを得るためにOllamaまたはLlama.cppを使用してください。コンシューマー向けハードウェアでは収まらないような、大規模なデータセンター規模のmixture of experts modelsを実行したい場合にのみ、FreeTokenに切り替えるべきです。FreeTokenは、これまで到達不可能だったモデルを解放し、劇的に加速させます。
よくある質問
FreeTokenとは何ですか?
FreeTokenは、大規模なMixture of Experts (MoE) AIモデルをコンシューマー向けハードウェア上で効率的に実行するために設計されたオープンソースの推論エンジンであり、この特定のタスクにおいてOllamaやLlama.cppに代わる高性能なツールです。
FreeTokenはどのようにしてAIモデルを高速化するのですか?
FreeTokenは、モデルのレイヤーをCPUとGPU間で固定的に分割するのではなく、GPU VRAMを最も頻繁に使用される「エキスパート」のための動的キャッシュとして扱います。インテリジェントなスケジューリング、ダブルバッファリング、適応型CPU-GPU共同実行を活用することで、特にモデルが利用可能なVRAMよりも大きい場合に、データ転送のレイテンシを最小限に抑えます。
FreeTokenは常にOllamaより高速ですか?
いいえ。FreeTokenの主な利点は、MoEモデルがGPUのVRAMに収まらないほど大きい場合に発揮されます。モデルがVRAMに余裕を持って収まる場合、FreeTokenのストリーミングアーキテクチャは不要なオーバーヘッドを生むため、OllamaやLlama.cppの方が高速である可能性が高いです。
FreeTokenはどのようなモデルを専門としていますか?
FreeTokenは、DeepSeek-V4-Flash、Qwen3.6-35B、GLM-5.2などのMixture of Experts (MoE) モデル専用に構築されています。そのアーキテクチャは、これらのモデル特有の「エキスパート」の動的なアクティベーションを処理するために最適化されています。

