VRAM計算
LLMの実行に必要なVRAMを、量子化別の重みと、文脈長・バッチサイズに応じたKVキャッシュから見積もる。
活性化、CUDAコンテキスト、断片化のための余裕。実測値ではなく粗い見積もり。
重み
16.00 GB
KVキャッシュ
1.07 GB
合計(オーバーヘッド込み)
19.63 GB
24 GB の VRAM に収まる
KVキャッシュの要素は、FP32を選ばない限り一般的な推論の既定に合わせて FP16(2バイト)で計算する。
KVキャッシュのバイト数 = 2(KとV)× 層数 × KVヘッド数 × ヘッド次元 × コンテキスト × バッチ × 要素バイト数。重み = パラメータ数 × パラメータあたりバイト数。
使い方
- プリセットを選ぶか、パラメータ数とアーキテクチャ(層数、KVヘッド数、ヘッド次元)を直接入力する。
- 量子化、コンテキスト長、バッチサイズを設定する。
- 重み、KVキャッシュ、オーバーヘッド込みの合計と、収まる VRAM サイズの目安が表示される。
注意事項
プリセットのアーキテクチャ値は各モデルの公開 config に基づく近似で、全項目は編集できる。KV キャッシュは 2 × 層数 × KVヘッド数 × ヘッド次元 × コンテキスト × バッチ × 要素バイト数 で計算し、要素は FP32 選択時を除き FP16(2バイト)とする。オーバーヘッド(既定15%)は活性化や断片化のための粗い余裕で、実際の使用量は推論フレームワークや設定で変わる。学習(勾配・オプティマイザ状態)は対象外で、推論専用の見積もり。
よくある質問
- GQA って何で KV ヘッド数が効くの?
- 最近のモデルは Grouped-Query Attention で KV ヘッド数を注意ヘッド数より少なくしており、その分 KV キャッシュが小さくなる。プリセットの KV ヘッド数はその実際の値。
- 計算が合っているのに起動しないのはなぜ?
- フレームワークの作業領域、CUDA コンテキスト、トークナイザーや埋め込みの追加分などで、計算以上に使うことがある。オーバーヘッド率を上げて見積もると安全側に倒せる。