LLM の実行に必要な VRAM を見積もり、手元の GPU に収まるか判定。
まだコメントはありません。最初のコメントを書いてみましょう!
LLM VRAM(GPU メモリ)計算ツールは、大規模言語モデルをローカルやセルフホストで「実行」するのに必要なメモリを見積もります。必要量≒重み+KV キャッシュ+実行時オーバーヘッドで、重み=パラメータ数×1 重みあたりのビット数÷8、KV キャッシュ=2×レイヤー数×KV ヘッド数×ヘッド次元×1 要素のバイト数×コンテキスト×同時シーケンス数です。モデル・量子化・デバイスを選ぶと、収まるか、余裕、収まる最長コンテキスト、生成速度の上限が分かります。
必要量=重み+KV キャッシュ+実行時オーバーヘッドです。重み=パラメータ数×1 重みあたりのビット数÷8 で、たとえば 80 億パラメータのモデルは FP16(16 ビット)で約 15 GiB、Q4_K_M(約 4.9 ビット)で約 4.6 GiB です。KV キャッシュはコンテキスト長と同時シーケンス数に応じて増えるので、両方を設定してください。
モデルは 1 トークン処理するたびに各レイヤーの Key と Value を保存し、生成時の再計算を避けます。サイズ=2×レイヤー数×KV ヘッド数×ヘッド次元×1 要素のバイト数×コンテキスト長×シーケンス数で、コンテキスト長に比例します。グループドクエリアテンション(KV ヘッドが少ない)やスライディングウィンドウを使うモデルでは大幅に小さくなります。
ビット数が少ないほど重みは小さく通常は高速になりますが、品質は落ちます。Q8_0 は元に近く、Q5_K_M や Q6_K は一般的な折衷案、メモリが厳しいときの出発点は Q4_K_M で、Q3 未満になると品質の低下がはっきりします。現在の設定で各レベルが収まるかは表で確認できます。
すべてのエキスパートをロードする必要があるため、重みは各トークンで実際に使われるパラメータ数ではなく「総パラメータ数」で計算します。一方、生成速度は「アクティブパラメータ数」で決まるため、MoE はメモリを多く使うわりに極端には遅くない、という特徴があります。
通常は使えません。システムの既定では GPU が使えるのはユニファイドメモリの一部(おおむね 3 分の 2〜4 分の 3)なので、「Apple ユニファイドメモリ」を選ぶと 75% を利用可能として扱います。実際の設定に合わせたい場合は「利用可能な割合を指定」を選んでください。
重みと KV キャッシュは各カードに均等に分割され、各カードが固定の実行時オーバーヘッドをそれぞれ負担すると仮定するため、単一カードより合計はやや大きくなります。実際の分割方法(テンソル並列・パイプライン並列)や通信のオーバーヘッドは推論エンジンによって異なるので、余裕を持たせてください。
計画用の見積もりで、対象は「推論」のみ(重み、KV キャッシュ、調整できるオーバーヘッド)です。実際の使用量は推論エンジン(vLLM、llama.cpp など)、バッチ、CUDA のバージョン、ページング KV の設定で変わります。学習やファインチューニングは勾配・オプティマイザ状態・活性化などではるかに多くのメモリを要し、このツールの対象外です。
1 トークンを生成するたびにアクティブな重みを 1 回読むため、バッチ 1 では上限はおおよそ「メモリ帯域÷1 トークンあたりに読む重みのバイト数」です。計算律速・KV キャッシュの読み取り・ソフトウェアのオーバーヘッドを無視した理論上限なので、実際の速度は通常これより低くなります。デバイスの帯域を入力すると表示されます。
| 量子化 | bpw | 重み | 合計 | 収まる? |
|---|---|---|---|---|
| FP32 | 32 | 29.92 GiB | 34.91 GiB | いいえ |
| FP16 | 16 | 14.96 GiB | 18.45 GiB | はい |
| Q8_0 | 8.5008 | 7.95 GiB | 10.74 GiB | はい |
| FP8 | 8 | 7.48 GiB | 10.23 GiB | はい |
| Q6_K | 6.5633 | 6.14 GiB | 8.75 GiB | はい |
| Q5_K_M | 5.7036 | 5.33 GiB | 7.87 GiB | はい |
| Q5_K_S | 5.5704 | 5.21 GiB | 7.73 GiB | はい |
| Q4_K_M | 4.8944 | 4.58 GiB | 7.03 GiB | はい |
| Q4_K_S | 4.6672 | 4.36 GiB | 6.80 GiB | はい |
| Q3_K_L | 4.2979 | 4.02 GiB | 6.42 GiB | はい |
| Q3_K_M | 3.996 | 3.74 GiB | 6.11 GiB | はい |
| Q3_K_S | 3.6429 | 3.41 GiB | 5.75 GiB | はい |
| Q2_K | 3.1593 | 2.95 GiB | 5.25 GiB | はい |
モデル仕様は Hugging Face の config.json と safetensors メタデータに基づきます(2026-10-20 確認)。量子化の bpw は llama.cpp が Llama-3.1-8B で測定した値で、他のモデルでは多少異なります。
これはモデルを「実行(推論)」するために必要なメモリの目安で、学習やファインチューニングは対象外です。実際の使用量は推論エンジン(vLLM、llama.cpp、TensorRT-LLM など)、バッチ、CUDA のバージョンによって変わるため、余裕を持たせてください。