创建自动搜索作业
创建自动搜索作业
1.前提条件
2.新建作业
3.使用自动搜索作业训练模型
3.1 基本信息
3.2 算法配置
3.3 数据集配置
3.4 自动搜索配置
3.5 资源配置
3.6 查看搜索结果及可视化
4.发布模型
前提条件
- 自定义作业需要依赖于BOS对象存储读取输入文件,创建自定义作业之前需要保证您已经开通了BOS对象存储的服务。
- 授权自定义作业读写您的BOS对象存储,以顺利进行自定义作业的配置。
- 在BOS中存储创建Bucket,并且存储用于训练的代码文件和数据集,创建一个空文件夹用于存储代码的输出文件。
新建作业
- 在导航栏选择『自定义作业-自动搜索作业』,进入自动搜索作业的列表页。
- 点击『新建作业』,进入配置自动搜索作业流程
使用自动搜索作业训练模型
自动搜索作业提供了多种开源框架、搜索算法以及优质的训练资源。您可以上传代码文件,数据集到BOS对象存储,通过自动搜索作业完成训练后,平台提供了每组超参数组合的参数值及其对应的模型评估指标、训练结果会输出到BOS中的指定输出目录,同时您也可以通过链接进入可视化界面查看具体搜索结果。
基本信息
填写作业名称和描述
算法配置
- 选择AI框架:选择训练代码文件使用的算法框架,目前BML支持Paddle,TensorFlow(1和2),Pytorch,Sklearn,XGBoost五种主流算法框架。
2.选择代码文件:从BOS对象存储中选取代码文件,完成代码录入。单机文件夹符号,从弹窗中选择bucket及文件夹。双击bucket或者单击『>』图标,即可进入下一级。
3.代码文件要求如下:
- 选取对象可以是一个文件或者一个文件夹。
-
所选代码文件必须与所选算法框架对应,所选路径必须包含适配自动搜索作业代码编写规范的代码文件,查看代码文件编写规范(链接到代码文件编写规范)。
4.选择代码文件及启动文件:
- 当代码文件项选择一个单独文件时,启动命令即为该文件,自动填充启动命令。
- 当代码文件项选择的是一个文件夹时,启动命令为启动文件名称,如train.py,用户需要手动填写。
数据集配置
自动搜索作业数据集配置方式是从BOS中选取数据集。在弹出的对话框中选择数据集对应的bucket和文件夹。注:选择的数据集路径与代码训练时传入代码的训练集、测试集路径一致。为保证训练效率,最好将数据存放在压缩包内。
自动搜索配置
- 配置方式:
- 手动配置:用户需要在平台上手动选择搜索策略以及配置对应的参数。
- yaml文件:用户可以通过yaml文件来设置自动搜索配置,文件上传方式分为本地上传与从BOS中选取两种,查看yaml文件编写规范(链接到yaml文件编写规范)
- 搜索策略:
自动搜索作业目前提供了5种搜索算法,见搜索算法简介。
- 参数配置:
- 选择搜索策略后,参数配置表格会提供对应的参数进行选择,其中关于搜索算法的参数说明见搜索算法简介。
-
非搜索参数的说明如下:
- 数据采样比例:超参搜索需要进行多个模型的训练,因此为了提高效率,减少总的搜索耗时,可以设置训练集的数据采样比例。
- 评价指标:用户在代码中可以自定义评价指标的计算方式,只需要在平台参数配置表格中填写评价指标的名称、优化方向(最大值/最小值)以及早停指标即可。下图是一个填写实例,评价指标:acc,最大值优化,当搜索实验的某个训练结果,acc的数值达到100%时,终止整个自动搜索任务。
-
搜索参数:用户需要将待搜索的超参数填入显示框内,搜索参数的名称需要与代码中的名称保持严格一致!如搜索任务中有多个参数需要搜索,点击『+添加参数』即可,如下为搜索参数的参数类型以及对应的取值范围说明:
- 随机整数:参数范围中填写搜索参数的上下界,算法在其中随机取整。
- 离散值:参数范围中填写搜索参数的所有可能取值,以英文逗号隔开,算法会随机从中取值。
- 平均采样:参数范围中填写搜索参数的上下界,算法在其中随机取值,包括整数和小数。
- 对数平均采样:参数范围中填写搜索参数的上下界,算法在其对数尺度上随机取值,该参数类型适用于学习率等参数范围有尺度差异的超参数。
资源配置
BML提供CPU和GPU两类训练机型。
CPU机型供算法框架为sklearn,XGBoost时使用,用于机器学习训练:
机型 | 规格说明 |
---|---|
CPU 4核 | CPU 4核16GB内存 |
CPU 16核 | CPU 16核64GB内存 |
CPU 64核 | CPU 64核256GB内存 |
GPU机型供算法框架为Paddle,TensorFlow,Pytorch时使用,用于深度学习训练:
机型 | 规格说明 |
---|---|
GPU V100 | TeslaGPU_V100_16G显存单卡_12核CPU_56G内存 |
GPU P40 | TeslaGPU_P40_24G显存单卡_12核CPU_40G内存 |
GPU P4 | TeslaGPU_P4_8G显存单卡_12核CPU_40G内存 |
温馨提示: 未开通付费的情况下,可选的运行环境为CPU 4核,GPU P4, GPU P40,我们为每位用户提供了CPU 4核环境下100(小时×节点),GPU P4运行环境下100(小时×节点)和GPU P40运行环境下50(小时×节点)的免费算力支持,超出后请您付费购买。详见页面提示的价格说明。
查看搜索结果及可视化
查看搜索结果
自动搜索作业运行完成后,在任务列表页中点击查看进入任务详情界面(任务运行时,也可点击查看实时信息)
点击搜索结果,表格中会显示所有试验的详细信息,如评价指标的值、搜索耗时,试验状态等;点击日志,可以查看每个试验的运行日志。
点击详情可以查看每个试验的超参数取值。
查看可视化视图
可视化界面目前仅保存了所有试验中指标最好的5个结果。
- 点击查看可视化视图,可以进入飞桨VisualDL可视化界面。
- 点击标题栏的超参可视化,自动搜索作业一共提供了三种图:
- 表格视图:搜索结果以表格的形式呈现。
-
平行坐标图
- 图中右方为柱状热力图,当在右上方选择一个参数时,平行坐标图便会以该参数作为基准结果,参数组合的折线颜色便会依据该组合在选择参数上的取值而改变。
- 自动搜索作业中,选择评价指标(图中为acc)作为基准结果,然后观察各个超参数对其的影响大小。若某个超参数上相同颜色的折线较为集中,不同颜色有一定的距离,则说明该参数对于结果影响很大;而如果某个超参数上线条颜色混乱,则较大可能该参数对于结果的影响很小。
- 散点图:呈现超参数与指标之间的分布关系。
发布模型
自动搜索作业训练完成后支持将最好的5个模型直接发布到模型仓库。
- 模型列表中,训练完成的模型支持『发布』操作,点击『发布』进入发布界面。
- 在发布界面,完成相关配置,如下所示:
- 填写下图所示基本信息。『模型类型』和『版本』由系统自动生成,不支持修改。重新发布时,『模型名称和『模型描述』会自动填充,无需再次填写。
- 根据算法框架的不同,您还需要在发布界面填写响应的额外配置项信息。
算法框架 | 额外配置项 |
---|---|
PaddlePaddle | 无 |
TensorFlow | 无。说明:自动搜索作业支持发布pb格式的模型文件到模型仓库,因此代码中需要保存pb格式的模型 |
Pytorch | 从BOS中选择源代码并输入源代码的主文件名。说明:选取的代码为启动服务的推理代码,具体说明点击这里(链接到pytorch代码示例中的推理代码部分) |
Sklearn/XGBoost | 模型文件格式:支持发布pickle格式或joblib格式模型到模型仓库。模型文件:选择一个搜索结果后,下方模型文件会自动填充对应试验的路径,用户只需要在对应路径下选中保存的模型即可。说明:其他框架在保存模型时,模型名称是固定的,而机器学习框架中通常是用户指定,因此在发布模型时需要手动选择 |