モデルに必要なGPU台数の計算
入力
| モデルのVRAM | 140 |
|---|---|
| GPU1台あたりのメモリ | 80 |
| 実効利用率 | 90 % |
モデルに必要なGPU台数の計算
モデルが必要とする総VRAM量、GPU1台あたりのメモリ、そしてフレームワークや断片化のオーバーヘッドを織り込んだ実効利用率から、モデルをメモリに収めるために必要なアクセラレータの台数を見積もります。
入力
モデル
ハードウェア
結果
値を入力すると計算結果が表示されます。
詳細
モデルに必要なGPU台数
大規模言語モデルは、1トークンを生成するよりも前に、まずアクセラレータのメモリに収まっていなければなりません。モデルが1台のGPUより大きいときには複数台に分割され、最初に問うべき計画上の問いは、単純に何台のデバイスが必要かということです。この計算ツールは、モデルが必要とする総VRAM、各GPUのメモリ、そして実運用が実際に使えるメモリの割合という3つの数値から、その答えを導きます。
なぜモデルは複数のGPUにまたがるのか
最新のアクセラレータは、決まった量の高帯域メモリを搭載しています。H100なら80 GB、H200なら141 GB です。重みと実行時バッファがこの値を超えるモデルは1台のデバイスには収まらないため、分割(シャーディング)されます。一般的な方法がテンソル並列です。各層をグループ内で分割し、すべてのGPUが重みの一部を保持し、部分的な結果を各層の集団通信ステップでつなぎ合わせます。グループ全体が1台のより大きなデバイスのように振る舞うわけです。この計算ツールが示す台数は、独立した複製の集合ではなく、その密に結合した1つのグループを表しています。
実効メモリは公称値を下回る
GPUがモデルに公称どおりのメモリ全量を渡すことはありません。CUDAコンテキスト、フレームワークのキャッシュアロケータ、アクティベーションのテンソル、アロケーション間の断片化がそれぞれ取り分を持ち、推論サービス中にはKVキャッシュがコンテキスト長やバッチサイズに応じて増大します。公称値のおよそ80〜90パーセントを利用可能とみなすと現実的な余裕が残ります。公称値に近づけすぎると、負荷時のメモリ不足を招きます。
計算式
モデルの要件を ギガバイト、GPU1台あたりのメモリを ギガバイト、実効利用率を とすると、デバイス台数と合計メモリは次のようになります。
nT=⌈g⋅fM⌉=n⋅gここで はGPUの台数、 はその合計公称メモリです。モデルは小数台のアクセラレータでは動かせないため、天井関数で切り上げます。
計算例
140 GB のVRAMを必要とするモデルを、80 GB のGPUで、メモリの90パーセントを利用可能として動かす場合を考えます。
nT=⌈80×0.9140⌉=⌈72140⌉=⌈1.94⌉=2=2×80=160 GB2台で足り、140 GB の要件に対して160 GB の公称メモリが確保され、KVキャッシュに十分な余裕があります。同じハードウェアで350 GB のモデルなら、 台が必要です。
最小台数の先へ
ここで示す台数は、収まるかどうかの問いだけに答えるものです。その点を超えてアクセラレータを追加すると、メモリの余裕、すなわちより大きなKVキャッシュ、高いバッチサイズ、長いコンテキストの余地が得られます。これは収容の可否を変えるのではなくスループットを高めるものであり、その一方で分割に伴う通信オーバーヘッドがGPUあたりの効率を徐々に削っていきます。性能を見据えたサイジングは別の作業です。 への入力となる基礎的なメモリ要件を見積もるには LLM推論のVRAM計算 を、デバイス台数を運用コストに換算するには GPU クラウド費用を計算 をご覧ください。
よくある質問 (FAQ)
テンソル並列とは何ですか?
テンソル並列は、モデルの各層を複数のアクセラレータに分割する手法です。すべてのGPUが重みの一部を保持し、各行列積の一部分を計算します。部分的な結果は各層で集団通信ステップによって結合されます。これは1台のデバイスに収まらないモデルを複数台にまたがって収めるための技術であり、この計算ツールが示す台数が独立した複製ではなく、密に結合した1つのグループを表す理由でもあります。
なぜ実効メモリは公称値より小さいのですか?
GPUがモデルに公称どおりのメモリ全量を提供することはありません。CUDAコンテキスト、フレームワークのキャッシュアロケータ、アクティベーションのテンソル、アロケーション間の断片化がいずれも領域を消費し、推論サービス中にはKVキャッシュがコンテキスト長やバッチサイズに応じて増大します。利用可能なメモリを公称値のおよそ80〜90パーセントとみなすと現実的な余裕が残ります。公称値に近づけすぎると、負荷時にメモリ不足エラーを招きます。
モデルに必要な台数より多くGPUを追加するとどうなりますか?
余分なアクセラレータは、より大きなKVキャッシュを保持したり、バッチサイズを上げたり、長いコンテキストの余地を残したりできるメモリの余裕をもたらします。メモリが制約でなくなる点を超えると、GPUの追加は収容可能性ではなく主にスループットを高めることになり、分割に伴う通信オーバーヘッドがGPUあたりの効率を削っていきます。ここで示す最小台数はあくまで収まるかどうかの問いに答えるもので、性能を見据えたサイジングは別の判断です。
免責事項
この見積りはメモリに収まるかどうかのみを対象とし、アクセラレータの台数を整数に切り上げます。スループットやレイテンシ、インターコネクトのサイジングは行わず、実効利用率はフレームワーク、コンテキスト長、バッチサイズによって変動します。実機への割り当て前に、実際のデプロイ構成で確認してください。