該組件實現的EasyRec模型訓練功能。
前提條件
已開通OSS並完成授權,詳情請參見開通OSS服務和雲產品依賴與授權:Designer。
組件配置
您可以使用以下任意一種方式,配置模型訓練組件參數。
可視化配置參數
輸入樁
輸入樁(從左至右) | 建議上遊組件 | 對應PAI命令參數 | 是否必選 |
負採樣item特徵表 說明 一般在DSSM等特定演算法中使用負採樣參數。 | data_config.negative_sampler.input_path | 否 | |
easyrec設定檔 |
說明 需要設定檔所在的完整的OSS路徑。 | config | 否 |
訓練表 | train_tables | 是 | |
評估表 | eval_tables | 是 | |
fine_tune_checkpoint 說明 模型基於該Checkpoint繼續訓練。 |
| edit_config_json中的train_config.fine_tune_checkpoint | 否 |
boundary_table | 否 |
組件參數
頁簽 | 參數 | 是否必選 | 描述 | 對應PAI命令參數 | 預設值 |
參數設定 | 模型路徑 | 否 | 模型儲存路徑。 | model_dir | 工作流程資料存放區路徑 |
EasyRec設定檔 | 否 | 如果不從輸入樁輸入config檔案,可參考model_config,在下方編輯框填寫config配置,儲存至指定的OSS路徑下。 | config | 無 | |
選擇用於訓練和評估的目標列 | 否 | 選中是否是RTP FG模式時,支援配置該參數。 指定選擇用於訓練和評估的目標列。 | 拼裝成selected_cols參數 | 無 | |
用於訓練和評估的權重列 | 否 | 選中是否是RTP FG模式時,支援配置該參數。 指定選擇用於訓練和評估的權重列。 | 無 | ||
用於訓練和評估的特徵列 | 否 | 選中是否是RTP FG模式時,支援配置該參數。 指定選擇用於訓練和評估的特徵列。 | 無 | ||
指定演算法版本 | 否 | 選中進階選項後,可以自訂EasyRec的執行版本。
| script | 空 | |
超參配置edit_config_json | 否 | 選中進階選項後,將需要添加到EasyRec設定檔裡的內容寫到超參配置裡,組件會將超參配置的內容,添加到EasyRec設定檔中。 | edit_config_json | 無 | |
執行調優 | ps數量 | 否 | PS節點的數量。 | 完整的執行調優參數會拼裝成cluster參數 | 2 |
ps CPU數量 | 否 | PS申請的CPU數量,取值為1表示一個CPU核。 | 10 | ||
ps Memory數量(MB) | 否 | PS申請的記憶體,取值為100表示100 MB。 | 40000 | ||
Worker數量 | 否 | Worker節點的數量。 | 6 | ||
Worker CPU數量 | 否 | Worker申請的CPU數量,取值為1表示一個CPU核。 | 8 | ||
Worker Memory用量(單位為MB) | 否 | Worker申請的記憶體,取值為100表示100 MB。 | 40000 | ||
Worker 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 | 是 | 指定資源群組授權,您可以登入PAI控制台,在開通和授權>全部雲產品依賴頁面的Designer地區,單擊操作列下的查看授權資訊,擷取arn。 |
ossHost | 是 | OSS各地區Endpoint。如何擷取Endpoint,請參見訪問網域名稱和資料中心。 |
buckets | 是 | config所在的Bucket和儲存模型的Bucket。如果有多個bucket,使用半形逗號(,)分隔,例如 |
model_dir | 是 | 模型目錄,如果指定了model_dir將會覆蓋Config裡面的model_dir,一般在周期性調度的時候使用。 |
edit_config_json | 否 | 使用JSON的方式對config的一些欄位進行修改,例如: |
script | 否 | 指定EasyRec演算法TAR檔案。 |
selected_cols | 否 | 表裡面用於訓練和評估的列, 有助於提高訓練速度。 |
使用樣本
準備以下資料集:
train: pai_online_project.easyrec_demo_taobao_train_datatest: pai_online_project.easyrec_demo_taobao_test_data
說明原則上這兩張表是您自己的ODPS表,為了方便測試,以上提供的兩張表在任何地方都可以訪問。
建立如下工作流程。

地區
描述
①
配置讀資料表-1的表名參數為
pai_online_project.easyrec_demo_taobao_train_data訓練表。②
配置讀資料表-2的表名參數為
pai_online_project.easyrec_demo_taobao_test_data測試表。③
上傳config到OSS上,並在參數EasyRec設定檔上選擇該檔案。
在參數模型路徑上選擇模型儲存路徑。
運行工作流程結束後,您可以查看輸出的模型檔案。
您可以在模型路徑參數配置的OSS路徑下查看輸出的模型檔案。
查看Logview並進行日誌分析。
運行EasyRec命令時,Designer會列印Logview。您可以按右鍵模型訓練組件,在捷徑功能表,單擊查看日誌,通過Logview快速查看模型訓練效果或定位錯誤。

在Worker運行頁面,可以根據需要選擇查看的Task執行個體及Worker對應的執行個體。

其中:
worker 0為訓練worker(worker 0、worker 2~worker 7均為訓練worker),單擊StdErr列下的表徵圖,即可查看訓練進程。
worker1為評估worker,單擊StdErr列下的表徵圖,即可查看模型在評估集上的指標。
更完整的使用方式參考推薦演算法定製-排序節點8_rec_sln_demo_rec_sln_demo_sorting_v2_train和推薦演算法定製-向量召回節點12_rec_sln_demo_dssm_recall_v1_train。