はじめに
先日、オンプレ環境におけるGPUの最適化の記事を掲載させて頂きましたが、今回はAWSにおける同等の機能についてご紹介させて頂きます。
GPUに限った話ではありませんが、ユーザーは自分自身のアプリケーションを運用する基盤として、数百を超えるクラウドインスタンスから、何が最適かを判断するは非常に難しく、また余裕を持たせた結果としてオーバープロビジョニングになってしまう傾向が殆どかと思います。
そんな中、特にGPU インスタンスのコストは高価であり、クラウド料金が大幅に増加する可能性があり、生成AIに代表されるGPUワークロードをクラウド上で走らせる際には、コストはこれまでよりも更に頭を悩ませる問題になってきます。
※なお、実際に現在のインスタンス価格を確認すると、例えば(GPUを持たない)8 vCPUを搭載した仮想マシン(メモリ最適化タイプ)ですと、1h辺り0.5 USD程度(1日で 12 USD程度)となります。
一方で、ほぼ同等の構成でGPUが1つ追加されたインスタンスの場合は、1h辺り4.2 USD程度(1日で100 USD越え)となり、その差は歴然です。(ほぼ10倍…)
GPUなし

GPUあり

※2024/4/26現在、AWS東京リージョンの価格として
このように、GPUワークロードを使う上では、特にコスト意識を高く持たざるを得ない事がご理解頂けるかと思います。
TurbonomicによるAWS GPU最適化対象と手順
Turbonomic を使用すると、ユーザーは GPU インスタンスを継続的かつ自動的に最適なインスタンス タイプにスケーリングできます。
こちらの機能は昨年リリースのv8.11.xから徐々に機能強化が図られてきましたが、2024年3月にリリースされたv8.12.0でフル機能が揃ったイメージです。
マニュアルでは以下記載の部分が該当します。
https://www.ibm.com/docs/ja/tarm/8.12.1?topic=cloud-actions-aws-vms#CloudVMActionsAWS__AWSGPU__title__1
なお、対象インスタンスとしては以下が挙げられます。
-
P2 インスタンス・ファミリー ( NVIDIA Kepler K80 GPU に基づく)
-
P3/P3dn インスタンス・ファミリー ( NVIDIA Volta V100 GPU に基づく)
-
G3 インスタンス・ファミリー ( NVIDIA Tesla M60 GPU に基づく)
-
G4dn インスタンス・ファミリー ( NVIDIA T4 GPU に基づく)
-
G5 インスタンス・ファミリー ( NVIDIA A10G Tensor Core GPU に基づく)
-
G5g インスタンス・ファミリー ( NVIDIA T4G Tensor Core GPU に基づく)
また、実際にGPUのメトリックを採取するには、Cloud Watchで予め関連パラメータを有効化頂く必要があります。
https://www.ibm.com/docs/ja/tarm/8.12.1?topic=resources-aws-metrics-collection#TargetsAppendix_AWSMem_Enabling_1__LinuxGPU

GPU搭載インスタンス最適化 提案例
以下、実際の推奨提案の例となります。
これまでに見慣れたCPU/Memory/ストレージ/ネットワークといったメトリックに加えて、GPUの利用状況についても採取されています。その結果、仮にGPUを減らすにしても、互換性のあるGPUが搭載されたインスタンスを継続しつつも、他のメトリックも含めて最善の構成が提案される事になります。

上記の例ではg4dnタイプを継続しつつも、月額として2,225 USD(約30万円)のコスト削減となりますので、その効果からも十分に検討すべき推奨アクションになりえるかと思います。(そして実際に実行する際は、これまで通りワンクリックのマニュアル操作でも、スケジュール含めた自動化も可能です)
結論
Turbonomic は、これまでと同様に、あらゆるパフォーマンスに関する洞察を提供し、アプリケーションのパフォーマンスと効率の目標を達成するためのアクションを生成・実行するエンジンとして、お客様の運用・コストを支え続けます。今回はその一環として、生成AIの盛り上がりもあり、インフラ管理者としても今後避けては通れないGPUの最適化機能をご紹介させて頂きました。
なお、この機能はもちろん特別なライセンスが必要なわけではなく、これまでと同様、お手持ちのライセンスの中で追加費用なくご利用可能ですので、お客様のTurbonomic への投資価値を更に大きくできるものと考えております。
以上となりますが、さて、先日のブログではオンプレ環境に於けるGPUの最適化、今回のブログではパブリッククラウド環境に於けるGPU最適化をご紹介させて頂きました。
…となるとTurbonomicの最適化領域のもう一つのメイン分野、Kubernetesが残っておりますが、そちらはそちらで強力な機能の開発が進んでおり、現在、既にEaly Access Programとしての公開が始まっています。
その詳細についてはまた別途ご紹介させて頂ければと思います。ぜひご期待下さい!