TensorFlow在云音乐上的一些实践

分享大纲:

  • 《TensorFlow在云音乐上的一些实践》
  • 网易云音乐基础业务介绍
  • 机器学习框架在云音乐基础介绍:TensorFlow、thanos
  • 推荐搜索业务实践(坑+TF2.0尝鲜)
  • NLP基础业务实践(flink+TensorFlow)
  • 算法平台赋能

段石石@网易云音乐机器学习负责人

段石石,五年互联网从业经验,开源爱好者,TF、MXNet、PaddlePaddle、TFLearn contributor,知乎专栏作者,推荐算法出身,因在腾讯工作期间参与无量核心开发,由算法转ML SYSTEM。目前就职于网易云音乐,负责云sa音乐整体机器学习框架的应用于研发,为云音乐提供大规模机器学习框架与基础算法应用能力,目前的兴趣点在大规模机器学习框架、图网络等。

展开查看详情

1.

2.孔晓泉 谷歌开发技术专家(GDE)(Machine Learning方向) TensorFlow 和 TensorFlow Addons contributor。 TFUG社区主要组织者。Rasa (an open-source conversational AI framework) SuperHero contributor 和 Rasa 中国社区 Founder。曾就职于 Alibaba Group 从事 NLP 算法和框架研发工作。

3.

4.段石石 网易云音乐机器学习框架负责人 负责为网易云音乐提供大规模机器学习框架与基础算 法应用能力,对大规模机器学习框架和图网络等技术 有独到研究。推荐算法出身,曾在腾讯参与无量核心 开发。知乎专栏作者,开源爱好者,TF、MXNet、 PaddlePaddle、TFLearn contributor。

5.机器学习在网易云音乐的一些实践

6.大纲 1. 网易云音乐基础业务介绍; 2. 数据智能整体架构; 3. Thanos与TensorFlow在云音乐的实践; 4. 实践case 1. TF On Flink 2. 直播实时优化;

7.网易云音乐基础业务介绍 八亿注册 用户 数万主播 千万级曲 库 数据智能部 十亿级歌 十万音乐人 单

8.数据智能整体架构 DMP Mixer( ) Retrieval( ) ABT( ) Scoring( ) Sorting( ) Filtering( ) VDBank VDProcess VDEngine Spark TF Thanos

9.模型训练与部署平台 Batch Sample userID itemID MyRocks uFeature iFeature … FeatureEigine TranformFeature Thanos TF Model Inference Spark Score Sort FeatureServing Feature ops Offline Inference Data Ensemble Spark Job Model DataSouce Inference … Spark Inference Job TensorFlow Inference Job

10.Ironbaby: TensorFlow Recommendation Framework WDL ESMM local DeepFM DCN hdfs 1.业务数据转换,按规定协议编码写入TFRecord,目前支持 pyspark、scala直接转换; 2.任务配置,提供通过配置文件配置任务的; 3.统一特征表示,支持稠密特征、稀疏特征的统一编码格式; WDL 4.数据读取,支持local、hdfs读取两种方式,根据路径名来自 train_config ESMM Dense 动识别使用何种读取方式; eval_config 5.模型训练,基于Estimator构造常用的模型如WDL、DeepFM、 DeepFM pred_config DIN等等,支持自定义构造模型; DCN common_config Sparse 6.模型评估,在验证集上做模型评估; 7.模型离线预测,支持离线Inference逻辑,支持多种方式: 8.模型部署,支持tensorflow serving和frozen PB两种方式; 9.记录注册模块,在元数据中心注册模型运行情况,如参数、 指标等等; WDL WDL ESMM ESMM DeepFM DeepFM DCN DCN

11.搜索重排 7000万 | 40GB|DeepFM| 4 Field

12.推理 线上服务 SDK WEB ZK TF Inference Eigine Metric Module Fronze PB Goblin Eval Transform TF Eval Metric Metric 1, Check Inference 2, Check Model perf SDK WEB ZK 离线推理 Estimator Spark+TF Predict

13.TF做推荐的几问题 Batch size: 256 1,耗时;解析样本整体耗时占70%; 2,hdfs的坑; unset MALLOC_ARENA_MAX 3,网络利用很难到上限;数据读取占网络35%,单机多实例仍然不能提升

14.基于Thanos的大规模稀疏推荐平台

15.Thanos设计思路

16.Thanos参数服务器拆解

17.Thanos算法模块拆解

18.Thanos+Other Frameworks Stage 1 Stage 2 Stage 3 Parameter Server Schedule Schedule Schedule consistency worker consistency worker consistency worker model dump … model dump … model dump … protocol report protocol report protocol report Parameter Server Push Grad Worker Parameter Server Push Grad Worker Parameter Server Push Grad Worker GradFunc GradFunc GradFunc compute compute compute sub- sub- sub- model batch model model GradFunc GradFunc GradFunc compute compute compute sub- sub- sub- model batch model model … … … … … … GradFunc GradFunc GradFunc compute compute compute sub- sub- sub- batch model model model Pull Weight Pull Weight Pull Weight HDFS HDFS HDFS LibSVM LibSVM LibSVM LibSVM+ LibSVM+ LibSVM+ Field-LibSVM Field-LibSVM Field-LibSVM UDFile UDFile UDFile 1 1 1 2 2 2

19.Thanos Benchmark

20.TF With Flink Case: 直播私信拉人识别 • 模型: Char-Based TextCNN,特点:短文本; • 人工标注4万条,得到有效拉人文本4000条,种子词撞得到有效样本4000条; • 训练字向量,用作Pretrain Model; • 性能高,适合实时推理;1ms/sample;

21.Model Inference On Flink: 直播私信拉人识别 • TensorFlow Frozen PB; • C++ TensorFlow Framework; • Jni Inference On Flink;

22.直播实时化项目介绍 离线特征 离线数据 离线模型 T+1更新 主播实时特征(直播间在线人数、有效观看人数、送礼、发言等等); 实时数据(5分钟、30分钟窗口数据) 实时模型 小时级别更新 数据量: 8亿/天,2000万-4000万/小时,1.2T/天

23.数据及特征落地 Flink Kafka HDFS user user HDFS

24. client log Uid ItemIdList click nor not Uid ItemId Negative Sampling userid anchorid Feature Store Real Stat System Incremental-training Feature Process Module Model Manager MyRocks bucket normalization.. Model Accuray Checker uid_item_ufeat_i1feat uid_u_real_feat … item_i1_real_feat uid_item_ufeat_iNfeat item_iN_real_feat Feature Process Module: cross user_vec anchor_vec N Train Samples client Model Tth Hour join Uid Model T-1th Hour Uid ItemId Uid ItemIdList userid&itemid final_vec label Feature Store Real Stat System N Samples & Scores Feature Process Module bucket normalization.. Rule Eigine HDFS uid_item_ufeat_i1feat uid_u_real_feat … item_i1_real_feat uid_item_ufeat_iNfeat item_iN_real_feat client Feature Process Module: cross Rec Itemlist To Train click or not N Inference Samples

25.特征ID编码 性别男 Hash 1361 1361 000000000000000000000000010101010001 0000000000000000000000000001000000000000000000000000010101010001 68719478097 16位空置保留 12位Slot_id 36位FeatureID slot_id = (featureKey >> 36) & 0x0000fff;

26.特征交叉 SlotA与SlotB交叉 SlotA SlotB feature_ids feature_ids

27.Thanos增量训练

28.Thanos增量部署 SDK WEB ZK Thanos Inference Eigine Metric Module Thanos Eval Goblin Eval Metric Metric 1, Check Inference 2, Check Model perf SDK WEB ZK

29.实时化项目问题 1, 线上线下数据对齐困难、校验困难; 2, 在线特征处理复杂;(特征穿越、数据对齐) 3, 实时特征数据太敏感; 4, 系统考验大;