GPUは、現代のクラウドインフラに欠かせない存在となりました。AI、機械学習、大規模言語モデル(LLM)を活用してアプリケーションを進化させるチームが増えるにつれ、GPUの利用は急速に拡大し、それに伴い、こうしたワークロードを維持するためのKubernetesクラウドコストも増加しています。この流れは、Kubernetesのリソース管理に新たな複雑さをもたらしています。それがGPU使用率の最適化です。
「他のKubernetesリソースとは異なり、GPUリクエストは扱われ方が特殊です。PodはGPU全体へのアクセスを得るか、まったく得られないかのどちらかです。分割して割り当てられないため、GPUは十分に活用されないことが多く、無駄が発生します。GPUは時間あたりのインフラコストの最大75%を占めることもあるため、どんな非効率も大きな金銭的損失につながります。そのため、過剰割り当てを排除することのインパクトは大きく、大幅なコスト削減を実現できます」と、PerfectScale by DoiTのCTOであるEli Birgerは述べています。「実際のGPU使用率を可視化できなければ、エンジニアはワークロードのライトサイジングや高度なPodスケジューリング戦略の実装、データに基づいたインフラ判断に必要なインサイトを得られません」
こうした課題を解決するために、PerfectScale by DoiTの新機能GPU Visibilityをご紹介します。Kubernetesクラスタ全体のGPU使用状況を明確に把握し、非効率の特定、ワークロードのライトサイジング、GPUリソースの最大活用を支援する機能です。

GPU Visibilityがどのように非効率を発見し、GPU使用率の最適化を容易にするのか、詳しく見ていきましょう。
GPUの可視化で得られるもの
PerfectScaleのGPU機能は、GPU使用率のメトリクスを収集し、クラスタ全体のコンテキストの中で深い可視性を提供する強力なソリューションです。このビューにより、Kubernetes環境を正確に分析でき、データに基づいた精度の高い最適化が可能になります。

PerfectScaleのInfrafitにアクセスすると、ノードグループごとの詳細なGPU使用率インサイトを確認できます。使用率チャートには、インフラ全体のGPU使用量とリクエストの内訳が明確に表示されます。このビューは、十分に活用されていないGPUやアイドル状態のGPUキャパシティを素早く特定し、最も重要な領域に最適化の取り組みを集中させ、GPUの無駄を削減して全体的なコスト効率を高めるうえで特に役立ちます。
問題のある領域を特定したら、該当するノードグループをクリックするだけで、より詳細なインフラビューにドリルダウンできます。この粒度のビューでは、グループ内の個々のインスタンスの内訳と、各インスタンスの主要メトリクスを包括的に確認できます。

可視化によって問題を発見したら、次はその解決方法を決める段階です。プラットフォームは、何が起きているのか(GPUが十分に使われていない、必要以上のリソースがプロビジョニングされているワークロードがある、ほとんど稼働していないインスタンスがある、など)を把握し、問題解決に適した戦略を選ぶ手助けをします。たとえば、ワークロードに合わせてインスタンスをライトサイジングする、負荷を分散してビンパッキングを改善する、不要なインスタンスを停止する、といった選択肢があります。
活用シナリオ
GPUインスタンスのライトサイジング

多くの場合、ワークロードはGPUマシンのフルキャパシティを必要としません。十分に活用されていないインスタンスを特定すれば、高価なインスタンスを、タスクにより適した小型でコスト効率の高いインスタンスに置き換えられます。これにより、パフォーマンス要件を満たしながら不要な支出を削減できます。
PerfectScaleのGPU可視化を活用すれば、この調整が最も効果を発揮する箇所を見極め、データに基づいた確かな判断を下せます。
GPU分割による使用率の最大化
小型のGPUインスタンスへの切り替えはコスト削減の有効な手段であることが多い一方、常に最善かつ最も効果的なアプローチとは限りません。
たとえば共有MLパイプラインのようなワークロードは、複数のマシンに分割するとうまくスケールせず、より厳密なリソース管理が必要になる場合があります。このようなケースでは、小型インスタンスだけでは望ましいパフォーマンス、効率、柔軟性を得られないことがあります。

ここで役立つのが、NVIDIAのMulti-Instance GPU(MIG)です。MIGを使うと、1つの物理GPUを複数の小さな独立したユニットに分割でき、各ユニットは専用のコンピュート、メモリ、帯域幅を持ちます。これらは個別のGPUのように動作するため、複数の小規模ジョブや並列ジョブを競合なく同時に実行できます。
PerfectScaleを使えば、フルキャパシティを必要としないワークロードが動いている、活用度の低いGPUを簡単に特定できます。小型マシンに切り替える代わりに、大型GPUをそのまま維持してMIGインスタンスに分割し、各スライスを特定のワークロードのニーズに合わせることが可能です。
KAI Schedulerによる効率向上
タスクの中には、常にGPUを必要としないものもあります。たとえば、一時的なワークロード、CI/CDジョブ、CPU待ち時間の長いモデル学習ステップなどです。これらはGPUを短時間しか使わないため、こうしたジョブごとに専用GPUを割り当てると、リソースとコストの大きな無駄につながります。

PerfectScaleのGPU可視化を使えば、割り当てられたGPUを十分に使い切れていないワークロードといったパターンを簡単に特定できます。特定できたら、Kai-Schedulerを導入して複数のジョブを1つのGPUに集約することで、パフォーマンスを犠牲にすることなく使用率を最大化し、コストを削減できます。
PerfectScaleがGPUの無駄を発見し、スマートな最適化戦略を適用する方法をご覧いただきました。次は、そのインサイトを実践に移す番です!
詳しくはドキュメントポータルをご覧いただくか、技術セッションを予約して、当社チームの専門的なサポートをご活用ください。
PerfectScaleをまだご利用でない方へ。 今すぐ無料で始めて、K8sの最適化をもっとシンプルに進めましょう。