PAI-AutoML调参服务是通过算法的方式解放用户调节算法参数的工作。自2018年8月发布PAI-AutoML1.0版本以来,该功能已经帮助众多PAI的中小企业用户提升了模型的准确性,得到了不错的反馈。

PAI-AutoML1.0版本介绍文章:https://help.aliyun.com/document_detail/87393.html,为了进一步提升该服务的能力,PAI在今日发布AutoML调参服务2.0版本,目前该功能已经在PAI各区域服务全量上线。

在AutoML2.0版本中将包含以下Feature:

  • 新增目前业内热门的高斯调参方法以及针对大规模数据改良后的高斯采样算法
  • 增加了提前停止条件(EarlyStop)机制,帮助用户能更高效的利用资源

典型用户场景

某公司主营业务是广告DSP平台,对于广告DSP公司来讲,CTR预估准确性是营收的生命线。而CTR预估算法在机器学习领域属于二分类算法,目的是通过用户画像判断投放给用户的广告是否会被点击。

二分类算法如果在PAI平台选用GBDT或者RF这些算法需要有大量的参数调节,而且每个参数都具有很广的定义域,光靠人工手动调节很难锁定最优的参数组合。如下图,仅树的数目这一个参数就有[1,10000]这1万种参数可能性。

通过PAI-AutoML工具,只需要设置每个参数的大致范围,就可以通过调参算法自动找到最优参数组合:

从收益来讲,假设用户每日投放广告量为1000万次,使用AutoML之前的CTR预估准确率为0.7%,也就是投放1000万次会获得点击7万次。如果通过AutoML调参功能将CTR预估准确性提升到0.8%,可以帮助平台每天新增点击1万次。假设每次广告点击平台的收益是1元,那么平台日新增收入将增加1万元,年直接经济收益超过百万。

开箱即用

目前PAI-AutoML功能已经全面上线,只需要进入PAI-STUDIO页面,地址:https://pai.data.aliyun.com/console

新建项目并在首页模板中找到”基于对象特征的推荐“模板:

点击控制面板中的AutoML功能即可开始试用:

详细说明

在2.0版本中调参算法种类从4个增加到7个,各个算法详细说明如下:

算法名称 说明
Gause(高斯算法) 高斯过程,是一种非参数贝叶斯模型。作为经典算法,高斯过程已经广泛地被应用于超参优化领域。它通过不断观测超参配置表现来拟合代理模型,再通过模型的预测能力来强化决策,从而能在有限的尝试次数中更有目的地选出合适的超参结果。
Sample(采样算法) 该算法是PAI团队与达摩院合作自研的算法。对于数据量巨大的实验,其实仅需要一部分数据,就可以对一组超参所能得到的最终结果作一个预估。采样算法利用这一特性,结合PBT算法的思想,在增加超参选取数量的同时,逐步提高采样比例,不仅能进行更广的探索也能获得更快的加速
EvolutionaryOptimizer(进化式调参方法) 该算法是PAI团队基于PBT理论自研的算法,EvolutionaryOptimizer算法将调参问题看成一个多轮迭代循序渐进探索最优解的问题。其中”探索样本数“表示每轮迭代的样本,”探索次数“表示迭代轮数,”收敛系数“控制每次迭代的步长。在迭代过程中EvolutionaryOptimizer会在每轮结束后抛弃效果不理想的探索样本,并在效果更优的探索样本集合中向外拓展更多探索样本,形成下一轮的计算探索样本集合。以此方式迭代,直到完成迭代轮数。
PBT(Population-based training) PBT是一类基于种群概念的演化算法。它把超参配置看为一个种群,将搜索过程作为一个动态环境,在不断的迭代中对超参配置们进行优胜劣汰的筛选,最终得到表现更好的结果。这类算法概念简洁,可以适应不同的数据结构,在深度学习模型训练中取得过较好效果。
Grid Search 网格搜索调参法,将每个参与调参的参数按照比例等分切割,并且将切割后的参数随机组合生成参数数候选集进行计算和对比。
Random Search 随机搜索调参法,在每个参数空间中随机采样并且组合形成参数候选集,并对候选集进行计算和对比
User-define 用户自定义参数组合

本文作者:傲海

原文链接

本文为云栖社区原创内容,未经允许不得转载。

『Power AI by AI』 PAI-AutoML2.0重磅发布的更多相关文章

  1. 『现学现忘』Docker基础 — 40、发布镜像到Docker Hub

    目录 1.准备工作 2.Docker登陆命令 3.Docker提交命令 4.总结: 5.补充:docker tag命令 1.准备工作 Docker Hub地址:https://hub.docker.c ...

  2. 『Power Hungry Cows A*启发式搜索』

    Power Hungry Cows(POJ 1945) Description FJ的奶牛想要快速计算整数P的幂 (1 <= P <=20,000),它们需要你的帮助.因为计算极大数的幂, ...

  3. 『王霸之路』从0.1到2.0一文看尽TensorFlow奋斗史

    ​ 0 序篇 2015年11月,Google正式发布了Tensorflow的白皮书并开源TensorFlow 0.1 版本. 2017年02月,Tensorflow正式发布了1.0.0版本,同时也标志 ...

  4. MuPlayer『百度音乐播放内核』

    MuPlayer『百度音乐播放内核』 —— 跨平台.轻量级的音频播放解决方案. 多端(PC & WebApp)通用,统一的API调用方式 HTML5 Audio与Flash内核的平滑切换(支持 ...

  5. 【阿里云产品公测】以开发者角度看ACE服务『ACE应用构建指南』

    作者:阿里云用户mr_wid ,z)NKt#   @I6A9do   如果感觉该评测对您有所帮助, 欢迎投票给本文: UO<claV   RsfTUb)<   投票标题:  28.[阿里云 ...

  6. 『HTML5梦幻之旅』-缤纷多姿的烟花效果

    天花无数月中开,五采祥云绕绛台.堕地忽惊星彩散,飞空旋作雨声来.怒撞玉斗翻晴雪,勇踏金轮起疾雷.更漏已深人渐散,闹竿挑得彩灯回. ——明·瞿佑·<烟火戏> 记得每年过春节的那段时间,除了欣 ...

  7. 给定一个数列a1,a2,a3,...,an和m个三元组表示的查询,对于每个查询(i,j,k),输出ai,ai+1,...,aj的升序排列中第k个数。

    给定一个数列a1,a2,a3,...,an和m个三元组表示的查询,对于每个查询(i,j,k),输出ai,ai+1,...,aj的升序排列中第k个数. #include <iostream> ...

  8. 『NiFi 学习之路』简介

    『NiFi 学习之路』简介 『NiFi 学习之路』入门 -- 下载.安装与简单使用 『NiFi 学习之路』资源 -- 资料汇总 『NiFi 学习之路』把握 -- 架构及主要组件 『NiFi 学习之路』 ...

  9. 『NiFi 学习之路』自定义 —— 组件的自定义及使用

    一.概述 许多业务仅仅使用官方提供的组件不能够满足性能上的需求,往往要通过高度可定制的组件来完成特定的业务需求. 而 NiFi 提供了自定义组件的这种方式. 二.自定义 Processor 占坑待续 ...

随机推荐

  1. Java开发系列-Cookie与Session会话技术

    概述 会话技术:当用户打开浏览器的时候,访问不同的资源,直到用户将浏览器关闭,可以认为这是一次会话.会话技术产生是由于Http请求是一个无状态的协议,它不会记录上次访问的内容,用户在访过程中难免产生一 ...

  2. 1.前端数据可视化插件:Highcharts、Echarts和D3(区别)

    前端数据可视化插件有很多,但我用过的只有Highcharts(https://www.hcharts.cn/).Echarts(http://echarts.baidu.com/)和D3(https: ...

  3. LinkedHashMap笔记

    一.最基本元素存储单元 /** * HashMap.Node subclass for normal LinkedHashMap entries. */ static class Entry<K ...

  4. kafka数据分区的四种策略

    kafka的数据的分区 探究的是kafka的数据生产出来之后究竟落到了哪一个分区里面去了 第一种分区策略:给定了分区号,直接将数据发送到指定的分区里面去 第二种分区策略:没有给定分区号,给定数据的ke ...

  5. 莫烦PyTorch学习笔记(三)——激励函数

    1. sigmod函数 函数公式和图表如下图     在sigmod函数中我们可以看到,其输出是在(0,1)这个开区间内,这点很有意思,可以联想到概率,但是严格意义上讲,不要当成概率.sigmod函数 ...

  6. System.Web.Mvc.EmptyResult.cs

    ylbtech-System.Web.Mvc.EmptyResult.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, Public ...

  7. ansible 安装 使用 命令 笔记 生成密钥 管控机 被管控机 wget epel源

      ansible 与salt对比 相同 都是为了同时在多台机器上执行相同的命令 都是python开发 不同 agent(saltstack需要安装.ansible不需要) 配置(salt配置麻烦,a ...

  8. js (function(){}()),(function(){})(),$(function(){});之间的区别

    参考:https://blog.csdn.net/stpice/article/details/80586444 (function(){}()), (function(){})() 均为立即执行函数 ...

  9. Activiti 部分实用功能

    helloworld中已经写了关于部署流程图,查询个人任务,完成个人任务部分.现在添加几个新的实用功能 1.判断流程是否完成,代码如下 public void isProcessEnd() { Str ...

  10. 如何做系列(1)- mybatis 如何实现分页?

    第一个做法,就是直接使用我们的sql语句进行分页,也就是在mapper里面加上分页的语句就好了. <select id="" parameterType="&quo ...