VRAMが足りなくてもローカルLLMは動く ——「RAMに逃がす」という考え方が、いま急に効きはじめた理由

「ローカルでLLMを動かしたい」と思って調べると、まず出てくるのがこの話です。

「VRAMが足りません」

グラフィックボードに載っているメモリ(VRAM)にモデルが収まらないと動かない、というのが長らく常識でした。そして2026年のいま、そのVRAMは歴史的な高値になっています。32GBを積んだRTX 5090は、発売時39万円だったものが85万円を超えました

ところが最近、風向きが変わっています。**「足りないぶんは、普通のメモリ(RAM)に置いておけばいい」**という仕組みが、実用の域に入ってきました。

そして重要なのは、これが効くモデルと、効かないモデルがあるということです。この記事では、そこを数字で説明します。


まず、VRAMは何に使われているのか

誤解されやすいのですが、VRAMを食うのはモデルそのものだけではありません

手元で実際に動かしている例を挙げます。

モデル: 27B(Q4量子化)  ファイルサイズ 16GB
実際のVRAM使用量:        34GB

倍以上使っています。 差の18GBは何かというと、KVキャッシュです。会話の文脈を覚えておくための領域で、文脈を長くするほど、同時に相手をする人数を増やすほど膨らみます。

同じモデルでも、設定次第でこう変わります。

設定 KVキャッシュ 合計
文脈29万トークン × 同時3人 18.3GB 35.8GB
文脈3.2万トークン × 1人 0.7GB 18.2GB

同じモデルが、18GBでも36GBでも動く。 ここを知らずに「27Bには36GB必要」と思い込むと、必要以上に高いGPUを買うことになります。

まず確認すべきは、自分が本当に長い文脈を必要としているかです。1人で使うなら、多くの場合そこまで要りません。


「RAMに逃がす」とは何をしているのか

それでも足りない場合の話に進みます。

LLMは何十層もの層が積み重なった構造をしています。全部をVRAMに置く必要はなく、入るぶんだけ置いて、残りは普通のメモリに置いておくことができます。

llama.cppという定番のソフトでは、この設定が一行です。

-ngl 40    # 40層をGPUに載せる(残りはCPUとRAMで処理)

起動時のログに、こう出ます。

offloaded 41/41 layers to GPU     ← 全部GPUに載った
offloaded 20/41 layers to GPU     ← 半分はRAM側で処理している

数字が全層に届いていなければ、RAM側にはみ出しています。 ここを見るだけで、自分の状況が分かります。

ただし、これは遅い

はみ出したぶんは、毎回GPUとRAMの間を行き来します。この通り道(PCIe)が、車で言えば片側一車線の道路にあたります。

どれくらい遅いのか、計算してみましょう。

16GBの「密なモデル」を全部RAMに置いた場合、1文字を出すたびに16GBを運ぶ必要があります。PCIe 4.0の実効速度を25GB/秒とすると——

1秒あたり、たった2文字。

これでは使い物になりません。だから長らく「VRAMに入らないモデルは諦める」が定説でした。


MoEが状況を変えた

ここで**MoE(Mixture of Experts、専門家の混合)**という構造が効いてきます。

普通のモデル(密モデル)は、1文字生成するのに全部の重みを使います。対してMoEは、内部に「専門家」がたくさんいて、そのつど必要な数人だけが働きます

たとえば 35B-A3B と書かれたモデルは、全体は350億パラメータだが、実際に動くのは30億ぶんだけという意味です。

これがオフロードと決定的に相性がいい。運ばなければならないのは、働く専門家のぶんだけだからです。

構成 1文字ごとに運ぶ量 理論上の速度
密モデル 27B(全部RAM) 16GB 2 文字/秒
MoE 35B-A3B(全部RAM) 1.8GB 14 文字/秒
MoE 35B-A3B(一部をVRAMに常駐) 0.7GB 35 文字/秒

桁が変わります。

同じ「VRAMに入りきらない」状況でも、密モデルなら実用外、MoEなら実用圏。これが、いまオフロードが注目されている一番の理由です。


実際の事例

理屈だけでなく、動いているものがあります。

FreeToken(2026年8月)

カリフォルニア大学バークレー校から出た、MoE専用の推論エンジンです。発想が逆転しています。

モデル全体をVRAMに載せるのをやめる。重みの本体は普通のメモリに置き、そのとき必要な専門家だけをVRAMに引き寄せる

しかも「一度に全部か、まったく載せないか」ではありません。専門家1人単位(十数MB)で出し入れし、よく使われるものはVRAMに残す(LRUキャッシュ)という作りです。

実測値が出ています。

環境 モデル 速度
RTX 4060 Laptop(VRAM 8GB 35B MoE 39 文字/秒
RTX 5090(VRAM 32GB) 35B MoE 77〜83 文字/秒

8GBのノートパソコン用GPUで、350億パラメータのモデルが実用速度で動いています。

そしてVRAMが増えるほど、キャッシュが当たる率が上がり、ほぼ比例して速くなると報告されています。「8GBで動く」は最低ラインの実証であって、24GBならもっと出る、ということです。

研究の動向

学術側でも、この方向の論文が2025年から急増しています。

  • OD-MoE — 必要になった時点で専門家を読み込む方式。llama.cppの4.5倍
  • HOBBIT — 精度を混ぜて(重要な専門家は高精度、そうでないものは低精度で)転送量を削る
  • DAOP — どの専門家が呼ばれるかを先読みして、あらかじめ運んでおく
  • NEO — CPUオフロードで、GPUのみの構成を性能で上回った初の例

共通しているのは、**「PCIeという細い道をどう使い切るか」**という問題設定です。ここが勝負どころだと、業界の見方が揃ってきました。


もうひとつの解——統合メモリ

そもそも「GPUのメモリ」と「普通のメモリ」を分けなければ、この問題は起きません。

Apple Silicon(Mac)や、AMDのRyzen AI Max+ 395、NVIDIAのDGX Sparkは、CPUとGPUが同じメモリを共有する設計です。

PCIeという細い道を通る必要がありません。

メモリ 価格
AMD Ryzen AI Max+ 395 128GB 統合 約64万円
NVIDIA DGX Spark 128GB 統合 約70万円
Mac Studio M4 Max 128GB 統合 約60万円
(参考)RTX 5090 32GB 約85万円

32GBのGPUより安く、4倍のメモリが手に入ります。

弱点は速度です。専用GPUほどの帯域はありません。ただ1人で使うぶんには、体感で困る差ではないという評価が増えています。


で、結局どうすればいいのか

初めて組む方向けに、判断の順番を書きます。

① まず、本当に足りないのか確かめる

さきほどの例のように、文脈の長さと同時利用人数でVRAM使用量は倍以上変わります。1人で使うなら文脈を3万トークン程度に絞るだけで、多くのモデルが手持ちのGPUに収まります。

設定を見直すのが、いちばん安上がりです。

② モデルがMoEかどうかを見る

名前に A3B8x7B のような表記があればMoEです。

  • MoEなら → オフロードが効きます。VRAMが少なくても戦えます
  • 密モデルなら → オフロードは苦しい。VRAMに収める前提で考えてください

ここを間違えると、「同じ手法なのに全然速くならない」という結果になります。

③ 買うなら、用途で選ぶ

やりたいこと 向いているもの
密モデルを速く動かしたい VRAMの大きいGPU(中古も選択肢)
大きいMoEを動かしたい 統合メモリ機、またはGPU+オフロード
いろいろ試したい 時間貸しのクラウドGPU(数百円から)

まとめ

「VRAMに全部載せる」という前提が、崩れつつあります。

  • VRAMを食っているのはモデルだけでなく、文脈(KVキャッシュ)。設定で倍以上変わる
  • はみ出したぶんをRAMに置く仕組みは、昔からある(llama.cppの -ngl
  • ただし密モデルでは遅すぎて実用にならなかった(理論上2文字/秒)
  • MoEでは話が変わる。運ぶ量が10分の1になり、実用速度が出る
  • 8GBのGPUで350億パラメータが39文字/秒で動く実例が出ている
  • 統合メモリという別解もあり、32GBのGPUより安く128GBが買える

高いGPUを買う前に、手持ちの環境で何ができるかを確かめてみてください。この1年で、できることの範囲がかなり広がっています。


本文中の数値は、公開されている実測値と、手元の環境(RTX 6000 Ada、27B Q4モデル)での実測にもとづきます。理論値の試算はPCIe 4.0 x16の実効25GB/秒を前提としています。