このトピックでは、GPUアクセラレーションインスタンスのモニタリングメトリックを表示する方法と、さまざまなリソースメトリックに基づいてプロビジョニングされたGPUアクセラレーションインスタンスの自動スケーリングポリシーを設定する方法について説明します。
背景
GPUハードウェアのリソース使用率は、モデルトレーニング、AI推論、オーディオおよびビデオのトランスコーディングなどのシナリオによって異なります。 Function Computeは、ストリーミングマルチプロセッサ (SM) 、GPUメモリ、ハードウェアデコーダ、ハードウェアエンコーダなどのGPUインスタンスのリソース使用率に基づいて、プロビジョニングされたGPUアクセラレーションインスタンスの自動スケーリング機能を提供します。
スケジュールされた設定変更とメトリックベースの設定変更を使用して、Function Computeでプロビジョニングされたインスタンスの自動スケーリングポリシーを設定できます。 メトリックベースの設定変更のみを使用して、メトリックに基づいてGPUアクセラレーションインスタンスの自動スケーリングポリシーを設定できます。 詳細については、「プロビジョニング済みインスタンスと自動スケーリングルールの設定」の「メトリックベースの設定変更」セクションをご参照ください。
GPU高速化インスタンスのメトリクスの表示
GPU関数の実行後、Function ComputeコンソールでGPUアクセラレーションインスタンスのリソース使用量を表示できます。
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、リージョンを選択します。 サービスリストで、目的のサービスの名前をクリックします。
- モニタリングダッシュボードの関数リストで、目的の関数の名前をクリックします。
- モニタリングダッシュボードページで、[インスタンスメトリクス] タブをクリックします。 GPUアクセラレーションされたメモリ使用量 (割合) 、GPUアクセラレーションされたSM使用量 (割合) 、GPUアクセラレーションされたハードウェアエンコーダ使用量 (割合) 、GPUアクセラレーションされたハードウェアデコーダ使用量 (割合) のメトリクスを表示して、GPUアクセラレーションされたインスタンスのリソース使用量を確認できます。
自動スケーリングポリシーの設定
GPUリソース使用量のメトリック
| メトリック | 説明 | 値の範囲 |
| GPUSmUtilization | GPU SM使用率 | [0, 1] 。 稼働率は0% から100% の範囲です。 |
| GPUMemoryUtilization | GPUメモリ使用量 | [0, 1] 。 稼働率は0% から100% の範囲です。 |
| GPUDecoderUtilization | GPUハードウェアデコーダ使用率 | [0, 1] 。 稼働率は0% から100% の範囲です。 |
| GPUEncoderUtilization | GPUハードウェアエンコーダ使用率 | [0, 1] 。 稼働率は0% から100% の範囲です。 |
Function Computeコンソールでの自動スケーリングポリシーの設定
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。
[関数] ページで、目的の関数の名前をクリックします。 表示される [機能の詳細] ページで、[自動スケーリング] タブをクリックします。
- [機能の詳細] ページで、[自動スケーリング] タブをクリックし、[ルールの作成] をクリックします。
- 表示されるページで、次のパラメーターを設定し、[作成] をクリックします。
- バージョンとインスタンスの最小数を設定します。 他のパラメーターのデフォルト値を保持します。

- [メトリックベースの設定変更] セクションで、[+ 設定の追加] をクリックしてポリシーを設定します。 例:

設定が完了したら、 を選択して、[関数プロビジョニング済みインスタンス] の変更を表示できます。 - バージョンとインスタンスの最小数を設定します。 他のパラメーターのデフォルト値を保持します。
Serverless Devsを使用して自動スケーリングポリシーを構成する
- GPU関数がデプロイされています。 詳細については、「非同期タスクに基づくGPU関数の呼び出し」をご参照ください。
- プロジェクトディレクトリを作成します。
mkdir fc-gpu-async-job&cd fc-gpu-async-job - プロジェクトディレクトリに、gpu-sm-hpa-policy.jsonなどの自動スケーリングポリシーを含むファイルを作成します。 例:
{ "target": 1、 "targetTrackingPolicies": [ {"name":"hpa_gpu_decoder_util" 、"startTime":"2022-09-05T16:00:00.000Z" 、"endTime":"2023-07-06T16:00:00.000Z" 、"metricType":"GPUSmUtilization" 、"metricTarget":0.01 "minCapacity":"1" ] } - プロジェクトディレクトリで、次のコマンドを実行して、目的の関数に自動スケーリングポリシーを追加します。
s cli fc provision put -- region ${region} -- service-name ${service-name} -- function-name ${function-name} -- qualifier LATEST -- config gpu-sm-hpa-policy.json - 次のコマンドを実行して、自動スケーリングポリシーを表示します。
s cli fc provision get -- region ${region} -- service-name ${service-name} -- function-name ${function-name} -- qualifier LATESTコマンドが正常に実行されると、次の結果が返されます:[2022-10-08 16:00:12] [情報] [FC] -プロビジョニングの取得: zh ****.LATEST/zh **** serviceName: zh **** functionName: zh **** qualifier: 最新 リソース: 164901546557 ****#zh ****# 最新# zh **** ターゲット: 1 current: 1 scheduledActions: null targetTrackingPolicies: - 名前: hpa_gpu_decoder_util startTime: 2022-09-05T16:00:00.000Z endTime: 2023-07-06T16:00:00.000Z metricType: GPUSmUtilization metricTarget: 0.01 minCapacity: 1 maxCapacity: 20 currentError: alwaysAllocateCPU: true
関連ドキュメント
自動スケーリングの感度を変更する場合は、DingTalkグループに参加してFunction Computeテクニカルサポートに問い合わせてください。