手元のGPUに載りきらない大きなモデルを、メインメモリへ逃がしたとたん実用速度から落ちる。ローカルでLLMを動かす人がよくぶつかるこの壁を、MoE構造に的を絞って崩そうとしているのが FreeToken です。Apache 2.0で公開され、Windows版とLinux版のデスクトップアプリも配布されています。
MoEの「使わない重み」に注目した推論エンジン
FreeToken は、MoE(Mixture-of-Experts、混合エキスパート)モデルの実行に特化した推論エンジンです。開発は FlashML で、ソースコードは GitHub 上に Apache License 2.0 で置かれています。位置づけとしては、GPUとCPU、ホストメモリ、そしてそれらをつなぐ経路までを1つの弾力的な実行基盤として扱う、エッジ向けのサービングエンジンとされています。
MoEモデルは、パラメータ全体のうち推論のたびに一部のエキスパートだけを働かせる構造です。総パラメータ数は数百億から数千億に達しても、1回の推論で実際に触る重みははるかに小さい。FreeToken はこの性質を前提に、いま必要なエキスパートの重みだけをGPUのVRAMへ運び、しばらく使われていない重みを追い出すグローバルなLRU(Least Recently Used)キャッシュで回します。
従来のローカル推論では、モデルを読み込む時点で層単位にGPUとCPUへ静的に振り分ける方式が一般的でした。この方式だと、あふれた部分がそのまま毎回の足かせになります。FreeToken は割り当てを推論のたびに動かすことで、同じVRAM容量でも実効的な速度を引き上げる狙いです。
帯域に合わせて分担を決めるという発想
技術の中身として挙げられているのが、帯域に適応するCPUとGPUの協調実行です。論文ではこれを q* ポリシーと呼んでいます。加えて、プリフィル(入力文の読み込み)の段階では層全体をダブルバッファで流し込み、重みの転送と計算を重ねて待ち時間を隠します。重みは FTW という独自の高速フォーマットで扱われます。
メモリの配分も固定ではありません。エキスパート用のキャッシュとKVキャッシュの取り分は、エンジンを再起動したり重みを読み直したりせずに実行中に変更できます。コンテキスト長が伸びる場面と、多数のエキスパートを行き来する場面では最適な配分が違うため、この可変性は効いてきます。
エージェント用途を意識したキャッシュ
もう1つの柱が、意味を見るキャッシュです。FreeToken はセマンティックアンカーと呼ぶチェックポイントを置き、再帰的な状態とKVキャッシュを保存します。これにより、ツール呼び出しや思考ブロックの挿入といったエージェント特有のコンテキスト編集が起きても、文脈全体を計算し直さずに済むとしています。
コーディングエージェントを回していると、会話の途中に差し込みが入るたびに再計算が走って待たされる、という経験は珍しくありません。ここを削りにいっている点は、単なるベンチマーク向けの最適化とは方向が違います。
手元のRTXで測った数字
論文の筆頭著者であるカリフォルニア大学バークレー校の Shuo Yang 氏が公開した計測値では、GeForce RTX 4060 Laptop(8GB)で Qwen3.6-35B-A3B が39トークン毎秒、GeForce RTX 5090(32GB)で DeepSeek-V4-Flash 284Bが22から25トークン毎秒、RTX PRO 6000 Workstation で GLM-5.2 753Bが15トークン毎秒とされています。8GBのノート向けGPUで350億パラメータ級が対話に耐える速度で回る、というのが最も分かりやすい成果です。
同氏は Ollama との比較として、デコードで3から4倍、プリフィルで6から30倍という数字も挙げています。プリフィル側の伸びが大きいのは、前述の転送と計算を重ねる仕組みが効いているためと考えられます。論文は arXiv に FreeToken: Efficient Edge-Native MoE Serving with Bandwidth-Adaptive Execution として公開されており、著者陣には Kurt Keutzer 氏、Song Han 氏、Matei Zaharia 氏、Ion Stoica 氏といった名前が並びます。
導入は2通り、APIは既存エージェントと互換
導入経路は2つあります。1つは公式サイトから落とせるデスクトップアプリで、Windows と Linux に対応します。エンジンの準備を代行し、モデルの実行やチャット、細かい調整までGUIから触れます。もう1つは CLI で、uv か pip から freetoken[accel] を入れる形です。ソースからのビルドも用意されています。
uv pip install "freetoken[accel]"
対応モデルは DeepSeek-V4-Flash、Qwen3.6-35B-A3B、GLM-5.2 などのオープンウェイトMoEで、量子化形式は MXFP4、NVFP4、FP8、BF16 をカバーします。GPUは NVIDIA の RTX 30、RTX 40、RTX 50 シリーズをネイティブに想定しています。APIは Anthropic と OpenAI の両形式に互換があり、Codex、Claude Code、OpenCode、OpenClaw、DeepSeek Harness といったコーディングエージェントからそのまま接続できるとしています。手元のマシンをそのままエージェントの実行環境にできるという点が、この互換性の狙いです。
なお、GitHub のリポジトリは公開から間もない段階で4,300を超えるスターと391のフォークを集めています。注目度は高いものの、まだ Issue も残る新しいプロジェクトである点は踏まえておいたほうがよさそうです。
まとめ
FreeToken は、MoEモデルの「一部しか使わない」性質を突き詰めて、VRAMの少ない環境でも大規模モデルを実用速度で動かそうとする推論エンジンです。帯域に応じたCPUとGPUの分担、LRUによるエキスパートの入れ替え、エキスパートキャッシュとKVキャッシュの動的な再配分、そしてエージェントのコンテキスト編集に強いキャッシュ設計が組み合わされています。8GBのノート向けGPUで350億パラメータ級が39トークン毎秒という数字は、ローカルLLMの前提を少し動かすかもしれません。
