vivo互联网机器学习平台的建设与实践

vivo 互联网产品团队 - Wang xiao
随着广告和内容等推荐场景的扩展 , 算法模型也在不断演进迭代中 。业务的不断增长 , 模型的训练、产出迫切需要进行平台化管理 。vivo互联网机器学习平台主要业务场景包括游戏分发、商店、商城、内容分发等 。本文将从业务场景、平台功能实现两个方面介绍vivo内部的机器学习平台在建设与实践中的思考和优化思路 。
一、写在前面随着互联网领域的快速发展,数据体量的成倍增长以及算力的持续提升 , 行业内都在大力研发AI技术,实现业务赋能 。算法业务往往专注于模型和调参,而工程领域是相对薄弱的一个环节 。建设一个强大的分布式平台,整合各个资源池,提供统一的机器学习框架,将能大大加快训练速度,提升效率 , 带来更多的可能性,此外还有助于提升资源利用率 。希望通过此文章,初学者能对机器学习平台,以及生产环境的复杂性有一定的认识 。
二、业务背景截止2022年8月份,vivo在网用户2.8亿 , 应用商店日活跃用户数7000万+ 。AI应用场景丰富,从语音识别、图像算法优化、以及互联网常见场景,围绕着应用商店、浏览器、游戏中心等业务场景的广告和推荐诉求持续上升 。
如何让推荐系统的模型迭代更高效,用户体验更好,让业务场景的效果更佳,是机器学习平台的一大挑战,如何在成本、效率和体验上达到平衡 。
从下图可以了解到,整个模型加工运用的场景是串行可闭环的,对于用户的反馈需要及时进行特征更新,不断提升模型的效果,基于这个链路关系的基础去做效率的优化,建设一个通用高效的平台是关键 。
vivo互联网机器学习平台的建设与实践

文章插图
三、vivo机器学习平台的设计思路3.1 功能模块基于上图业务场景的链路关系,我们可以对业务场景进行归类,根据功能不同,通用的算法平台可划分为三步骤:数据处理「对应通用的特征平台,提供特征和样本的数据支撑」、模型训练「对应通用的机器学习平台,用于提供模型的训练产出」、模型服务「对应通用的模型服务部署,用于提供在线模型预估」,三个步骤都可自成体系,成为一个独立的平台 。
本文将重点阐述模型训练部分,在建设vivo机器学习平台过程中遇到的挑战以及优化思路 。
vivo互联网机器学习平台的建设与实践

文章插图
1.数据处理 , 围绕数据相关的工作,包括采集、加工、标记和存储 。
其中,采集、加工、存储与大数据平台的场景相吻合,标记场景是算法平台所独有的 。
  • 数据采集,即从外部系统获得数据,使用Bees{vivo数据采集平台}来采集数据 。
  • 数据加工,即将数据在不同的数据源间导入导出,并对数据进行聚合、清洗等操作 。
  • 数据标记 , 是将人类的知识附加到数据上 , 产生样本数据,以便训练出模型能对新数据推理预测 。
  • 数据存储 , 根据存取的特点找到合适的存储方式 。
2. 模型训练,即创建模型的过程,包括特征工程、试验、训练及评估模型 。
  • 特征工程,即通过算法工程师的知识来挖掘出数据更多的特征,将数据进行相应的转换后,作为模型的输入 。
  • 试验,即尝试各种算法、网络结构及超参,来找到能够解决当前问题的最好的模型 。
  • 模型训练,主要是平台的计算过程,平台能够有效利用计算资源,提高生产力并节省成本 。
3.模型部署,是将模型部署到生产环境中进行推理应用,真正发挥模型的价值 。
通过不断迭代演进,解决遇到的各种新问题,从而保持在较高的服务水平 。
4. 对平台的通用要求,如扩展能力,运维支持,易用性 , 安全性等方面 。
由于机器学习从研究到生产应用处于快速发展变化的阶段,所以框架、硬件、业务上灵活的扩展能力显得非常重要 。任何团队都需要或多或少的运维工作 , 出色的运维能力能帮助团队有效的管理服务质量 , 提升生产效率 。
易用性对于小团队上手、大团队中新人学习都非常有价值 , 良好的用户界面也有利于深入理解数据的意义 。
安全性则是任何软件产品的重中之重,需要在开发过程中尽可能规避 。
3.2 模型训练相关模型训练包括了两个主要部分,一是算法工程师进行试验,找到对应场景的最佳模型及参数 , 称之为“模型试验” , 二是计算机训练模型的过程,主要侧重平台支持的能力 , 称之为“训练模型” 。

推荐阅读