すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:CNPを使用したパフォーマンス評価の実行

最終更新日:Jul 22, 2024

Cloud Native Application Performance Optimizer (CNP) は、クラウドネイティブアプリケーションのパフォーマンスを評価、分析、および最適化するために使用されるオールインワンプラットフォームです。 CNPは、クラウドアプリケーションのパフォーマンスを向上させ、Lingjunクラスターのトレーニングパフォーマンスを自動的かつ効率的に評価し、パフォーマンスの最適化に関する提案を提供することを目的としています。 このトピックでは、CNPを使用してパフォーマンス評価を実行する方法について説明します。

CNPプラットフォームに移動

  1. Intelligent Computing Lingjunコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[パフォーマンス評価]> [CNPパフォーマンス評価] を選択します。

  3. CNPプラットフォームで、パフォーマンス評価を開始し、評価結果を表示します。

  4. ページの左下隅にある [Return to the Lingjun] コンソールをクリックして、Intelligent Computing Lingjunコンソールに戻ります。

パフォーマンス評価の開始

手順1: クラスターの選択

ようこそページで [評価の開始] をクリックするか、パフォーマンス評価ページで [評価の開始] をクリックして、[クラスターの選択] ステップに進みます。

  • パフォーマンスを評価するクラスターを選択します。

  • CNPは, DLCに接続する. 必要なパラメーターを設定したら、[権限付与とテスト接続] をクリックします。 接続テストに合格すると、接続が成功したことを通知するメッセージが返されます。 それ以外の場合、接続失敗の原因が返されます。 次の表に、一般的な障害の原因と解決策を示します。

失敗の原因

推奨ソリューション

接続がタイムアウトします。

CNPにアクセスするためのホワイトリストを有効にして、もう一度お試しください。

指定された情報は無効です。

AccessID、AccessKey、Workspace、およびEndpointパラメーターに指定した値を確認します。 無効な値を変更して、もう一度お試しください。

セキュリティトークンサービス (STS) トークンの取得に失敗したことを示すD3001エラーコードが返されます。

D3002エラーコードが返されます。これは、CNPのサービスにリンクされたロールの作成に失敗したことを示します。

D3003エラーコードが返されます。これは、Application Real-Time Monitoring Service (ARMS) インスタンスの作成に失敗したことを示します。

ARMSがアクティブ化されていないことを示すD3004エラーコードが返されます。

ARMSを有効にします。

D3005エラーコードが返されます。これは、ARMS情報の取得に失敗したことを示します。

D3006エラーコードが返されます。これは、現在のアカウントにCNPのサービスにリンクされたロールを作成する権限がないことを示しています。

CNPのサービスにリンクされたロールを作成する権限をアカウントに付与します。

  • 接続テストに合格したら、[次のステップ] をクリックして [テスト計画の選択] に進みます。

ステップ2: テスト計画の選択

テスト計画テンプレートの選択

デフォルトでは、システムは2つのテスト計画テンプレートを提供します。 ビジネスシナリオに基づいて、いずれかのテスト計画テンプレートを選択できます。

LLMベースのシナリオのテスト計画

画像認識シナリオのテスト計画

テスト内容

シングルGPUテスト: MatMul (行列演算子)

単一のマシンテスト: Bert-base

AIモデルテスト: LLaMA-7B

シングルGPUテスト: MatMul (行列演算子)

単一のマシンテスト: Bert-base

AIモデルテスト: Swinの変圧器および安定した拡散

テスト対象クラスターのスケール

シングルGPUテスト: デフォルトでは、テストはクラスターの最大スケールに基づいて実行されます。

シングルマシンテスト: デフォルトでは、テストはクラスターの最大スケールに基づいて実行されます。

AIモデルテスト: デフォルトでは、クラスターの最大スケールに基づいて、8 GPU、16 GPU、32 GPU、64 GPU、128 GPU、256 GPU、512 GPUの評価タスクが作成されます。 クラスターの最大スケールが100 GPUの場合、システムは8 GPU、16 GPU、32 GPU、および64 GPUに対してのみ評価タスクを作成します。

シングルGPUテスト: デフォルトでは、テストはクラスターの最大スケールに基づいて実行されます。

シングルマシンテスト: デフォルトでは、テストはクラスターの最大スケールに基づいて実行されます。

AIモデルテスト: デフォルトでは、クラスターの最大スケールに基づいて、8 GPU、16 GPU、32 GPU、および64 GPUの評価タスクが作成されます。 クラスターの最大スケールが16 GPUの場合、システムは8 GPUと16 GPUに対してのみ評価タスクを作成します。

カスタムテスト計画の作成

システムが提供するテスト計画テンプレートがテスト要件を満たさない場合は、カスタムテスト計画を作成できます。

  1. シングルGPUテスト: ノード数をカスタマイズできます。 デフォルトでは、このテストケースではMatMulが使用されます。

  2. シングルマシンテスト: ノードの数をカスタマイズできます。 デフォルトでは、このテストケースではBert-baseが使用されます。

  3. AIモデルテスト: クラスターに対して評価するAIモデルとGPUの数をカスタマイズできます。

説明

次のAIモデルがサポートされています: LLaMA-7B、安定した拡散、Swin Transformer、Bertベース、およびUNet。

デフォルトでは、基本パラメータ設定が使用されます。 パラメーター設定は、テストの詳細ページで確認できます。

評価期間の見積もり

テスト計画を選択すると、テスト計画に含まれるテストコンテンツに基づいて、評価期間が自動的に推定されます。 評価期間は、ステップ1で選択したクラスターの最大スケールに基づいて推定されます。 クラスターの使用可能なスケールが最大スケールに達していない場合、実際の評価期間は推定期間よりも長くなります。

評価を開始する

ステップ1とステップ2が完了したら、[評価の開始] をクリックして評価を開始し、評価結果を待ちます。

評価の進行状況と結果の表示

テスト計画の作成後、[計画] タブでテスト計画のステータスと進行状況をリアルタイムで表示できます。 テスト計画を見つけ、[操作] 列の [詳細] をクリックして、テスト計画の詳細ページに移動し、各テストの進行状況を表示します。

単一GPUテスト

  • テストに合格しました。

テストされたGPUの中に疑わしい障害GPUまたは警告GPUが検出されない場合、単一のGPUテストに合格します。

説明

障害の疑いのあるGPU: GPUをテストするタスクが失敗し、GPUに障害がある可能性があります。

GPUの警告: GPUのTFLOPSは、反復回数の5% を超えて通常のしきい値の範囲を超えています。

正常閾値範囲を計算するためのロジック: 各反復における全てのGPUの中央値TFLOPSをベースラインとして取り、ベースラインの103% 及び97% を4倍シグマ (4倍標準偏差) と比較する。 より大きい値は、正常閾値範囲の最大及び最小閾値として使用される。

  • テスト結果は異常です。

テスト対象のGPUの中に少なくとも1つの欠陥の疑いのあるGPUまたは警告GPUが検出された場合、単一GPUテストは異常な結果を返します

評価タスクリストで、プラス (+) アイコンをクリックして、障害の疑いのあるGPUまたは警告GPUの詳細を表示できます。 検出された異常ノードをO&Mチームに報告して、さらにトラブルシューティングを行うことができます。 [操作] 列の [評価の詳細] をクリックして、評価タスクの結果を表示します。

単一の機械テスト

  • テストに合格しました。

テストされたノードの中に疑わしい故障ノードまたは警告ノードが検出されない場合、単一マシンテストに合格する。

説明

障害の疑いのあるノード: ノード上のDLCジョブが失敗し、ノードに障害がある可能性があります。

警告ノード: ノードのスループットが、反復回数の5% を超える間、通常のしきい値の範囲を超えています。

正常閾値範囲を計算するためのロジック: 各反復における全てのノードのスループット中央値をベースラインとし、ベースラインの103% 及び97% を4倍シグマ (4倍標準偏差) と比較する。 より大きい値は、正常閾値範囲の最大及び最小閾値として使用される。

  • テスト結果は異常です。

テストされたノードの中に少なくとも1つの障害の疑いのあるノードまたは警告ノードが検出された場合、シングルマシンテストは異常結果を返します。

評価タスクリストで、プラス (+) アイコンをクリックして、障害の疑いのあるノードまたは警告ノードの詳細を表示できます。 検出された異常ノードをO&Mチームに報告して、さらにトラブルシューティングを行うことができます。 [操作] 列の [評価の詳細] をクリックして、評価タスクの結果を表示します。

AIモデルテスト

  • テストの進行状況

保留中: すべてのタスクを実行する準備が整いました。

完了: すべてのタスクが正常に実行、失敗、または停止しました。

Stopped: すべてのタスクが停止しました。

実行中: 一部のタスクは完了しており、一部のタスクは実行可能または実行中です。

  • 評価タスク

現在のテスト計画のAIモデルテストに含まれているすべてのタスクを表示できます。 進行中のタスクを停止する場合は、[停止] をクリックします。 すべてのタスクを削除できます。

警告

削除または失敗したタスクのデータは、パフォーマンスダッシュボードに収集されません。 タスクを削除するときは注意が必要です。

パフォーマンスダッシュボードでの評価結果の表示

テスト計画のパフォーマンスダッシュボードに移動

テスト計画が [完了] 状態の場合、[操作] 列の [パフォーマンスレポート] をクリックして、テスト計画の結果をパフォーマンスダッシュボードに表示できます。 パフォーマンスダッシュボードには、テスト計画のAIモデルテストで正常に実行された評価タスクが表示されます。

パフォーマンスダッシュボードに表示されるコンテンツ

テストモデルのスケーラビリティ

パフォーマンスダッシュボードには、各モデルの現在のテスト計画でテストされたGPUの数に基づくスループットの傾向が表示されます。これは、クラスター内のモデルのパフォーマンススケーラビリティを示しています。 結果は異なるモデル間で比較されません。

数式: スケーラビリティスコア=log2 (モデルスループット /最も低い仕様のモデルのスループット)

説明

この例では、GPT3-175Bモデルは説明のためにのみ使用され、モックデータが処理される。

GPUの数

スループット

スケーラビリティスコア

理論的スケーラビリティスコア

64

10

128

18

log ː (18/10)

log.2

256

35

log ː (35/10)

log4

512

69

log ː (69/10)

log8

1,024

137

log ː (137/10)

log16

注: パフォーマンススケーラビリティは、スケーラビリティスコアが理論上のスケーラビリティスコアに近い場合に優れています。

評価結果の詳細

評価結果の詳細では、現在のテスト計画でテストされているGPUの数に基づいて、各モデルのスループット、MFU、反復レイテンシなどのメトリックを表示できます。 y軸はGPUの数を示し、x軸はメトリック値を示します。