Dharma AI GPU管理:制約を考慮した割り当てによるクラスタ利用率の向上
Dharma AIは、クラスタ利用率と優先度重み付き出力を最適化する制約を考慮したGPU割り当てアルゴリズムを導入しました。ハードウェアの変更ではなく、割り当て決定の順序を変えることで、7つのベンチマークシナリオにおいて、先着順(FIFO)スケジューラと比較してGPU利用率を最大33ポイント向上させ、優先度重み付き出力を最大105%向上させました。
核心的な問題:互換性のないワークロード形状
GPUスケジューリングは、根本的に異なる2つの割り当て形状の競合によって複雑化されています。
- バッチ型ワークロード:学習、バッチ推論、量子化。これらは完了まで中断せずに連続したGPUブロックを占有する必要があります。
- エラスティックワークロード:リアルタイム推論。これは時間ステップごとに変動する需要曲線によって駆動されます。
これらの互換性のない形状が同じハードウェアを競合する場合、従来のFIFOスケジューラは大きな非効率を生じます。FIFOスケジューラは、リアルタイム推論の可用性を保証するために固定予約に依存することが多く、需要の低潮期にもGPUが占有されたままになり、バッチジョブに利用できず、結果として利用率が低くなります。
制約を考慮した割り当て vs. FIFO
FIFOスケジューリングは、2つの主要な方法で容量を損ないます:非ピーク時間にGPUを無駄に空き状態に保つ静的予約、およびジョブの優先度や将来の容量ニーズを無視する順序処理です。
一方、Dharma AIの割り当てアルゴリズムは、リアルタイム需要を上限ではなく、需要曲線として扱います。各時間ステップでの需要に基づいてGPUを割り当て、バッチ型ジョブが需要の低潮期を占有できるようにします。安全を確保するため、システムはリアルタイムジョブが連続する時間ステップ間で切り替えるGPU数に上限を設けています。
パフォーマンスベンチマーク
5つの高競合シナリオにおいて、割り当てアルゴリズムは利用率と優先度重み付き価値の両方を向上させました。
- 利用率:52–85%の範囲から72–88%の範囲に向上。
- 優先度重み付き価値:24.6%~105.1%の上昇、平均で52%の増加。
8GPUの学習中心ワークロードでは、利用率は53.6%から87.0%に上昇し、価値は105%増加しました。特に64GPUと30ジョブのスケールテストでは、FIFOベースラインと同様に利用率(44.9%)とスループット(27/30ジョブ)が同じでしたが、優先度重み付き価値は15.9%多く達成されました。これは、優先度を意識した配置が価値生成において極めて重要であることを示しています。
技術的実装と制約
局所的なヒューリスティックルールの制限を回避するため、割り当てアルゴリズムは5つの制約に基づいて合法な割り当てを定義する形式モデルを使用しています。
- 1つのGPUは1時間ステップあたり最大1つのジョブに割り当てられる。
- すべてのジョブは需要範囲を尊重し、実行中の作業は継承され、保持される。
- バッチ型ジョブは連続したGPUブロック(2のべき乗サイズ)を占有する。
- リアルタイムジョブは、連続する時間ステップ間でのGPU切り替え数に硬い上限がある。
- 開始されたジョブは中断できない。
目的関数
システムは、2つの項を持つ目的関数を使用しています。1つはバッチ型ジョブにGPUを割り当てる際の報酬(優先度 × 時間減衰重み)であり、もう1つはリアルタイム需要を満たせなかった際のペナルティです。リアルタイムペナルティは、割り当て報酬の5~10倍の重みが付けられており、静的予約を必要とせずに、レイテンシ義務をバッチ作業よりも優先するように設計されています。
ヒューリスティック実行
組合せ割り当てはNP困難であるため、システムは低レイテンシを確保するためのヒューリスティックをホットパスで使用しています。競合状態では1~2ミリ秒、64GPUクラスタでは15ミリ秒で実行され、すべての受信リクエストに対して実行可能ほどの高速性を実現しています。
需要予測と専門化
割り当てアルゴリズムの効果は、正確な需要予測に依存します。Dharma AIは、異なるワークロードタイプに特化した推定器を使用しています。
- 学習:GPUメモリと実行時間の大幅な差を考慮するため、22の特徴(例:LoRA vs. 完全微調整を含む10種類の具体的な学習バリアント)を使用した予測器。
- 量子化:パラメータ数とアルゴリズム(例:AWQ、GPTQ)に基づくキャリブレーション層に依存する専用予測。
- リアルタイム推論:時間ごとのトラフィック履歴から毎週再構築される、継続的に再調整される週次需要プロファイル。
操作戦略:1日を最適化し、1時間分を確定する
予測誤差を軽減するため、スケジューラは24時間の範囲を最適化しますが、実際に確定するのは現在の時間ステップのみです。システムは30~60分ごとに再実行され、予測誤差を再最適化によって吸収するよう設計されており、誤差が蓄積されるのを防ぎます。このアプローチにより、「世界の終わり効果」(最適化器が視界を超えることができず、現在の決定が悪くなる)を回避できます。
Sources
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch