全部產品
Search
文件中心

Platform For AI:模型訓練

更新時間:Jul 13, 2024

該組件實現的EasyRec模型訓練功能。

前提條件

已開通OSS並完成授權,詳情請參見開通OSS服務雲產品依賴與授權:Designer

組件配置

您可以使用以下任意一種方式,配置模型訓練組件參數。

可視化配置參數

  • 輸入樁

輸入樁(從左至右)

建議上遊組件

對應PAI命令參數

是否必選

負採樣item特徵表

說明

一般在DSSM等特定演算法中使用負採樣參數。

data_config.negative_sampler.input_path

easyrec設定檔

說明

需要設定檔所在的完整的OSS路徑。

config

訓練表

train_tables

評估表

eval_tables

fine_tune_checkpoint

說明

模型基於該Checkpoint繼續訓練。

  • 資料類型:OSS儲存的模型

  • 支援的組件:讀OSS資料

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的執行版本。

  1. 首先參考文檔EasyRec版本更新,產生一個EasyRec的TAR包。

  2. 上傳對應版本的TAR包到OSS路徑,具體操作,請參見控制台上傳檔案

  3. 在這個參數中選中上傳的TAR檔案。

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

訓練表,格式為odps://{project}/tables/{表名},多個訓練表之間使用半形逗號(,)分隔。

eval_tables

評估表,格式為odps://{project}/tables/{表名},多個評估表之間使用半形逗號(,)分隔。

arn

指定資源群組授權,您可以登入PAI控制台,在開通和授權>全部雲產品依賴頁面的Designer地區,單擊操作列下的查看授權資訊,擷取arn。

ossHost

OSS各地區Endpoint。如何擷取Endpoint,請參見訪問網域名稱和資料中心

buckets

config所在的Bucket和儲存模型的Bucket。如果有多個bucket,使用半形逗號(,)分隔,例如oss://xxxx/,oss://xxxx/

model_dir

模型目錄,如果指定了model_dir將會覆蓋Config裡面的model_dir,一般在周期性調度的時候使用。

edit_config_json

使用JSON的方式對config的一些欄位進行修改,例如:edit_config_json="{\"train_config.fine_tune_checkpoint\": \"oss://xxx/\"}"

script

指定EasyRec演算法TAR檔案。

selected_cols

表裡面用於訓練和評估的列, 有助於提高訓練速度。

使用樣本

  1. 準備以下資料集:

    • train: pai_online_project.easyrec_demo_taobao_train_data

    • test: pai_online_project.easyrec_demo_taobao_test_data

    說明

    原則上這兩張表是您自己的ODPS表,為了方便測試,以上提供的兩張表在任何地方都可以訪問。

  2. 建立如下工作流程。image..png

    地區

    描述

    配置讀資料表-1表名參數為pai_online_project.easyrec_demo_taobao_train_data訓練表

    配置讀資料表-2表名參數為pai_online_project.easyrec_demo_taobao_test_data測試表

    • 上傳config到OSS上,並在參數EasyRec設定檔上選擇該檔案。

    • 在參數模型路徑上選擇模型儲存路徑。

  3. 運行工作流程結束後,您可以查看輸出的模型檔案。

    您可以在模型路徑參數配置的OSS路徑下查看輸出的模型檔案。

  4. 查看Logview並進行日誌分析。

    運行EasyRec命令時,Designer會列印Logview。您可以按右鍵模型訓練組件,在捷徑功能表,單擊查看日誌,通過Logview快速查看模型訓練效果或定位錯誤。

image..png

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

image..png

其中:

  • 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。