モデルトレインコンポーネントを使用して、EasyRecモデルをトレーニングできます。
前提条件
Object Storage Service (OSS) が有効化され、Machine Learning DesignerはOSSへのアクセスが許可されています。 詳細については、「OSSの有効化」および「Machine Learning Designerの使用に必要な権限の付与」をご参照ください。
コンポーネントの設定
次のいずれかの方法を使用して、モデルトレインコンポーネントを設定できます。
Machine Learning Designerでコンポーネントを構成する
入力ポート
ポート (左から右) | 推奨上流コンポーネント | PAIコマンドのパラメータ | 必須 |
否定的なサンプル项目特徴表 説明 ほとんどの場合、ネガティブサンプリングはDSSMなどの特定のアルゴリズムで使用されます。 |
| data_config.negative_sampler.input_パス | 不可 |
easyrec.config |
説明 フルOSSパスを指定する必要があります。 | config | 不可 |
列车テーブル |
| train_tables | 可 |
評価テーブル |
| eval_tables | 可 |
fine_tune_チェックポイント 説明 モデルは、このチェックポイントに基づいてトレーニングされる。 |
| edit_config_jsonのtrain_config.fine_tune_checkpoint | 不可 |
| boundary_table | 不可 |
コンポーネントパラメータ
タブ | パラメーター | 必須 | 説明 | PAIコマンドのパラメータ | デフォルト値 |
パラメーター設定 | モデルDir | 不可 | モデルが格納されるパス。 | model_dir | データストレージ |
EasyRec設定 | 不可 | 入力ポートeasyrec.configが指定されていない場合は、コードを格納するOSSパスを指定できます。 詳細については、「model_config」をご参照ください。 | config | なし | |
トレーニングと評価のために選択したラベル列 | 不可 | このパラメーターは、RTP FGが選択されている場合に使用できます。 このパラメーターを設定して、トレーニングと評価に使用するターゲット列を指定できます。 | 選択された_colsパラメーターの一部 | なし | |
トレーニングと評価のために選択された重み列 | 不可 | このパラメーターは、RTP FGが選択されている場合に使用できます。 このパラメーターを設定して、トレーニングと評価に使用する重み列を指定できます。 | なし | ||
トレーニングと評価のために選択した機能列 | 不可 | このパラメーターは、RTP FGが選択されている場合に使用できます。 このパラメーターを設定して、トレーニングと評価に使用するフィーチャ列を指定できます。 | なし | ||
アルゴリズムのバージョンの指定 | 不可 | [詳細オプション] セクションで、モデルをトレーニングするアルゴリズムのバージョンを選択します。
| スクリプト | なし | |
Hyperparameter edit_config_json | 不可 | [詳細オプション] セクションで、ハイパーパラメーターを使用して、EasyRec構成ファイルに追加するコンテンツを指定します。 このコンポーネントは、ハイパーパラメーター設定をEasyRec設定ファイルに追加します。 | edit_config_json | なし | |
モデルチューニング | psカウント | 不可 | パラメーターサーバー (PS) ノードの数。 | チューニングパラメータは、クラスタパラメータに統合される。 | 2 |
ps CPU | 不可 | 各PSのCPU番号。 値1は1つのvCPUを示します。 | 10 | ||
psメモリ | 不可 | 各PSのメモリ。 単位:MB。 | 40000 | ||
労働者数 | 不可 | 労働者の数。 | 6 | ||
ワーカーCPU | 不可 | 各ワーカーのCPU番号。 1の値は1つのvCPUを示します。 | 8 | ||
ワーカーメモリ | 不可 | 各ワーカーのメモリサイズ。 単位:MB。 | 40000 | ||
ワーカーGPU | 不可 | ほとんどのEasyRecトレーニングではGPUは必要ありません。 | 0 |
PAIコマンドとパラメータ
PAI -project algo_public -name easy_rec_ext
-Darn="acs:ram::xxxx:role/aliyunodpspaidefaultrole"
-Dbuckets="oss://rec_sln_demo/"
-Dcluster="{\"ps\": {\"count\": 2, \"cpu\": 1000, \"memory\": 40000}, \"worker\": {\"count\": 6, \"cpu\": 800, \"gpu\": 0, \"memory\": 40000}}"
-Dcmd="train"
-Dconfig="oss://rec_sln_demo/EasyRec/deploy/rec_sln_demo_dssm_recall_v1/rec_sln_demo_dssm_recall_v1.config"
-Deval_tables="odps://pai_hangzhou/tables/pai_temp_flow_26un8zq7v4goadi373_node_39w13qw9osm9rdbu0h_outputTable"
-Dlifecycle="28"
-Dmodel_dir="oss://rec_sln_demo/EasyRec/deploy/rec_sln_demo_dssm_recall_v1/20230425"
-DossHost="oss-cn-hangzhou-internal.aliyuncs.com"
-Dscript="oss://rec_sln_demo/easy_rec_ext_0.6.1_res.tar.gz"
-Dselected_cols="is_click,features"
-Dtables="odps://pai_hangzhou/tables/pai_temp_flow_26un8zq7v4goadi373_node_4ijqwcg7upzteu5036_outputTable,odps://pai_hangzhou/tables/pai_temp_flow_26un8zq7v4goadi373_node_39w13qw9osm9rdbu0h_outputTable,odps://pai_hangzhou/tables/pai_temp_flow_fty24i21e9dzvzj6a0_node_svxd0bqu2x7ep8furu_outputTable"
-Dtrain_tables="odps://pai_hangzhou/tables/pai_temp_flow_26un8zq7v4goadi373_node_4ijqwcg7upzteu5036_outputTable"
-Dedit_config_json="{\"train_config.fine_tune_checkpoint\": \"oss://rec_sln_demo/EasyRec/deploy/rec_sln_demo_dssm_recall_v1/20230405/\", \"data_config.negative_sampler.input_path\": \"odps://pai_hangzhou/tables/pai_temp_flow_fty24i21e9dzvzj6a0_node_svxd0bqu2x7ep8furu_outputTable\"}" ;"
パラメーター | 必須 | 説明 |
cmd | 可 | モデルトレーニングを実行するには、cmdをtrainに設定します。 |
config | 可 | トレーニングに使用されるEasyRec設定ファイルの完全なOSSパス。 |
train_tables | 可 | トレーニングテーブル。 パラメーターを |
eval_tables | 可 | 評価テーブル。 パラメーターを |
arn | 可 | リソースグループ権限情報。 arnを取得するには、PAIコンソールにログインし、アクティベーションと承認 > 依存サービスを選択します。 [デザイナー] セクションで、[操作] 列の [権限の表示] をクリックします。 |
ossHost | 可 | OSSのエンドポイント。 エンドポイントの詳細については、「リージョンおよびエンドポイント」をご参照ください。 |
バケット | 可 | 構成ファイルが存在するバケットと、モデルが格納されているバケット。 複数のバケットはコンマ (,) で区切ります。 例: |
model_dir | 可 | モデルのパス。 model_dirパラメーターを指定した場合、EasyRec構成ファイルのモデルパスは無視されます。 このパラメータは定期的なスケジューリングに使用されます |
edit_config_json | 不可 | 設定ファイルのフィールドをJSONで変更します。 例: |
スクリプト | 不可 | EasyRecトレーニングに使用するTARパッケージを指定します。 |
selected_cols | 不可 | トレーニングと評価用に選択された列。トレーニングを高速化するために使用されます。 |
例
次のデータセットを準備します。
train: pai_online_project.easyrec_demo_taobao_train_datatest: pai_online_project.easyrec_demo_taobao_test_data
説明上記の2つのテーブルは、独自のODPSテーブルです。 テストを容易にするために、上記の2つのテーブルに公的にアクセスできる。
次の図に示すように、パイプラインを作成します。

エリア
説明
①
[テーブルの読み取り] コンポーネントで、[テーブル名] パラメーターを
[トレーニングテーブル]に設定します。②
[テーブル2の読み取り] コンポーネントで、[テーブル名] パラメーターを
[テストテーブル]に設定します。③
EasyRec設定ファイルをOSSにアップロードし、EasyRec設定セクションでアップロードされたファイルを選択します。
モデルが格納されているパスをmodel Dirセクションで指定します。
出力モデルを表示します。
パイプラインの実行後、model Dirパラメーターで指定したOSSパスにエクスポートされたモデルを表示できます。
Logviewを使用してログを分析します。
コマンドを実行してモデルトレーニングを実行すると、システムはLogview URLを出力します。 Model Trainコンポーネントを右クリックし、ショートカットメニューの [ログの表示] をクリックします。 Logviewを使用して、モデルトレーニング結果を表示し、エラーを特定できます。

ワーカーの実行ステータスを表示するページで、タスクとワーカーを表示します。

ここで:
ワーカー0はトレーニングワーカーです。 StdErr列のアイコンをクリックして、トレーニングプロセスを表示します。
作業者1は評価作業者である。 StdErr列のアイコンをクリックして、評価セットのモデルのメトリックを表示します。
詳細については、「ランクの8_rec_sln_demo_rec_sln_demo_sorting_v2_train」および「DSSMベクトルのリコール」の「12 _rec_sln_demo_dssm_recall_v1_train」をご参照ください。