云服务器内容精选

  • TPE算法 TPE算法全称Tree-structured Parzen Estimator,是一种利用高斯混合模型来学习超参模型的算法。在每次试验中,对于每个超参,TPE为与最佳目标值相关的超参维护一个高斯混合模型l(x),为剩余的超参维护另一个高斯混合模型g(x),选择l(x)/g(x)最大化时对应的超参作为下一组搜索值。 表2 TPE算法的参数说明 参数 说明 取值参考 num_samples 搜索尝试的超参组数 int,一般在10-20之间,值越大,搜索时间越长,效果越好 n_initial_points 采用TPE接近目标函数之前,对目标函数的随机评估数 int,一般不建议用户修改 gamma TPE算法的一定分位数,用于划分l(x)和g(x) float,范围(0,1),一般不建议用户修改
  • 贝叶斯优化(SMAC) 贝叶斯优化假设超参和目标函数存在一个函数关系。基于已搜索超参的评估值,通过高斯过程回归来估计其他搜索点处目标函数值的均值和方差。根据均值和方差构造采集函数(Acquisition Function),下一个搜索点为采集函数的极大值点。相比网格搜索,贝叶斯优化会利用之前的评估结果,从而降低迭代次数、缩短搜索时间;缺点是不容易找到全局最优解。 表1 贝叶斯优化的参数说明 参数 说明 取值参考 num_samples 搜索尝试的超参组数 int,一般在10-20之间,值越大,搜索时间越长,效果越好 kind 采集函数类型 string,默认为'ucb',可能取值还有'ei'、'poi',一般不建议用户修改 kappa 采集函数ucb的调节参数,可理解为上置信边界 float,一般不建议用户修改 xi 采集函数poi和ei的调节参数 float,一般不建议用户修改
  • 模拟退火算法(Anneal) 模拟退火算法即Anneal算法,是随机搜索中一个简单但有效的变体,它利用了响应曲面中的平滑度。退火速率不自适应。Anneal算法从先前采样的一个试验点作为起点,然后从与先验分布相似的分布中采样每组超参数,但其密度更集中在选择的试验点周围。随着时间推移,算法会倾向于从越来越接近最佳点处采样。在采样过程中,算法可能绘制一个次佳试验作为最佳试验,以一定概率跳出局部最优解。 表3 模拟退火算法的参数说明 参数 说明 取值参考 num_samples 搜索尝试的超参组数 int,一般在10-20之间,值越大,搜索时间越长,效果越好 avg_best_idx 要探索试验的几何分布平均,从按照分数排序的试验中选择 float,一般不建议用户修改 shrink_coef 随着更多的点被探索,邻域采样大小的减少率 float,一般不建议用户修改
  • 创建算法 进入ModelArts控制台,参考创建算法操作指导,创建自定义算法。镜像应该满足pytorch_1.8.0-cuda_10.2-py_3.7-ubuntu_18.04-x86_64或tensorflow_2.1.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64引擎。 对于用户希望优化的超参,需在“超参”设置中定义,可以给定名称、类型、默认值、约束等,具体设置方法可以参考定义超参。 单击勾选“自动搜索”,为算法设置算法搜索功能。自动搜索作业运行过程中,ModelArts后台通过指标正则表达式获取搜索指标参数,朝指定的优化方向进行超参优化。用户需要在代码中打印搜索参数并在控制台配置以下参数。 图1 设置算法搜索功能 搜索指标 搜索指标为目标函数的值,通常可以设置为loss、accuracy等。通过优化搜索指标的目标值超优化方向收敛,找到最契合的超参,提高模型精度和收敛速度。 表1 搜索指标参数 参数 说明 名称 搜索指标的名称。需要与您在代码中打印的搜索指标参数保持一致。 优化方向 可选“最大化”或者“最小化”。 指标正则 填入正则表达式。您可以单击智能生成功能自动获取正则表达式。 设置自动化搜索参数 从已设置的“超参”中选择可用于搜索优化的超参。优化的超参仅支持float类型,选中自动化搜索参数后,需设置取值范围。 搜索算法配置 ModelArts内置三种超参搜索算法,用户可以根据实际情况选择对应的算法,支持多选。对应的算法和参数解析请参考以下: bayes_opt_search:贝叶斯优化(SMAC) tpe_search:TPE算法 anneal_search:模拟退火算法(Anneal) 提交创建算法完成后即可执行下一步,创建训练作业。
  • 准备工作 数据已完成准备:已在ModelArts中创建可用的数据集,或者您已将用于训练的数据集上传至OBS目录。 请准备好训练脚本,并上传至OBS目录。训练脚本开发指导参见开发用于预置框架训练的代码。 在训练代码中,用户需打印搜索指标参数。 已在OBS创建至少1个空的文件夹,用于存储训练输出的内容。 由于训练作业运行需消耗资源,确保账户未欠费。 确保您使用的OBS目录与ModelArts在同一区域。
  • 超参搜索简介 ModelArts训练支持超参搜索功能,自动实现模型超参搜索,为您的模型匹配最合适的超参。 在模型训练过程中,有很多超参需要根据任务进行调整,比如learning_rate、weight_decay等,这一工作往往需要一个有经验的算法工程师花费一定精力和大量时间进行手动调优。ModelArts支持的超参搜索功能,在无需算法工程师介入的情况下,即可自动进行超参的调优,在速度和精度上超过人工调优。 ModelArts支持以下三种超参搜索算法: 贝叶斯优化(SMAC) TPE算法 模拟退火算法(Anneal) 父主题: 自动模型优化(AutoSearch)