目次を開く
結論
モデルの重み、KVキャッシュ、実行時領域を分け、同時実行の条件を明示する。
背景
重みがGPUメモリへ収まっても、長いコンテキストや並列リクエストに必要な領域が足りない場合がある。推論時のピークを構成要素ごとに見積もる。
設計と検証の論点
構成を検討するときは、次の責任と境界を分けて確認します。
- パラメータ数
- 数値精度
- 量子化
- コンテキスト長
- KVキャッシュ
- バッチ
- 実行環境
重みの概算は バイトとなる。 はパラメータ数、 は重みあたりのビット数である。KVキャッシュを含む単一GPUの目安は次のように分解できる。
は同時系列数、 は層数、 は系列長、 はKVヘッド数、 はヘッド次元、 はKV要素あたりのビット数である。係数2はキー(Key)と値(Value)を表す。量子化のメタデータ、演算用バッファ、メモリ断片化などはこの式だけでは求まらないため、対象ランタイムでのピーク使用量を測る。
判断理由
パラメータ数と実行環境の関係を軸に、採用案と代替案の責任範囲を比較します。既存の制約を残す理由と、新しい境界で変えられることを分けて記述します。
トレードオフ
数値精度を扱うために増える実装・保守・確認作業と、得られる制御可能性を比較します。障害時の経路と運用担当者の負担を含め、採用しない方がよい条件も示します。
制約
モデル版、ランタイム、量子化、系列長、バッチごとのピーク使用量を記録する。計算値を実測性能と混同しない。
関連事例
関連事例の担当範囲や設計判断を参照します。記事で提案する実験・構成を、その事例で実施済みとするものではありません。