PERF02-BP06 最適化されたハードウェアベースのコンピューティングアクセラレーターを使用する
ハードウェアアクセラレーターを使用すると、CPU ベースの代替手段よりも効率的に特定の機能を実行できます。
一般的なアンチパターン:
-
ワークロードで、より高いパフォーマンスとより低いコストを実現できる専用のインスタンスに対する汎用インスタンスのベンチマーキングを行っていない。
-
CPU ベースのコンピューティングアクセラレーターを使用した方が効率的なタスクに、ハードウェアベースのコンピューティングアクセラレーターを使用している。
-
GPU の使用状況を監視していない。
このベストプラクティスを活用するメリット: GPU (グラフィックス処理ユニット) や FPGA (フィールドプログラマブルゲートアレイ) などのハードウェアベースのアクセラレーターを使用することで、特定の処理機能をより効率的に実行できます。
このベストプラクティスを活用しない場合のリスクレベル: 中
実装のガイダンス
高速コンピューティングインスタンスを使用すると、GPU や FPGA などのハードウェアベースのコンピューティングアクセラレーターにアクセスできます。これらのハードウェアアクセラレーターは、グラフィック処理やデータパターンマッチングなどの特定の機能を、CPU ベースの代替手段よりも効率的に実行します。レンダリング、トランスコーディング、機械学習など、多くの高速ワークロードは、リソースの使用量に大きなばらつきがあります。このハードウェアは必要な時間だけ実行し、必要のない場合は自動で廃止することで、全体的なパフォーマンス効率を向上させることができます。
実装手順
-
要件に対応できる高速コンピューティングインスタンスを特定します。
-
機械学習のワークロードには、AWS Trainium
、AWS Inferentia 、Amazon EC2 DL1 などのワークロード専用ハードウェアを活用してください。AWSInf2 インスタンスなどの Inferentia インスタンスは、同等の Amazon EC2 インスタンスと比較してワットあたりのパフォーマンスが最大 50% 向上します 。 -
高速コンピューティングインスタンスの使用状況メトリクスを収集します。例えば、「Amazon CloudWatch で NVIDIA GPU メトリクスを収集する」のように、CloudWatch エージェントを使用して GPU の
utilization_gpu
やutilization_memory
などのメトリクスを収集できます。 -
ハードウェアアクセラレーターのコード、ネットワーク操作、設定を最適化し、基盤となるハードウェアが十分に活用されるようにします。
-
最新の高性能ライブラリと GPU ドライバーを使用します。
-
使用しないときは、自動化を使用して GPU インスタンスを解放します。
リソース
関連ドキュメント:
関連動画:
-
AWS re:Invent 2021 - How to select Amazon Elastic Compute Cloud GPU instances for deep learning
-
AWS re:Invent 2022 - [NEW LAUNCH!] Introducing AWS Inferentia2-based Amazon EC2 Inf2 instances
-
AWS re:Invent 2022 - Accelerate deep learning and innovate faster with AWS Trainium
-
AWS re:Invent 2022 - Deep learning on AWS with NVIDIA: From training to deployment
関連する例: