雷锋网(公众号:雷锋网)AI 科技评论按: AutoML 是今年的机器学习的热点,该技术潜力很大,在工程实践能够产生巨大的价值。现阶段,业界主要在探讨 AutoML 的难点与方向阶段,目前还没有一家推出系统性的方案。在工程实践上,AutoML 还没有成为机器学习流程自动化、智能化的主要推动力。在实际应用中,针对大数据大模型的 AutoML 优化在 research 与 engineering 两方面都很缺乏。在本次公开课中,嘉宾分享了关于 AutoML 的算法和工程落地等实际问题。
分享嘉宾:
徐昊,云脑科技核心算法工程师,机器学习与高性能计算专家。在机器学习,自然语言处理,高性能分布式计算、图计算、随机优化等领域有着十余年研发经验。辛辛那提大学计算机工程博士,发表 IEEE/ACM 顶级论文 20 余篇,曾获第八届国际低能耗电子器件会议唯一最佳论文奖。曾任 ANSYS 软件首席工程师,主持了 10 亿级节点的分布式概率图计算系统的开发。
公开课回放地址:
http://www.mooc.ai/course/607/learn?lessonid=2939#lesson/2939
分享主题:AutoML 工程实践与大规模行业应用
分享提纲:
AutoML 业界动态
AutoML 算法前沿进展
AutoML 大规模工程应用落地问题
云脑科技高效 AutoML 系统
云脑 AutoML 在推荐,、游戏,、金融等领域的应用
雷锋网 AI 科技评论将其分享内容整理如下:
AutoML 在 2018 年是一个比较火的话题,salesforce 和微软都开源了 AutoML 的库,有很多开源软件包,如 AUTO KERAS,Auto-Sklearn 和 AutoWeka。

在算法上,今年在科研上比较受欢迎的是 NAS 算法,主要涉及神经网络结构方面的搜索。在超参的搜索方面,研究比较多的是 Model Based Sequential Optimization,基本思路是在超参空间里面先采样后建模,选择下一个提升概率比较高的超参点,比较流行的模型是贝叶斯和 TPE 模型等。Google 的 paper《Hyperband》上一种简单的 Bandit 方法使用的较多,基本思路是先在超参空间撒点采样,然后对每个点进行训练,训练结果更好的点可以获得更多的资源。还有 Population based Algorithm 算法,这些都是组合优化问题比较经典的解法。

在工程应用的落地方面,AutoML 还处于实验阶段,模型的优化和调试效率有一定的问题,但是工程潜力巨大。它的缺点是:计算量巨大,不能满足项目快速迭代的需求;目前仅限于调参问题;在搜索和优化的过程中像一个黑盒子,人机交互较少。因此,AutoML 在大项目中应用落地还存在一定的问题。

在工程实践中落地要考虑哪些因素呢?首先是精确度、工程迭代速度、Serving 压力,然后如果是深度学习,还要考虑深度学习优化加速,最后,线上模型的动态效果也需要考虑,因为线上模型的表现和线下的可能不一样。那么,对应的优化环节是下图左边的样本效率、特征效率、模型选择、优化效率和线上策略效率。

云脑在这些优化环节是如何做的?
样本效率
样本效率是机器学习最核心的问题之一,机器学习本质上是一个采样加拟合的过程,但是这个过程在很多系统中并不是一次性完成的。很多情况下,样本的处理都很简单,大量样本没有用或者效率较低。样本的选择对精度的影响较大,其数量对耗时的影响是线性的。
我们把信息量大的样本留下来,信息量小的去掉。如何衡量样本信息量?可以从无监督角度和业务角度考察样本的信息量。

下面来看一个例子。下图是游戏点击率的线上数据。这是一个重度玩家在 11 天内楼兰游戏时对不同游戏的点击和曝光数。如果我们需要分析用户的喜好,只需要输入几百个甚至几十个样本点,而不需要输入全部 3000 个样本点,这就是样本的静态效率可以提升的空间。

样本难度也是影响样本效率的重要因素,提高模型精度的关键在于获得更多的复杂样本。其次,需要去掉噪声样本。那么如何分析样本的难度?一般使用模型预测值和真实标签 cross entropy。保持原有数据的分布对样本训练过程来说非常重要。
特征效率
特征(尤其是稀疏特征)对训练数据的效率影响很大。在项目工期紧张的时候,把所有的特征扔进模型学习是不实际的,因此我们进行定量分析。维度大的特征对训练的影响非常大。稀疏特征也需要重点分析。对过于稀疏的特征值截断处理也可以提高特征效率。我们现在比较重视变长特征的处理。变长特征通常是在嵌入以后取平均值或求和,变长特征长的样本对 batch 的影响较大。

AutoML 自动优化效率
AutoML 是在 5 维度超大空间联合分布里面寻找最优点:数据维度、特征维度、模型维度、优化维度和线上策略维度。传统方法里面,人负责数据采样、特征工程和调参,只有深度学习模型是自动学习的。而前沿的算法:Model based sequential optimization 基本上是建模加采样的方法,它假设整个超参空间是连续的;Bandit based 是一种纯采样的算法,其假设是优化空间优化过程中的精度的连续的,其缺点在于它是纯采样,没有模型。而实际项目中由于各种原因,全局最优解是个非常复杂的问题。

在实际工程中,还需要考虑机器学习全流程优化的问题。它包括数据清洗、特征工程和模型调试中的工程迭代效率。我们还需要考虑线上 serving 效率、线上策略优化和深度学习优化加速问题。

云脑的 AutoML 系统全貌如下图所示。

云脑 AutoML 在多个领域都有应用:

雷锋网
雷锋网版权文章,未经授权禁止转载。详情见转载须知。