ローカルでLLMを動かしたい人が最初にぶつかる壁は、たいていメモリです。とくにDeepSeek-R1やV3のような「巨大なMoE(Mixture-of-Experts)」モデルは、素直に動かそうとするとGPUのVRAMが数百GB必要になり、家庭用はおろか多くの業務用GPUでも載りません。ここに正面から挑むのが、清華大学のMADSys Labらが開発する KTransformers(ケイトランスフォーマー) です。GitHubスター約18,900・Apache-2.0の研究プロジェクトで、公式のタグラインは「A Flexible Framework for Experiencing Cutting-edge LLM Inference/Fine-tune Optimizations(最先端のLLM推論・微調整の最適化を体験するための柔軟なフレームワーク)」。
KTransformersが有名になったのは、2025年2月に「DeepSeek-R1/V3級の671Bパラメータ級MoEを、単一の24GB VRAM GPU+大容量システムRAMで動かした」と公式が示したときでした。本記事は、この「限られたVRAMで巨大MoEを動かす」仕組みを一次情報(公式リポジトリ・README・チュートリアル・論文)から噛み砕き、llama.cpp・vLLM・Ollamaといった定番ランタイムとの違い、公式ベンチマークの読み方、そして導入手順までを整理します。なお本記事は筆者環境での実機検証は行っておらず、数値・挙動はすべて公式が公表したものに依拠します(推測が混じる箇所は「〜とされる」と明記します)。
- ・正体:清華MADSys Lab+Approaching.AIらによるCPU/GPUヘテロ推論・微調整フレームワーク。★約18,900・Apache-2.0の研究プロジェクト。
- ・何ができる:MoEの専門家重みをCPU RAMへ退避し、注意層・KVキャッシュ・ホット専門家だけをGPUに置く。これでDeepSeek-R1/V3級(約671B)の巨大MoEを単一24GB VRAM GPU+大容量DRAMで推論(公式・最大~16 tok/s)。
- ・何を解決する:「巨大MoEを丸ごとVRAMに載せると数百GB要る」というハードウェアの壁。VRAMではなく大容量DRAMで殴る構成に置き換える。
- ・何を代替できる:手軽さで選ぶOllama/llama.cppの代替ではない。「単一機で巨大MoEを動かす」用途で、GPUを何枚も並べる構成の一部を置き換える。
- ・注意:24GB VRAMの裏で約382GBのシステムDRAMが前提。研究プロジェクトでLinux/CUDA前提、導入は容易ではない。
まず前提として、LLMそのものの仕組み・主要モデル比較・ローカル実行・量子化の全体像は、当サイトのLLMとは?仕組み・主要モデル比較・ローカル実行・量子化を一気にまとめる2026年版にまとめてあります。本記事はそのうち「巨大MoEを、限られたVRAMのGPUと大容量CPU RAMで動かす」という、KTransformersならではの一点を深掘りします。
KTransformers(ケイトランスフォーマー)とは何か — CPU/GPUヘテロ推論で巨大MoEを動かす基盤
KTransformersを一言でいえば、「CPUとGPUの両方を使い切って、単一マシンで巨大なMoEモデルを推論・微調整するためのフレームワーク」です。公式の説明では「CPU-GPU heterogeneous computing(CPU-GPU異種混在計算)による、大規模言語モデルの効率的な推論とファインチューニングに焦点を当てた研究プロジェクト」と位置づけられています。開発・維持しているのは清華大学のMADSys Lab、Approaching.AI、9#AISoft、そしてコミュニティ貢献者たちです。研究成果は「KTransformers: Unleashing the Full Potential of CPU/GPU Hybrid Inference for MoE Models」としてSOSP 2025(ACM SIGOPS 第31回オペレーティングシステム原理シンポジウム)で発表されています。
読者がまず知りたいであろう3点を整理します。
・何ができるか:DeepSeek-R1/V3、Kimi K2、GLM-5.2、MiniMax-M3、Qwen3-Nextといった巨大MoEを、専門家重みをCPUに退避しながら単一マシンで推論する。加えてLLaMA-Factory連携で超巨大MoEの微調整(SFT)まで行える
・何を解決するか:「巨大MoEをVRAMに丸ごと載せると数百GB要る」という物理的な壁。VRAMの代わりに大容量の安価なシステムDRAMを使い、CPUのAMX/AVX命令で専門家の計算を肩代わりさせることで、GPU台数を積み増さずに巨大モデルを動かせるようにする
・何を代替できるか:「手軽にローカルLLMを動かす」体験そのものはOllama等が代替先。KTransformersが置き換えるのは「巨大MoEを動かすためだけにGPUを何枚も並べる」という構成の一部。もしくは、クラウドAPIに投げていた巨大モデルの推論を、手元の大容量RAMマシンへ引き込む部分
仕組みをフローで見ると、推論のたびにモデルは「注意(Attention)」と「MoE専門家」に処理が分かれ、専門家の配置先がGPUかCPUかで速度が変わります。
(プロンプト)"] --> ATTN["注意層 + KVキャッシュ
GPU (VRAM)"] ATTN --> ROUTER{"MoEルーター
どの専門家を使うか判定"} ROUTER -->|"ホット専門家"| GEXP["GPU上の専門家
低レイテンシで計算"] ROUTER -->|"コールド専門家"| CEXP["CPU上の専門家
AMX/AVXで計算"] GEXP --> MERGE["専門家の出力を統合"] CEXP --> MERGE MERGE --> OUT["次トークンを生成"] OUT -->|"自己回帰で繰り返し"| ATTN
① 何ができる:単一マシンでDeepSeek-R1級の巨大MoEを推論・微調整できる。② 何を解決する:VRAM数百GBという物理的な壁を、大容量DRAM+CPU計算に置き換えて回避する。③ 何を代替できる:巨大MoE専用に多GPUを並べる構成、あるいはクラウドAPIへの外部依存の一部。
何を代替できるのか — 正直な線引き
過度な期待を避けるために線を引いておきます。KTransformersは「速さ」でvLLMのような本番推論サーバーを丸ごと置き換えるものではありません。公式が示す単一24GB VRAM構成での生成速度は最大でも十数トークン/秒の水準(後述)で、これは「1枚のGPUに載らないはずの巨大モデルが、とにかく動く」ことの価値であって、高スループット配信の価値ではありません。代替できるのはあくまで「本来なら動かせない、または多GPUが要る巨大MoEを、限られたVRAM+大容量RAMで動かす」という一点に絞られます。
同じく「本来動かないものを動かす」系の発想としては、GLM-5.2(744B MoE)を25GB RAMで動かす純Cランタイムcolibriのアプローチも参考になります。colibriがRAM主体で割り切るのに対し、KTransformersはGPUとCPUを併用してMoEの専門家を賢く分散させる、という設計思想の違いがあります。
なぜ24GB VRAMで巨大MoEが動くのか — MoE専門家オフロードの仕組み
ここが本記事の核心です。なぜ数百GBのVRAMが必要なはずの巨大MoEが、24GB VRAMのGPU1枚で動くのか。鍵はMoE(Mixture-of-Experts)というモデル構造そのものにあります。
MoEは「毎回、全部の重みを使う」わけではない
一般的なDense(密)モデルは、1トークンを生成するたびに全パラメータを計算に使います。一方MoEは、モデルを多数の「専門家(Expert)」に分け、各トークンでは一部の専門家だけを発火(アクティブ化)させます。たとえばDeepSeek-V3は総パラメータが約671Bありますが、1トークンあたりに実際に使われる(アクティブな)パラメータははるかに少数です。つまり「重みは巨大だが、一度に使う重みはその一部」という性質を持っています。
この性質が、KTransformersのオフロード戦略を成立させます。滅多に発火しない専門家(コールド専門家)をGPUの高価なVRAMに常駐させておくのは無駄なので、それらは大容量のシステムDRAMに置いておき、発火したときだけCPUで計算する。逆に、頻繁に使う「ホット専門家」や、レイテンシに直結する注意層・KVキャッシュはGPUのVRAMに置く。この「置き場所の最適化」こそがKTransformersの正体です。
CPU側の計算を速くする鍵 — Intel AMX / AVX
専門家をCPUに置くと、当然「CPUの計算は遅いのでは?」という疑問が湧きます。ここでKTransformersが使うのが、IntelのAMX(Advanced Matrix Extensions)やAVX512/AVX2といった行列演算命令です。公式のキー機能には「Intel AMXとAVX512/AVX2に最適化したカーネルで、INT4/INT8量子化推論を高速化」「NUMA対応のメモリ管理によるMoE最適化」が挙げられています。つまり、量子化して軽くした専門家重みを、CPUのベクトル/行列命令で効率よく計算することで、CPUオフロードの速度低下を実用範囲に抑えているわけです。2026年3月にはAVX2のみのCPUバックエンドにも対応し、対応ハードの裾野を広げています。
見落とされがちな代償 — 24GB VRAMの裏に約382GBのDRAM
ここは強調しておく必要があります。「24GB VRAMで動く」という見出しだけを読むと誤解します。 公式がDeepSeek-R1/V3を単一24GB VRAMで動かした際の構成は、2025年2月の公式アナウンス上で「単一(24GB VRAM)または複数GPU、そして382GBのDRAM」とされています。専門家重みをCPU側に置くということは、その重みを保持するための巨大なシステムRAMが必要だ、ということでもあります。
このトレードオフを理解すると、KTransformersが「誰の課題を解くのか」が見えてきます。潤沢なVRAM(例:H100を8枚)は用意できないが、大容量DRAMを積んだサーバーやワークステーションは用意できる——そういう環境で巨大MoEを動かしたい人にとって、KTransformersは現実的な選択肢になります。家庭用の分散実行という別方向のアプローチについては、家庭用デバイスを繋いで推論を高速化するDistributed Llamaのような分散フレームワークも存在し、「限られた機材でどう巨大モデルを動かすか」という問いには複数の解があります。
KTransformersの中核機能 — AMX/AVXカーネル・専門家スケジューリング・量子化・長文脈
現在のKTransformersは、リポジトリの整理を経て、kt-kernelというソースツリーから「推論(Inference)」と「微調整(SFT)」の2つの機能を提供する形になっています。公式READMEのKey Featuresと更新履歴から、価値の大きい機能を整理します。
・AMX/AVXアクセラレーション:Intel AMX・AVX512/AVX2に最適化したカーネルで、INT4/INT8量子化推論を高速化する。CPUオフロードの速度を支える中核
・MoE最適化:NUMA対応のメモリ管理を備えたMixture-of-Experts推論。マルチソケット環境でメモリ局所性を意識して専門家を配置する
・量子化サポート:CPU側はINT4/INT8量子化重み、GPU側はGPTQに対応。2025年3月にはunsloth 1.58/2.51ビット重みやIQ1_S/FP8ハイブリッド重みへの対応も加わった
・CPU-GPU専門家スケジューリング:2026年1月に追加。どの専門家をGPUに、どれをCPUに置くかを動的にスケジュールする。ホット/コールドの振り分け精度が速度を左右する
・長文脈対応:公式は「24GB VRAMでDeepSeek-V3/R1の139Kトークンの長文脈」に対応したとしている(2025年3月)。限られたVRAMでも長い文脈を扱える点は実用上大きい
・3層プレフィックスキャッシュ:2025年6月に、GPU-CPU-Diskの3層でプレフィックスキャッシュを再利用する機能を追加。同じ前提を繰り返し送るワークロードで効く
・多様なバックエンド:Intel AMX/AVXに加え、AMD ROCm、Intel Arc GPU(xpu)、Ascend NPUなど複数のハードウェアバックエンドに対応。特定ベンダーに縛られにくい
・SGLang統合:本番配信向けにSGLangへ統合する取り組みが進んでおり、クリーンなPython APIから利用できる
注目すべきはモデル対応の速さです。更新履歴を見ると、Kimi-K2、GLM-5.2、MiniMax-M3、DeepSeek-V4-Flash、Qwen3-Nextなど、話題の巨大MoEに対して「Day0 Support(公開初日対応)」を繰り返し打ち出しています。研究プロジェクトでありながら、最新の巨大MoEをいち早く単一機で動かせるようにする——ここがコミュニティに支持される理由の一つと考えられます。
llama.cpp・vLLM・Ollamaとの違い — KTransformersをどう使い分けるか
KTransformersの位置づけは、定番ランタイムと並べると一気に分かりやすくなります。どれが優れているという話ではなく、狙う課題が違うという前提で読んでください。
| 観点 | KTransformers | llama.cpp | vLLM | Ollama |
|---|---|---|---|---|
| 主眼 | 単一機で巨大MoEを動かす | どこでも手軽にローカル実行 | データセンターの高スループット配信 | ローカル実行の手軽さ・UX |
| ハード前提 | GPU(24GB級VRAM)+大容量CPU RAM | CPU/GPU/Mac何でも | GPU(VRAMに全載せ前提) | CPU/GPU/Mac何でも |
| 巨大MoEの扱い | 専門家をCPUへオフロードして実行 | 量子化してRAM/VRAM/ディスクへ | VRAMに載る範囲(多GPUで分割) | 量子化してRAM/VRAMへ |
| 量子化 | CPU INT4/INT8・GPU GPTQ・FP8等 | GGUF(多様な量子化) | AWQ/GPTQ/FP8等 | GGUF(llama.cpp由来) |
| ファインチューニング | ○(LLaMA-Factory統合でSFT) | 限定的 | 主眼ではない | × |
| 対象ユーザー | 大容量RAM機で巨大MoEを動かす研究者・上級者 | 個人〜開発者全般 | 本番配信を組む企業 | 個人・入門者 |
| 導入の容易さ | 難(研究プロジェクト・Linux/CUDA前提) | 中 | 中〜難 | 易 |
読み解き方はシンプルです。
・とにかく手軽に、Macでも今すぐ動かしたい → Ollama。ワンコマンドで動く手軽さが最大の価値。OpenAI互換APIで各種ツールにも繋がる
・多様な量子化・多様なハードで細かく調整したい → llama.cpp/GGUF。Ollamaの土台でもあり、汎用性の王道
・本番で多数リクエストを高スループットに捌きたい → vLLM。ページドAttentionと連続バッチングで配信性能に振る
・手元のGPUには載らない巨大MoEを、大容量RAMで単一機実行したい → KTransformers。ここは他が正面から狙っていないニッチ
Ollamaやllama.cppの詳しい違いや、そもそもローカルLLMをどう選ぶかは別記事に譲りますが、実運用でOpenAI/Anthropic両対応のローカル推論サーバーが欲しい場合は、Apple Silicon向けのomlxのような選択肢もあり、KTransformersとは狙う土俵がはっきり違います。KTransformersは「手軽さ」や「配信性能」ではなく、「1枚のGPUに載らない巨大MoEを、大容量DRAMで無理やり動かす」という一点で他と差別化されている、と理解するのが正確です。
① 何ができる:他ランタイムが諦める「単一機での巨大MoE実行」を、CPUオフロードで可能にする。② 何を解決する:VRAM不足で巨大MoEが動かせない問題を、DRAMとCPU計算で回避する。③ 何を代替できる:巨大MoE専用に多GPUを並べる構成の一部。手軽さや配信性能の代替ではない。
公式ベンチマークが示す速度とSFT — 一次ソースの数値を正しく読む
ベンチマークは構成を必ずセットで読むのが鉄則です。KTransformersの数値は「どのハードで、どのモデルを、どの並列度で測ったか」で大きく変わり、数字だけを切り出すと誤解します。公式が公表している代表値を、構成付きで整理します。
・kt-kernelの高スループット例:DeepSeek-R1-0528(FP8)を8×L20 GPU+Xeon Gold 6454Sで測定し、総スループット227.85 tokens/s、出力スループット87.58 tokens/s(8並列時)。これはデータセンター級の多GPU構成での数字であり、後述の「24GB VRAM単機」とはまったく別の土俵です
・単一24GB VRAM構成の生成速度:2025年2月の公式アナウンスでは、DeepSeek-R1/V3を単一24GB VRAM+382GB DRAMで動かし、ベースライン比で3〜28倍の高速化、生成速度は同月時点で最大~16 tokens/s(4K→8K文脈化と合わせて+15%程度の改善を経た値)とされます。巨大モデルが「動く」ことに意味がある水準で、高速配信の数字ではありません
・VRAM削減の履歴:2024年8月には、DeepSeek-V2の必要VRAMを21GBから11GBへ削減したと公式が記録しています。オフロードの積み重ねでVRAM要件を下げてきた経緯が読み取れます
SFT(ファインチューニング)も半分の主役
KTransformersは推論だけの道具ではありません。LLaMA-Factoryとの統合により、超巨大MoEの微調整(SFT)ができるのが、現在のもう一つの柱です。公式のベンチマーク表(構成付き)は次の通りです。
| モデル | GPUメモリ(合計) | 学習速度 | ハードウェア |
|---|---|---|---|
| DeepSeek-V3 | 約80GB | 3.7 it/s | 4×RTX 4090 |
| DeepSeek-R1 | 約80GB | 3.7 it/s | 4×RTX 4090 |
| Qwen3-30B-A3B | 約24GB | 8+ it/s | 1×RTX 4090 |
公式はこの微調整パスについて「ZeRO-Offload比で6〜12倍の学習高速化」「(従来のKT SFTパス比で)CPUメモリ使用量が約半分」と説明しています。DeepSeek-V3/R1級のモデルを、H100を大量に並べるのではなくRTX 4090を4枚(合計約80GB)で微調整できるという点が実務的なインパクトです。ただしこれも「4×RTX 4090」「1×RTX 4090」という構成が前提の数字であり、モデルとハードの組み合わせが変われば結果は変わります。表の学習速度(it/s)も、モデルサイズとGPU枚数が異なるため単純比較はできません。
導入手順(公式README準拠) — kt-kernel推論とLLaMA-Factory微調整
ここでは公式READMEに記載された手順を、そのまま引用する形で整理します(筆者環境での実行・検証は行っていません。実行時は各モデル×ハードの専用チュートリアルを必ず併読してください)。まず把握しておきたいのは、リポジトリが整理され、初期の統合フレームワークはarchive/ディレクトリへアーカイブされた点です。現在の推論・微調整はkt-kernelソースツリーから提供されます。
1. まず自分のCPUがAMX/AVXに対応しているか確認する
CPUオフロードの速度はAMX/AVXの有無に左右されます。導入前に、自分のマシンのCPUが対応命令を持っているかを確認しておくと無駄がありません(Linux想定の確認コマンド)。
# CPUがAVX-512 / AMX / AVX2 に対応しているか確認(Linux)
lscpu | grep -i -E "avx512|amx|avx2"
# メモリ総容量の確認(巨大MoEでは数百GB規模のDRAMが前提)
free -h | grep -i mem
# GPUとVRAM容量の確認(NVIDIA)
nvidia-smi --query-gpu=name,memory.total --format=csv
2. 推論(kt-kernel)を導入する
公式のクイックスタートでは、kt-kernelディレクトリでpipインストールします。CPU最適化カーネルを含むため、環境(CUDAやコンパイラ)の前提が揃っていることが条件です。
# 推論カーネル(kt-kernel)の導入 — 公式README準拠
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers/kt-kernel
pip install .
# 以降は使いたいモデルの専用チュートリアル(doc/en/ 配下)に従う
# 例: DeepSeek-R1/V3 は doc/en/DeepseekR1_V3_tutorial.md
公式が挙げるユースケースは「大規模MoEのCPU-GPUハイブリッド推論」「SGLangと統合した本番配信」「ヘテロな専門家配置(ホット専門家はGPU、コールド専門家はCPU)」です。SGLangなど外部フレームワークからクリーンなPython APIで呼び出せる設計になっています。
3. 微調整(SFT)をLLaMA-Factoryで動かす
微調整はLLaMA-Factory側にKTransformersを組み込む形です。公式クイックスタートのコマンドは次の通りで、accelerateでFSDP2+KT INT8構成を起動します。
# LLaMA-Factory 側に KTransformers を組み込む — 公式クイックスタート
cd /path/to/LLaMA-Factory
pip install -e .
pip install -r requirements/ktransformers.txt
CUDA_VISIBLE_DEVICES=0,1,2,3 accelerate launch \
--config_file examples/ktransformers/accelerate/fsdp2_kt_int8.yaml \
src/train.py \
examples/ktransformers/train_lora/qwen3_5moe_lora_sft_kt.yaml
対象読者・注意点 — 誰が使うべきか、誰には向かないか
最後に、採用判断のための線引きをまとめます。KTransformersは万人向けの道具ではなく、明確に「刺さる人」と「向かない人」がいるフレームワークです。
向いている人
・大容量DRAM(数百GB規模)を積んだサーバー/ワークステーションを持ち、そこで巨大MoEを動かしたい研究者・上級エンジニア
・H100を8枚並べる予算はないが、コンシューマGPU+大量のRAMで巨大MoEを推論・微調整したい人
・DeepSeek-R1/V3、Kimi-K2、GLM-5.2などの最新巨大MoEを、公開初日から手元で試したい人
・LLaMA-Factoryで超巨大MoEをSFTしたいが、GPUメモリが潤沢でない人
向いていない人
・とにかく手軽に、MacやWindowsでローカルLLMを動かしたい人(→Ollama/llama.cppが適切)
・大容量DRAMを用意できない人(VRAMではなくDRAM容量が壁になる)
・本番で高スループットの推論配信を組みたい人(→vLLM等が適切)
・研究プロジェクトの導入・トラブルシューティングに時間を割けない人
参照ソース
・kvcache-ai/ktransformers(公式リポジトリ・README) — 概要・Key Features・更新履歴・Performance Examples表・SFTベンチマーク表・kt-kernel導入手順の一次情報
・KTransformers DeepSeek-R1/V3 チュートリアル(公式) — 単一24GB VRAM+382GB DRAM構成・139K長文脈・FP8カーネルの手順
・KTransformers 公式ドキュメント(online books) — セットアップと最適化の解説
・KTransformers: Unleashing the Full Potential of CPU/GPU Hybrid Inference for MoE Models(SOSP 2025・論文) — CPU/GPUハイブリッド推論の設計思想の一次情報