tk3.biz
ブログ一覧に戻る Back to Blog

ローカルLLMにメモリは何GB必要か: 96GB積んだミニPCで実測した ローカルLLMにメモリは何GB必要か: 96GB積んだミニPCで実測した

AIローカルLLMQwenllama.cppメモリRyzenAI

はじめに

ローカル LLM 用に PC を買うとき、いちばん迷うのがメモリの量です。 私は Ryzen AI 9 HX 370 のミニPCに 96GB 積みました。多いほうが安心だろう、という理由です。

では実際に何 GB 使っているのか。このシリーズで測ってきた数字から整理します。

結論を先に書くと、いま使っている 35B の MoE モデルなら 24〜28 GiB です。 96GB の 3 割ほどで、64GB あれば十分、32GB は厳しいと見ています。 ただし 32GB と 64GB の話は、この機体で測ったものではなく推定です。

実測: モデルが使うメモリ

使っているのは Qwen3.6-35B-A3B(Q4_K_XL、ファイル 21.27 GiB)。 普段の設定(コンテキスト 64K、MTP 投機デコードあり、画像用の mmproj なし)で、 llama-server の使用量を測りました。

状態使用量
起動直後23.97 GiB
32K トークンの文書を読ませた後24.89 GiB

モデルのファイルが 21.27 GiB なので、それ以外(KV キャッシュ、MTP 用の領域、作業領域)が 3 GiB ほどです。

コンテキストを伸ばすと、どれだけ増えるか

コンテキスト長を変えたときの増え方は、別の条件(MTP なし・mmproj あり)で測っています。

コンテキスト使用量64K からの増分
8K22.55 GiB−1.21 GiB
64K23.76 GiB—
128K25.14 GiB+1.38 GiB
256K(モデルの上限)27.89 GiB+4.13 GiB

この増分を普段の設定の値に足すと、128K で約 25.3 GiB、256K で約 28.1 GiB になります(推定)。

llama-serverが使うメモリ。既定の64Kで24.0 GiB(実測)、128Kで25.3 GiB、上限の256Kで28.1 GiB(推定)。大半はモデル本体の21.27 GiBで、KVやMTPの分は小さい。32GB、64GB、96GBの線と比べると、96GBの3割に収まる

上限の 256K まで伸ばしても 28 GiB。 思ったより増えません。

KV キャッシュが小さいのは、このモデルの特徴

コンテキストを伸ばすと KV キャッシュが増えるのは一般的な話です。 このモデルでは、1 トークンあたり約 22 KB(f16)しか増えませんでした。

理由はモデルの構造にあります。Qwen3.6-35B-A3B は SSM とフルアテンションのハイブリッドで、 KV キャッシュを持つのは 40 層のうち 10 層だけです。 全層がフルアテンションのモデルなら、同じコンテキストで 4 倍前後になります。

ほかのモデルでは、長いコンテキストのメモリがずっと重くなる可能性があります。 「256K でも 28 GiB」は、このモデルだからこその数字だと考えてください(128K の回)。

iGPU はメインメモリを使う

ミニPCの内蔵 GPU(Radeon 890M)は、専用のメモリをほとんど持っていません。

項目値
iGPU 専用メモリ(BIOS の設定)2 GiB
OS から見えるメモリ93.6 GiB(96GB のうち)
llama-server 動作中の GPU 共有メモリの使用量24.6 GiB
Vulkan が報告する使える量76.9 GiB(78,739 MiB)

モデルは専用メモリではなく、メインメモリ(共有メモリ)にそのまま置かれています。 だから、メモリの搭載量がそのまま「載せられるモデルの大きさ」になります。

ただし、搭載量の全部を iGPU が使えるわけではありません。 この機体では 93.6 GiB のうち 76.9 GiB(約 8 割)が使えると報告されました。 この割合がメモリの量やドライバの設定でどう変わるかは、確かめていません。

32GB / 64GB / 96GB で何ができるか

ここからは推定です。上の実測と、「OS とほかのアプリにも数 GB〜十数 GB 要る」という前提から考えています。

搭載量このモデル(35B MoE・Q4)見立て
32GB動くかはぎりぎりモデルと KV で 24 GiB。OS とブラウザを足すと足りなくなりやすい。iGPU が使える量が 8 割なら約 25 GiB で、ほぼ上限。量子化をもっと強くする(小さいファイルにする)か、小さいモデルにする必要がありそう
64GB余裕を持って動く256K まで伸ばしても 28 GiB。OS やアプリと同時に使っても困らない
96GB余るこのモデルでは 3 割しか使わない。もっと大きいモデルは載るが、速くはならない(下記)

私の用途(この MoE モデルを普段使いし、ときどき長い文書を読ませる)なら、64GB で足りたことになります。

メモリを増やしても、速くはならない

最後に、いちばん大事なことです。メモリの量は「載るかどうか」を決めるだけで、速さは決めません。

iGPU の生成速度は、メモリから重みを読む速さ(帯域)でほぼ決まります。 この機体は DDR5-5600・128bit で理論 89.6 GB/s、実効で 60 GB/s ほどでした。

1 トークン生成するたびに読む量で割ると、速度の見当がつきます。

モデル1 トークンで読む量生成速度(実測)
Qwen3.8-27B(密)全体の 16.23 GiB3.6 t/s
Qwen3.6-35B-A3B(MoE)一部だけ(実効 3B 相当)20.7 t/s

96GB あれば 70B 級の密モデルも載ります。でも、1 トークンごとに 40 GB 前後を読むことになるので、 計算上は 毎秒 1〜2 トークンしか出ません。載っても、使える速さにはなりません。

速さを求めるなら、メモリを増やすより、1 トークンあたり読む量が少ないモデル(MoE)を選ぶほうが効きます (構築の回)。

まとめ

  • 35B の MoE モデル(Q4)で、使うメモリは 24 GiB。上限の 256K まで伸ばしても 約 28 GiB
  • 長いコンテキストで増えにくいのは、このモデルがハイブリッド構成だから。ほかのモデルでは重くなりうる
  • iGPU はメインメモリを使う。ただし全部ではなく、この機体では約 8 割
  • 見立てでは、64GB で十分、32GB はぎりぎり(推定)
  • メモリは「載るか」を決めるだけ。速さは帯域とモデルの構造で決まる

関連記事 Related Posts

Ryzen AI ミニPCでローカルLLMを実用速度で動かす完全ガイド(2026年版) Ryzen AI ミニPCでローカルLLMを実用速度で動かす完全ガイド(2026年版)

Ryzen AI 9 HX 370(Radeon 890M)のミニPCで、ローカルLLMを毎秒20トークン前後で動かすまでの手順を1本にまとめました。llama.cppのVulkan版を入れ、MoEモデルを選び、効く設定だけを入れて、llmと打つだけで使える状態にします。つまずいた点も全部載せています。 Ryzen AI 9 HX 370(Radeon 890M)のミニPCで、ローカルLLMを毎秒20トークン前後で動かすまでの手順を1本にまとめました。llama.cppのVulkan版を入れ、MoEモデルを選び、効く設定だけを入れて、llmと打つだけで使える状態にします。つまずいた点も全部載せています。

ローカルLLMの設定、効くもの・効かないもの一覧(実測つき) ローカルLLMの設定、効くもの・効かないもの一覧(実測つき)

Ryzen AI ミニPCでローカルLLMを動かすときに試した設定を、効果の大きさ順に1枚にまとめました。Vulkanは5.2倍、MoEは5.7倍。一方で、効かなかったもの、逆効果だったもの、そもそも無効だったものもあります。すべてこの機体での実測値です。 Ryzen AI ミニPCでローカルLLMを動かすときに試した設定を、効果の大きさ順に1枚にまとめました。Vulkanは5.2倍、MoEは5.7倍。一方で、効かなかったもの、逆効果だったもの、そもそも無効だったものもあります。すべてこの機体での実測値です。

128K の文書の奥まで、ちゃんと読めているのか 128K の文書の奥まで、ちゃんと読めているのか

ローカルLLMに128Kトークンの文書を読ませ、20か所に仕込んだ事実を拾えるか測りました。深さによる取りこぼしは無く、文書に無いことは「記載なし」と答えました。唯一の誤りは、先頭2文字が同じ別の番号との取り違えで、片方の名前を変えると消えました。 ローカルLLMに128Kトークンの文書を読ませ、20か所に仕込んだ事実を拾えるか測りました。深さによる取りこぼしは無く、文書に無いことは「記載なし」と答えました。唯一の誤りは、先頭2文字が同じ別の番号との取り違えで、片方の名前を変えると消えました。