简介:介绍 b 站的机器学习工作流平台 ultron 在 b 站多个机器学习场景上的应用。
分享嘉宾:张杨,B 站资深开发工程师
导读:整个机器学习的过程,从数据上报、到特征计算、到模型训练、再到线上部署、最终效果评估,整个流程非常冗长。在 b 站,多个团队都会搭建自己的机器学习链路,来完成各自的机器学习需求,工程效率和数据质量都难以保证。于是我们基于 Flink 社区的 aiflow 项目,构建了整套机器学习的标准工作流平台,加速机器学习流程构建,提升多个场景的数据实效和准确性。本次分享将介绍 b 站的机器学习工作流平台 ultron 在 b 站多个机器学习场景上的应用。目录:
1、机器学习实时化
2、Flink 在 B 站机器学习的使用
3、机器学习工作流平台构建
4、未来规划
GitHub 地址
https://github.com/apache/flink
欢迎大家给 Flink 点赞送 star~
一、机器学习实时化

首先讲下机器学习的实时化,主要是分为三部分:
- 第一是样本的实时化。传统的机器学习,样本全部都是 t+1,也就是说,今天模型用的是昨天的训练数据,每天早上使用昨天的全天数据训练一次模型;
- 第二是特征的实时化。以前的特征也基本都是 t+1,这样就会带来一些推荐不准确的问题。比如,今天我看了很多新的视频,但给我推荐的却还是一些昨天或者更久之前看到的内容;
- 第三就是模型训练的实时化。我们有了样本的实时化和特征的实时化之后,模型训练也是完全可以做到在线训练实时化的,能带来更实时的推荐效果。
传统离线链路

上图是传统的离线链路图,首先是 APP 产生日志或者服务端产生 log,整个数据会通过数据管道落到 HDFS 上,然后每天 t+1 做一些特征生成和模型训练,特征生成会放到特征存储里面,可能是 redis 或者一些其他的 kv 存储,再给到上面的 inference 在线服务。
传统离线链路的不足

那它有什么问题呢?
- 第一是 t+1 数据模型的特征时效性都很低,很难做到特别高时效性的更新;
- 第二是整个模型训练或者一些特征生产的过程中,每天都要用天级的数据,整个训练或者特征生产的时间非常长,对集群的算力要求非常高。
实时链路

上图我们进行优化之后整个实时链路的过程,红叉的部分是被去掉的。整个数据上报后通过 pipeline 直接落到实时的 kafka,之后会做一个实时特征的生成,还有实时样

最低0.47元/天 解锁文章
4020

被折叠的 条评论
为什么被折叠?



