一站式机器学习平台建设实践
总第379篇
2020年 第2篇
刚刚度过了一个特殊的春节,美美在这里给大家拜个晚年。相信大家作为各公司技术团队的骨干,应该也和我的同事们一样,正在紧张忙碌地用技术支撑着各方面的工作,同舟共济,抗击疫情吧。请大家注意做好个人和家庭防护,多加强运动,提高免疫力。让我们一起为武汉加油,愿疫情早日结束!
在家工作,学习也不能松懈。今天美美给大家带来两篇人工智能领域的技术文章。一篇是机器学习平台的建设实践,一篇是自然场景中的人脸检测,希望对大家有所启发。
下面这篇文章根据美团配送资深技术专家郑艳伟在2019 SACC(中国系统架构师大会)上的演讲内容整理而成,主要介绍了美团配送技术团队在建设一站式机器学习平台过程中的经验总结和探索,希望对从事此领域的同学有所帮助。
0. 写在前面
1. 业务背景
2. 美团配送机器学习平台演进过程
2.1 为什么建设一站式机器学习平台
MVP阶段:灵活,快速试错,具备快速迭代能力。
平台化阶段:业务成指数级增长,需要机器学习算法的场景越来越多,如何既保证业务发展,又能解决系统可用性、扩展性、研发效率等问题。
2.2 MVP阶段
重复造轮子:特征工程、模型训练、模型在线预测都是各自研发,从零做起,算法的迭代效率低下。
特征口径混乱:各个业务方重复开发特征,相同特征的统计口径也不一致,导致算法之间难以协同工作。
2.3 平台化阶段
该平台底层依托于Hadoop/Yarn进行资源调度管理,集成了Spark ML、XGBoost、TensorFlow三种机器学习框架,并保留了扩展性,方便接入其它机器学习框架,如美团自研的MLX(超大规模机器学习平台,专为搜索、推荐、广告等排序问题定制,支持百亿级特征和流式更新)。
通过对Spark ML、XGBoost、TensorFlow机器学习框架的封装,我们实现了可视化离线训练平台,通过拖拉拽的方式生成DAG图,屏蔽多个训练框架的差异,统一模型训练和资源分配,降低了算法RD的接入门槛。
模型管理平台,提供统一的模型注册、发现、部署、切换、降级等解决方案,并为机器学习和深度学习模型实时计算提供高可用在线预测服务。
离线特征平台,收集分拣线下日志,计算提炼成算法所需要的特征,并将线下的特征应用到线上。
实时特征平台,实时收集线上数据,计算提炼成算法所需要的特征,并实时推送应用到线上。
版本管理平台,管理算法的版本以及算法版本所用的模型、特征和参数。
AB实验平台,通过科学的分流和评估方法,更快更好地验证算法的效果。
3. 图灵平台
3.1 离线训练平台
3.2 模型管理平台
本地:模型和MLDL统一推送到业务方服务节点上,同时图灵平台提供一个Java的Lib包,嵌入到业务方应用中,业务方通过本地接口的方式调用模型计算。
远程:图灵平台维护了一个专用的在线计算集群,模型和MLDL统一部署到在线计算集群中,业务方应用通过RPC接口调用在线计算服务进行模型计算。
3.3 离线特征平台
3.4 实时特征平台
3.5 AB实验平台
AA分组:将候选流量按照既定的规则预先分为对照组和实验组,基于数理统计的理论确保对照组和实验组在所关注的业务指标上没有显著差异。
AB分流:将线上请求实时分到对照或者实验版本。
效果评估:根据对照组和实验组的数据对比评估AB实验的效果。
4 总结与展望
加强深度学习的建设,全面支持深度学习,实现深度学习相关组件与机器学习组件一样,在可视化界面可以和任意组件组合使用。
离线训练支持更多常用深度学习模型。
支持直接写Python代码自定义深度学习模型。
简化图灵平台SDK,剥离主体计算逻辑,建设在线预测平台。
在线预测平台动态加载算法包,实现算法、业务工程方、图灵平台的解耦。