一站式AI平台架构
产品架构
算法模型的研发具有很强的范式,首先是特征数据加工,选取一些数据作为特征。拿到特征之后,选择一个模型并进行相关的训练。第三步是把训练好的模型部署到模型平台上面。最后,决策平台会做业务流程的编排。
如图是整个平台的产品架构图。上面是各类应用场景,包括智能调度、营销&增长、司乘匹配、基础算法等。平台接入层提供内部SOA协议的接入,上面有各种各样的服务,会对接我们的平台。我们的平台分为离/近线系统和近/在线系统,其中离/近线系统包括特征平台和训练平台,近/在线系统包括模型平台和决策平台。
技术架构
如图是AI平台的技术架构图。从上往下,决策平台层是在线服务的入口,除了算法在上面做一些流程编排,一个重要的职责是承担了在线业务流量的稳定性。为了加速模型推理的功能,我们把模型直接跟特征绑定,拉取到本地。在这个过程中,如何把海量数据,大量的高维特征加载到本地机器上运行,让本地的模型直接读取,是有挑战性的地方。二是在线部分,分布式动态扩缩容、高可用、限流熔断,也是我们的核心能力之一。三是模型平台,要面对各种各样的算法框架所开发出的模型,如tensorflow模型、pytorch模型等,这些模型还会经过一些常用的模型压缩算法,变成优化好的模型。我们把这些模型加载起来,有Tensorflow集群、GPU集群、Python集群等。
接下来,底层的特征平台主要应用的是大数据技术。上面可以部署各种定时任务,这些任务是通过spark的脚本分发给数据平台,申请计算资源,最后进行算法的推理和计算。同时,我们对hive、数据湖都需要有一定的了解。
最后是云原生相关技术的应用。训练平台用的是云原生的docker直接加载jupyter notebook镜像,把这些资源释放给算法同学使用,获得能效的提升。
发展进程
我们在2021年做了平台化,2022上半年进行稳定性治理和性能优化,下半年在自动化和实时化上发力。自动化是为了提升效率,降低门槛;实时化是为了提升算法效果和用户的体验。
自动化训练的实践
为什么需要自动化训练
机器学习有着固定的研发流程,问题抽象、模型选择、超参调优等比较依赖算法工程师经验。
业内情况和发展
AutoML最早由Google在2018年初提出,主要分为Auto FE(自动特征工程)、HPO(超参优化)、NAS(神经网络架构搜索)。
华为、阿里、百度、美团等国内大厂纷纷跟进,应用于实际生产。
HPO效果测试集
在上线之前,拿了内部真实的场景,对AutoML技术做了一些测评。通过AutoML里HPO的算法,去优化我们的超参,优化后的效果有了小幅的提升。
技术方案
基于开源项目Ray Tune与NNI提供的基础能力,通过Python SDK供算法代码使用,初期算法通过代码模板选取训练代码。
产品方案
编程式建模
交互式建模
自动化流程
赋能场景
AutoML在哈啰广告CTR预测场景下上线,如图是哈啰APP首页腰封的营销广告。为了提升广告的点击率,我们进行了优化,使用的是DeepFM模型,在这个模型下以前没有用到超参搜索。类似的场景还有很多,实际效果基本都得到了提升。
未来展望和规划
一是数据和特征决定了机器学习的上限,模型和算法只是逼近这个上限而已,因此特征的生产和选择很依赖经验,有一定的提升空间。二是在模型自动选择上,算法可以代替人工经验,通过算法对比不同模型的效果,最终选择最优解。后面我们也有开源计划,目前在规划中。
我们的愿景是人人都是算法工程师。算法代码有很强的范式,模型的开发和使用也趋近于稳定并积累了大量经验,调参模型开发等机械的工作更多的被机器替代,我们应该更专注于业务场景的分析、问题的抽象与定义、新技术(AIGC)工程化的实践等。
(本文作者:任天兵)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。