要点

対象:手元のパソコンでAIを動かしたい人

  1. 4ビット(Q4_K_M)はパラメータ1つ約0.61バイト
  2. MoE は合計のパラメータ数で計算
  3. config.jsonで層・KVヘッド・次元を見る

ローカルLLM(手元で動かすAIのモデル)に必要なメモリは、重み・KVキャッシュ(入力の計算結果を保存する領域)・計算の途中で使う分を足して見積もれます。GPUで動かすなら、VRAM(GPUの専用のメモリ)が合計より多いかを見てください。

この記事の目次(6節)
  1. VRAMの量ごとに載るモデルの目安
  2. 必要なメモリの計算式
  3. モデル別の早見表(目安)
  4. 表に無いモデルを自分で計算する
  5. つまずきやすいところ
  6. 次に読む回

例にするのはQwen3-8Bです。コンテキスト長(一度に読める長さ)を8,192トークンにします。4ビットに量子化(数を少ないビットで表すこと)すると、約7.2GBが目安です。

この記事は、ローカルAIの講座「1からの道のり」の4回目です。

VRAMの量ごとに載るモデルの目安

記事の後ろの早見表の合計の目安を、VRAMの量ごとに並べ直しました。合計の目安がVRAMより小さいモデルのうち、いちばん大きいものです(4ビットのQ4_K_M)。

VRAMコンテキスト長 8,192トークンコンテキスト長 32,768トークン
8GBQwen3-8B(約7.2GB)Qwen3-4B(約7.8GB)
12GBQwen3-8B(約7.2GB)Qwen3-8B(約10.9GB)
16GBQwen3-14B(約12.2GB)Qwen3-8B(約10.9GB)
24GBQwen3-30B-A3B(約23.2GB)Qwen3-14B(約16.2GB)
32GBQwen3-32B(約26.2GB)Qwen3-30B-A3B(約25.6GB)

合計の目安がVRAMの量に近いモデルは、載らないこともあります。近いときは、1つ小さいモデルか、短いコンテキスト長から試すのがよいと考えています。

モデルのファイルの大きさから必要なメモリを見る例は、ELYZAが無料公開した日本語LLMの記事でも紹介しました。GPUが無いパソコンでも、メインメモリに置けば動かせます。13

Mac(Appleのチップ)は、CPUとGPUが1つのメモリを一緒に使う作り(ユニファイドメモリ)なので、全部をモデルに使えるわけではありません。何GBまで使えるかは、機材の回で扱います。16

必要なメモリの計算式

計算式 01 02 03 + + 重み KVキャッシュ 途中で使う分 パラメータ数 × 1つあたりのバイト数 2 × 層の数 × KVヘッドの数 × ヘッドの次元 × バイト数 × トークン数 重みの20%以下 モデルと量子化の形式 コンテキスト長に比例 一時的に使う分 例: Qwen3-8B・4ビット(Q4_K_M)・コンテキスト長 8,192トークン 重み 約5.0GB KV 約1.2 途中 1.0 合計の目安 約7.2GB 目安
重みはモデルと量子化の形式で決まり、KVキャッシュはコンテキスト長に比例して増えます
内訳中身計算のしかた
重み学習で決まった、たくさんの数(モデルの中身そのもの)パラメータ数 × パラメータ1つあたりのバイト数
KVキャッシュ入力の計算結果を保存する領域トークンごとの大きさ × トークン数
計算の途中で使う分計算のあいだだけ一時的に使うメモリ重みの20%以下

パラメータ数は、重みとして持っている数の多さです。モデルの名前の「8B」がそれに当たり、Bはbillion(10億)の頭文字です。8Bなら、およそ80億個です。

トークンは、AIが文章を区切って扱う単位です。KVキャッシュは、読ませた文章とAIが返した答えのトークンが多いほど大きくなります。区切り方は、生成AIの仕組みの記事で説明しています。1

重みのバイト数は、量子化の形式で決まる

ビット数を8で割ると、バイト数になります。16ビットなら、どのパラメータも2バイトです。7Bのモデルなら、重みは約14GBです。13

量子化すると、パラメータ1つあたりのバイト数が減ります。形式ごとの平均は次のとおりで、llama.cpp(ローカルLLMを動かすソフト)の説明書にある値です。2

形式パラメータ1つあたりのビット数(平均)パラメータ1つあたりのバイト数
F16(16ビット)16.0約2.0
Q8_0(8ビット)8.5約1.06
Q4_K_M(4ビット)4.9約0.61

値は、MetaのLlama 3.1 8Bを量子化して測ったものです。この記事では、ほかのモデルにもこの値を使いました。名前に4とあっても平均が4.9ビットになる理由は、次の回で扱います。2

計算の途中で使う分は、重みの20%として足す

EleutherAI(AIの研究の非営利団体)は、計算の途中で使う分を、経験から重みの20%以下と見ています。この記事では多めに見て、重みの20%をそのまま足しました。34

モデル別の早見表(目安)

早見表の前提は次のとおりです。層の数などの値は、2026年11月1日にHugging Faceで開いた設定ファイル(config.json)の値です。

  • 重みは、上の表のllama.cppの平均のビット数で計算
  • KVキャッシュは16ビットで計算(Ollama〔ローカルLLMを動かすソフト〕の初期設定の f16 と同じ)
  • 1GBは10億バイトで計算

重みの大きさ

モデル(例)パラメータ数16ビット8ビット(Q8_0)4ビット(Q4_K_M)
Qwen3-4B4.0B約8.0GB約4.3GB約2.4GB
Qwen3-8B8.2B約16.4GB約8.7GB約5.0GB
Qwen3-14B14.8B約29.6GB約15.7GB約9.1GB
Qwen3-32B32.8B約65.6GB約34.9GB約20.1GB
Qwen2.5-72B-Instruct72.7B約145GB約77GB約44.5GB
Qwen3-30B-A3B(MoE)30.5B約61.0GB約32.4GB約18.7GB
Qwen3-235B-A22B(MoE)235B約470GB約250GB約144GB

4ビットで動かすときの合計の目安

モデル(例)KVキャッシュ(8,192トークン)KVキャッシュ(32,768トークン)合計の目安(8,192トークン)合計の目安(32,768トークン)
Qwen3-4B約1.2GB約4.8GB約4.1GB約7.8GB
Qwen3-8B約1.2GB約4.8GB約7.2GB約10.9GB
Qwen3-14B約1.3GB約5.4GB約12.2GB約16.2GB
Qwen3-32B約2.1GB約8.6GB約26.2GB約32.7GB
Qwen2.5-72B-Instruct約2.7GB約10.7GB約56.1GB約64.1GB
Qwen3-30B-A3B(MoE)約0.8GB約3.2GB約23.2GB約25.6GB
Qwen3-235B-A22B(MoE)約1.6GB約6.3GB約174GB約179GB

パラメータ数は各モデルのモデルカードの値で、KVキャッシュは各モデルの層の数などから計算しました。6789101112

早見表の最初の2行は、KVキャッシュが同じ大きさです。KVキャッシュは、パラメータ数ではなく、モデルの中の作り(層の数など)で決まるためです。67

MoEのモデルは、合計のパラメータ数で数える

MoE(混合エキスパート)は、中に「エキスパート」という部品をたくさん持ち、トークンごとに一部だけを使う作りです。例えばQwen3-30B-A3Bは、MoEのモデルです。エキスパートを128個持ち、トークンごとに8個を使います。11

このモデルでトークンごとに働くのは3.3Bです。それでも、動かすときは全部のエキスパートをメモリに置くので、重みは合計の30.5Bで計算します。1115

表に無いモデルを自分で計算する

ここからは、早見表に無いモデルのKVキャッシュを自分で計算したいときの話です。表のモデルを使うなら、読み飛ばしてかまいません。

トークンごとの大きさの式

KVキャッシュを使うのは、アテンション(前のトークンとの関係を計算する仕組み)の層です。アテンションの計算は、ヘッドという単位に分けて行います。1

  • トークンごとのバイト数 = 2 × 層の数 × KVヘッドの数 × ヘッドの次元 × 値ごとのバイト数

最初の2は、K(キー)とV(バリュー)の2つを保存するためです。値ごとのバイト数は、16ビットなら2です。1

Qwen3などのモデルは、アテンションのヘッドのうち、KVを保存するヘッド(KVヘッド)だけを少なくした作り(GQA)です。式には、config.jsonにあるKVヘッドの数を入れます。56

config.jsonから3つの数を拾う

  1. Hugging Face(モデルを公開するサイト)でモデルのページを開き、「Files and versions」を押す
  2. config.json を開く
  3. 層の数は num_hidden_layers、KVヘッドの数は num_key_value_heads を見る
  4. ヘッドの次元は head_dim を見る。無ければ hidden_size を num_attention_heads で割る

計算の例(Qwen3-8B・16ビットのKVキャッシュ)

Qwen3-8Bのconfig.jsonの値を式に入れると、次のとおりです。6

段計算結果
トークンごと2 × 層36 × KVヘッド8 × ヘッドの次元128 × 2バイト147,456バイト(約147KB)
8,192トークン147,456 × 8,192約1.21GB
32,768トークン147,456 × 32,768約4.83GB

つまずきやすいところ

Ollamaの初期設定のコンテキスト長を確かめる

Ollamaは、初期設定では4,096トークンのコンテキスト長で動きます。このままなら、KVキャッシュは早見表の8,192トークンの半分です。13

長い文章を読ませるときは、環境変数 OLLAMA_CONTEXT_LENGTH でコンテキスト長を延ばせます。そのぶんKVキャッシュも増えます。13

KVキャッシュを小さくする設定がある

Ollamaでは、環境変数 OLLAMA_KV_CACHE_TYPE で、KVキャッシュ用の形式を選べます。量子化した形式(q8_0・q4_0)は、Flash Attentionという計算のしかたが有効なときに使えます。13

形式KVキャッシュの大きさ精度への影響
f16(初期設定)早見表のとおりほぼ無い(基準)
q8_0f16 の約半分わずか。多くの場合、目立つ影響は無い
q4_0f16 の約4分の1小〜中。コンテキスト長が長いほど目立つことがある

影響の大きさは、モデルと作業によって違います。KVヘッドを少なくしたモデルほど影響が大きく出ることがあり、この記事の例のQwen3もこの作りです。形式を変えたら、答えの質を確かめてください。136

メモリが足りないときは、まず q8_0 を試すのがよいと考えています。FAQ も、f16 を使わないなら q8_0 を勧めています。13

VRAMとメインメモリに分けて置かれることがある

Ollamaは、モデルをVRAMとパソコンのメインメモリに分けて置くことがあります。どちらに置いたかは、ollama ps を実行すると「PROCESSOR」の欄で確かめられます。13

「PROCESSOR」の表示意味
100% GPU全部をVRAMに置いた
100% CPU全部をメインメモリに置いた
48%/52% CPU/GPUメインメモリに48%、VRAMに52%を置いた

機材ごとの速さの目安は、llmspeedでローカルLLMの速度を見る記事にまとめました。

新しい作りのモデルは、この式だけでは計算できない

例として、Qwen3.8-27Bを見ます。名前は似ていますが、Qwen3-8Bとは別のモデルです。このモデルは64層のうち、アテンション層が16です。14

残りの48層は Gated DeltaNet という別の仕組みで、この記事のKVキャッシュの式は当てはまりません。その分のメモリはモデルカードに書かれていないので、読み込んだあとに ollama ps の「SIZE」の欄で大きさを確かめてください。11314

次に読む回

前の回は「ローカルLLMの『8B』『Q4_K』『VRAM』は何を表しているのか」で、この回に出てくる語を扱っています。

次の回は「量子化とは — 小さくすると何が落ちるのか、GGUFの記号(Q4_K_Mなど)の読み方」です。早見表の4ビットと8ビットで、答えの質がどれだけ変わるかを扱います。

出典

  1. Mastering LLM Techniques - Inference Optimization(NVIDIA Technical Blog)(参照 2026-11-01)
  2. llama.cpp tools/quantize README(Quantization の表・Memory/Disk Requirements)(参照 2026-11-01)
  3. Transformer Math 101(EleutherAI Blog)(参照 2026-11-01)
  4. Model memory estimator(Hugging Face Accelerate のドキュメント)(参照 2026-11-01)
  5. GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints(arXiv:2305.13245)(参照 2026-11-01)
  6. Qwen/Qwen3-8B のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  7. Qwen/Qwen3-4B のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  8. Qwen/Qwen3-14B のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  9. Qwen/Qwen3-32B のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  10. Qwen/Qwen2.5-72B-Instruct のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  11. Qwen/Qwen3-30B-A3B のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  12. Qwen/Qwen3-235B-A22B のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  13. FAQ(Ollama のドキュメント)(参照 2026-11-01)
  14. Qwen/Qwen3.8-27B のモデルカードと config.json(Hugging Face)(参照 2026-11-01)
  15. Mixture of Experts Explained(Hugging Face Blog・2023年12月11日)(参照 2026-11-01)
  16. Apple unleashes M1(Apple Newsroom・2020年11月10日)(参照 2026-11-01)