定義された負荷に対して構成を採用する
GPU のリスト、モデルに対する助言、現在の構成の代替案には、同じ出発点のシートが必要です。モデルとリビジョン、推論か適応か、重みの形式、必要な長さ、同時実行かマイクロバッチ、品質基準です。プランを比較する際は、これらの要件を保持してください。コンテキストをより少なく処理する構成や簡略化されたタスクは、同じニーズに自動的には応えません。
各必須要件を分類してください。利用可能な証憑が自らのスコープ内で裏付けていれば「適合」、欠けていれば「要確認」、確認済みの不具合が負荷の遵守を妨げるなら「除外」とします。候補が採用されるのは、これらすべての要件が満たされたときだけです。次に、適合した候補をプランの総費用、有効マージン、文書化されたスケジュールで順位付けします。優先事項は足切り基準を補うものではありません。
各基準を証憑と判断に結び付ける
営業資料は提案内容を証明するものであり、あなたのプロトコルは負荷上で機能するものを立証します。発注時に要求する環境は、あくまで準備上の希望にすぎません。公称メモリ容量や記載された在庫は、ソフトウェアのインストールや提供期間を証明するものではありません。
証憑はそのバージョンとスコープとともに保管してください。必須情報が文書化されていない場合は、確認すべき条件を正確に記載します。この表により、こうした不明点を保証に変えることなく、事前選定を行えます。
| 必須基準 | 検証可能な証憑 | 適合 | 要確認 | 除外 |
|---|---|---|---|---|
| カバーされる負荷 | モデル、リビジョン、トークン、バッチ/同時実行、実行済み入力 | 必要な負荷がすべてカバーされている | 実際の次元が不明 | 必須の一部が削除されている |
| 互換性 | ソフトウェアの公式ドキュメントと対象環境の確認 | 必要な組み合わせを検証済み | 環境は希望のみ | 必須の依存関係が非互換 |
| GPUあたりのメモリ | 計算の内訳、利用可能容量、有効フェーズのピーク | 正当なマージンをもって完全なサイクルをカバー | 重みのみ、または既知の小規模テスト | 要求負荷での飽和 |
| 品質 | 比較前に固定したコーパス、特定された出力、定義済みの閾値 | 閾値と許容範囲を遵守 | 未評価の新形式 | 許容範囲を超える回帰 |
| 分散とサーバー | コンポーネントの配置、必要な RAM、ストレージ、相互接続 | 検証済みの要件 | 必須仕様が未文書化 | 必須の分散が不可能 |
| 予算とスケジュール | プラン、ロット、カード、日数、合計 USD、完全な計画 | 上限と期間を遵守 | 依然として仮定にすぎない所要時間 | 予算または期限の超過 |
技術的な出典: 推論用の負荷シート · フェーズとカウンターを測定する · 品質基準を定める · 実験のコストを計画する
結果が何を計算するのかを把握する
パラメータ数は、密な計算で表現する値の数に対応します。フォーマットは値ごとのビット数を示します。「重みのみ」の結果はこの量を Gio に変換し、続いて「目安のエンベロープ」があなたの予備分を加算します。ツールで訓練か適応かを選んでも、隠れた普遍的な乗数が適用されるわけではありません。不足している項目を文書化するよう促すものです。
このシンプルさにより前提を再確認できます。同時に、計算の外に残るもの、すなわち量子化のメタデータ、別フォーマットのモジュール、作業メモリ、一時的なロード、プロセス外の用途を把握しておく必要があります。提示される GPU 候補は検討対象であり、あなたのモデルがそこで動作する保証ではありません。カードの名前と公称メモリは、そのサーバーのその他の部分を表すものではありません。
カードを比較する前に単位を読む
十進の GB は 10 億バイト、Gio は 2³⁰ バイトに相当します。カタログは公称容量を GB で表示します。ツールは十進の慣例を適用します。構成を検証するには、デバイスが申告するバイト単位の容量も確認してください。プログラムのカウンターはバイトまたは Gio で表示されることがあります。サイズを比較する前に、同じ定義の量に変換してください。公称メモリ、空きメモリ、予約ピークを混同しないでください。
計算例:24 億バイトは約 22.35 GiB に相当します。この結果は 24 GB のカードの空き容量を示すものではありません。システム、実行コンテキスト、その他の割り当てが影響することがあります。試算表の各列名には単位と対象範囲を必ず含めてください。
技術的な出典: NIST — 2進接頭辞と10進接頭辞
計算例:70億パラメータ
70億パラメータを16ビットで扱う場合、密なデータ量は140億バイト、およそ13.04 Gioです。ここで6 Gioの予約領域を選ぶと、エンベロープは19.04 Gioになります。この計算は、6 Gioの予約領域があなたのモデルに適していることを証明するものではありません。それはまさに、採用する入力と演算によって検証すべき仮定です。
この表では、重みの形式による算術的な効果だけを示すために同じ予備を保っています。実際の実行では、他の割り当ては異なる挙動を示すことがあります。4ビット表現には追加情報が含まれることが多く、一部の層が別の形式のまま残ることもあります。したがって、最後の行を保証された合計ピークとして読まないでください。
| 重みのフォーマット | denseな容量(バイト) | 重み(GiB、丸め) | 重み + 予備(GiB) |
|---|---|---|---|
| 32ビット | 28 000 000 000 | 26,08 | 32,08 |
| 16ビット | 14 000 000 000 | 13,04 | 19,04 |
| 8ビット | 7 000 000 000 | 6,52 | 12,52 |
| 理論上の4ビット | 3 500 000 000 | 3,26 | 9,26 |
説明可能な予備を構築する
習慣でパーセンテージを選ぶのではなく、予備を分解してください。自己回帰推論では、アーキテクチャ、キャッシュ、保持するトークン、同時実行するシーケンスを記録します。学習では、学習対象のパラメータ、勾配、オプティマイザ、アクティベーション、バッファを記録します。入力長とマイクロバッチは、パラメータ数が変わらなくても記録票の一部です。
項目によっては、同じタイミングで最大値に達しないものもあります。独立した最大マージンを足し合わせたものは、そのように明示するなら保守的なエンベロープとして使えますが、観測されたピークではありません。推定した項目、測定した項目、まだ不明な項目を書き分けてください。KVキャッシュのガイドでは、その計算の一つを詳しく扱っています。メモリの資料では、カウンタをプログラムの各段階に位置づけ直しています。
| 記録する項目 | 必要な入力 | 期待される根拠 |
|---|---|---|
| 生成キャッシュ | KVヘッド、層、トークン、シーケンス、形式 | アーキテクチャに合わせた計算と実測 |
| アクティベーション | マイクロバッチ、長さ、アーキテクチャ、チェックポイント | 採用した入力でのピーク |
| 勾配とオプティマイザ | 学習するパラメータ、形式、手法 | 最初の完全な更新 |
| 読み込み、検証、エクスポート | 手順と出力サイズ | 必要な各段階の確認 |
タスクを黙って変えずに段階的に検証する
短い入力と小さなバッチから始めて、準備の誤りを見つけます。次に通常の入力へ、そして実際に必要な上限へ進みます。プログラムがデータを切り捨てたり、保持するトークンを減らしたり、コーパスの一部を飛ばしたりするなら、通ったケースは公表した負荷を検証したことにはなりません。実際に実行した次元を記録してください。
段階ごと、GPUごとに、そのカウンタとともにピークを記録します。テンソルに割り当てられたメモリと、PyTorchアロケータが予約したメモリは足し合わせられません。システムの読み取りは、計測対象のプロセス以上の範囲を覆うことがあります。複数のロットを検討する場合は、そのソフトウェア上の配分を記録してください。2枚のカードが自動的に単一のメモリ空間になるわけではありません。
技術的な出典: PyTorch — CUDAメモリ管理
最初の超過後に判断する
読み込み時の失敗は、重み、形式、一時的な割り当てを示唆します。生成時の失敗は、コンテキストと同時実行数を調べる必要があります。逆方向パスでの失敗は、マイクロバッチ、アクティベーション、計算戦略を示唆することがあります。この切り分けにより、精度、モデル、データを同時にやみくもに変えるのを避けられます。
各修正の後で、品質と対象範囲を確認します。必要な長さを減らすことが許容できない場合もあります。量子化を変えると出力が変わることがあります。別の容量が必要なら、観測したピーク、根拠のある余裕、バージョン、限界となる入力を明記した記録票を持ってカタログに戻ってください。根拠のない余裕は、GB単位に丸めた結果よりも信頼できるものではありません。
同じ要件のもとでの短い選定
16ビット・7億パラメータ、6 GiBの予備領域を確保した推論の例では、計算例は19.04 GiBとなります。24 GBのRTX 4090または48 GBのRTX 6000 Adaを検討できます。1枚構成・3日間の提示価格はそれぞれ47.14 USDと55.71 USDです。これは異なる容量の2つの候補であり、コンテキスト、競合、実際に利用可能なメモリ、互換性、品質については確認が必要です。これらの価格は速度の優劣を示すものではありません。
アダプテーション(適応)を行う場合は、学習済みパラメータと追加フェーズ(逆伝播、最初の更新、検証、エクスポート)を使って同じグリッドを再現してください。LoRA のパラメータ数だけでは総メモリを確認できません。ファインチューニングの流れは結果を評価するのに役立ち、バッチと勾配蓄積は比較可能な更新を記録するために使います。
超過後に代替案を探す場合は、問題のあるフェーズを特定し、出力に関する要件を維持してください。容量、キャッシュ、マイクロバッチ、精度のうち一度に1つだけ変更して比較します。異なる形式を使う場合でも、定めた最低品質を満たす必要があります。マネージドアプリケーション、特定の RAM、証明されたインターコネクトが必要な場合は、GPU のスペック表だけでは判断を確定できません。2枚のカードを使うには検証済みのソフトウェア配置が必要で、それぞれのメモリが自動的に単一の空間になるわけではありません。
技術的な出典: RTX 4090 — ロット、容量、プラン · RTX 6000 Ada — ロット、容量、プラン · 量子化後の品質 · アダプテーションの準備 · バッチと勾配蓄積の定義
計算を、それを裏付けるものとともに残す
初期の仮説、項目別の表、手順、生の測定値を記録します。推定値、実測カウンタ、商業的な判断を区別してください。IteraGPU Lab のノートブックは、小規模なネットワークでこの計測の仕組みを理解するのに役立ちますが、お使いのモデルでの検証の代わりにはなりません。このページの数値例は計算であり、観測されたスループットや GPU 消費電力を主張するものではありません。
優れたサイジングの結果は1枚のシートに収まります。モデルとリビジョン、タスク、精度、長さ、マイクロバッチまたは並行数、GPUごとのメモリ、測定条件です。結論を無効にする要素、例えばより長いウィンドウや異なる評価も加えましょう。そうすれば、バリアントごとに推定をやり直すのではなく、キャンペーンに合ったプランを選べます。
実用的な質問
ツールが提示する予備値は、自分のモデルから計算されるのですか?
いいえ。予備値はご自身で選ぶ値です。ツールはアーキテクチャも実行時の入力も把握していません。仮説を明示するために使い、その後で実測したフェーズと突き合わせてください。
24 GB 未満のエンベロープでも失敗することがあるのはなぜですか?
推定では項目が漏れていたり、公称容量が GB で表記されているのに GiB を使っていたりする可能性があります。一時的なピークや別のプロセス、異なる入力も影響します。単位と範囲を比較し、失敗するフェーズを特定してください。
リザーブとPyTorchの2つのピークを合計できますか?
いいえ。割り当てられたテンソルのピークとリザーブされたメモリのピークは、合計すべき独立した2つの項目ではありません。別々のピークは異なる時点で発生し得ます。それぞれの名前を保ち、メモリ手法で解釈してください。
まだ自分のモデルを測定していなくても、リストや代替案を依頼できますか?
はい、条件付きの候補を挙げるためになら可能です。同一に保つ必要がある負荷と制約を説明してください。メモリ計算と商業的なスペック表で一次選定ができ、未検証の必須基準はオファーを採用する前に確認する必要があります。