该组件实现的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_data
-
test: 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。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/165001.html