特定のユースケース向けにカスタムコンポーネントを作成し、PAI-Designer でモデルのトレーニングに使用できます。このトピックでは、コードが OSS バケットに保存されている PyTorch ベースのコンポーネントを例に、PAI-Designer でカスタムコンポーネントを使用する方法を説明します。
制限事項
PAI-Designer では、カスタムコンポーネントは汎用トレーニング用のパブリックリソースグループでのみ実行できます。
前提条件
実行コードを OSS バケットにアップロードします。手順については、「ファイルをアップロード」をご参照ください。この例では、サンプルコードファイル main.py および requirements.txt を使用します。
操作手順
-
PyTorch ベースのカスタムコンポーネントを作成します。
PyTorch ベースのカスタムコンポーネントを [コンポーネントの作成] ページで作成します。詳細なステップとその他のパラメーター構成については、「カスタムコンポーネントの作成」をご参照ください。この例の主な構成は次のとおりです。
-
実行構成
パラメーター
説明
Job type
PyTorch を選択します。
[イメージ]
Community Image
pytorch-training:1.12-cpu-py39-ubuntu20.04を選択します。[実行コード]
エントリーポイントファイル (main.py と requirements.txt) を含む OSS バケットのパスに設定します。
Command
これを
python main.py $PAI_USER_ARGS --train $PAI_INPUT_TRAIN --test $PAI_INPUT_TEST --model $PAI_OUTPUT_MODEL --checkpoints $PAI_OUTPUT_CHECKPOINTS && echo "job finished"に設定します。 -
次のパイプラインとパラメーター制約を設定します:param1 の有効値は
[1,10]、param2 の有効値は(0,1)、param3 の列挙値はtest1/test2/test3、param5 の列挙値は1/2/4/8です。パラメーター
説明
Input
をクリックして、2 つの入力パイプラインを設定します:-
[入力名] をそれぞれ train と test に設定します。
-
[入力ソース] を OSS に設定します。
-
[必須] を、それぞれ「はい」と「いいえ」に設定します。
-
Description をそれぞれ「トレーニングデータ」と「テストデータ」に設定します。
Output
をクリックして、2 つの出力パイプラインを設定します:-
Output Name をそれぞれ model と checkpoints に設定します。
-
Storage を OSS に設定します。
-
[必須] を「はい」に設定します。
-
Description をそれぞれ「モデルデータ」と「アルゴリズムのチェックポイント」に設定します。
Arguments
をクリックして、5 つのパラメーターを設定します:-
Parameter Name をそれぞれ param1、param2、param3、param4、param5 に設定します。
-
Type をそれぞれ Int、Float、String、Bool、Int に設定します。
-
Default Value をそれぞれ 6、0.3、test1、true、2 に設定します。
-
制約設定:デフォルト値の横にある Constraints をクリックして、各パラメーターの制約を設定します。
-
[必須] をそれぞれ「はい」、「はい」、「はい」、「いいえ」、「いいえ」に設定します。
-
-
トレーニング制約
パラメーター
説明
[トレーニング制約の有効化]
[トレーニング制約を有効にする] スイッチをオンにします。
インスタンスタイプ
CPU と GPU を選択します。
[複数インスタンスのサポート]
Supported を選択します。
[複数 GPU のサポート]
Not Supported を選択します。
-
-
空のワークフローを作成し、その名前をダブルクリックしてワークフローページを開きます。詳細については、「ワークフローの作成:空のワークフロー」をご参照ください。
-
この例のコンポーネント名は component です。これは、組み込みの PAI-Designer アルゴリズムコンポーネントと同様に使用できます。コンポーネントリストの [カスタムコンポーネント] ディレクトリから component(1.0) をキャンバスにドラッグします。コンポーネントの [パラメータ設定] パネルが右側に開き、設定済みのパラメーターとそれに対応するビジュアルコントロールが表示されます。
作成後、カスタムコンポーネントは PAI-Designer の現在のワークスペースのアルゴリズムツリーに表示されます。
-
PAI-Designer は、カスタムコンポーネントの入出力パイプラインを、その入出力ポートに変換します。キャンバスにドラッグすると、コンポーネントの上部にトレーニングデータとテストデータの入力ポート、下部にモデルデータとアルゴリズムのチェックポイントの出力ポートが表示されます。
-
PAI-Designer は、カスタムコンポーネントのパラメーターを、右側のパラメーター設定パネルのビジュアルコントロールに変換します。param1 (有効値 [1,10]、デフォルト値 6) などの整数パラメーターは、範囲制約付きの入力ボックスとして表示されます。param2 (有効値 (0,1)、デフォルト値 0.3) などの浮動小数点パラメーターも同様に動作します。param3 や param5 などの列挙パラメーターは、ドロップダウンリストになります。param4 などのブール値パラメーターは、チェックボックスとして表示されます。このパネルには、モデルデータとチェックポイント用のオプションの OSS パス入力、および OSS RAM ロールの権限付与ステータスも含まれます。
-
各出力パイプラインは、出力パスを指定するための OSS ディレクトリ選択コントロールに対応しています。たとえば、model (モデルデータ) と checkpoints (アルゴリズムのチェックポイント) の出力パイプラインには、それぞれコンポーネントのパラメーターパネルの出力設定セクションに専用の OSS パス入力ボックスがあります。
-
PAI-Designer は、カスタムコンポーネントのトレーニング制約を実行チューニング設定に変換します。キャンバスでカスタムコンポーネントノードを選択した後、右側のプロパティパネルで [チューニング] タブをクリックします。その後、リソースグループ (例:パブリックリソースグループ)、インスタンスタイプ (CPU または GPU)、インスタンス数、最大ランタイム (秒) などの実行パラメーターを設定できます。
-
カスタムコンポーネントが要件に合わなくなった場合は、コンポーネントリストページから構成を更新したり、新しいバージョンを追加したりできます。詳細については、「カスタムコンポーネントの管理」をご参照ください。