1、微博深度学习平台基于K8S的解决方案声明:本文档部分图片来源于网络目录01.微博深度学习平台2.离线训练篇3.在线预测篇4.K8S应用总结深度学习平台微博业务场景微博深度学习工作流微博深度学习平台架构深度学习平台1智能裁剪视频盗链检测音频分类明星识别视频Logo图片OCR图片:物体识别、OCR、人脸、明星、颜值、智能裁剪视频:版权检测、logo识别、直播盗链检测音频:标签、语音、语音转文本算法:VGG/resNet/Yolo/SSD/FAST+微博业务场景-多媒体内容理解关注排序热门推荐相关推荐微博业务场景-CTR任务复杂特征简单模型:特征工程+传统模型(LR/FM)简单特征复杂模型:Wide
2、&Deep、DeepFM、DeepCross 模型部署模型预测原始数据特征处理模型预测样本生成模型训练特征处理模型训练数据传输模型评估业务评估微博深度学习工作流K8S应用环节关注流工作流weiflowKubernetesyarnmesos调度业务应用算法tensorflow/caffespark/hadoop计算云弹性计算集群云高性能GPU集群资源高性能在线集群weips算法训练weilearn算法服务weiserving模型评估模型训练样本库推荐服务模型服务模型库特征服务特征库推荐流分类/检测图像/视频分类.深度学习平台端上引擎weiMobile内容生产微博深度学习平台存储 一站式服务平台,
3、加快业务开发速度,缩减业务迭代周期 业务无须关注底层工程细节和资源分配,专注于算法和效果调优weilearn-微博深度学习训练框架基于arena的分布式解决方案背景深度学习训练框架训练篇2业务实践效果tensorflow 分布式训练arena 阿里云深度学习工具图片训练业务实践 业务模式多:CTR/多媒体内容理解/多媒体内容生成背景-业务接入门槛高 分布式训练:分布式实施复杂,学习成本高 训练框架多:tensorflow、caffe、mxnet、kaldi 迁移成本高:不同框架的设计与编程模式不同计算资源异构(CPU/GPU)资源需求多样(单机单卡/单机多卡/多机多卡)训练框架类型多,集群部署
4、复杂框架迭代速度快,集群部署成本高集群管理资源管理任务管理任务需要隔离任务管理难度大分布式任务日志查看困难背景-保证平台稳定性样本库训练框架调度计算模型库CTR样本自然语言样本视频与图像样本样本处理CTR业务NLP图片视频VGGYoloinceptionresnetGRULSTMWide&DeepDeepFMDeep Cross NetworkSpark超参数资源算法配置Arena/K8SYARNDNNRNNCNNCTRNLP图像业务视频业务语音业务weilearn-深度学习训练框架任务配置化,降低业务接入成本统一资源调度,提高任务效率与稳定性tensorflow-分布式训练单机多卡 allr
5、educe&in-graph=MirroredStrategy多机多卡 all reduce&between-graph=CollectiveAllReduceStrategyuParamaterServer 模式clusterSpecTF_CONFIGHorovodDistributionStrategyParamaterServerringAllreducePS&Allreduce 集群拓扑模式u分布式策略模式uAllreduce模式tensorflow-分布式训练u集群拓扑:静态集群拓扑组织复杂u端口管理:需要额外的机制保证端口不冲突u任务稳定性:节点故障处理机制缺失u状态跟踪:分布式日
6、志与状态查看困难u资源隔离:原生tensorflow的资源抢占 遇到的问题CPUGPUHDFSKubernetes/NVidia Docker RuntimeKubeFlow/tfjobs/mpijobstensorflow/caffe/horvod/pytorcharena cliu阿里云开源https:/ service,对pod具体地址透明u网络通信:跳过service路由转发,提高性能u网络通信:pod 使用host 网络,保证集群通信性能Arena-基于K8S的分布式解决方案 Arena kubeflow opreator for tensorflow 简化任务管理与保障多种代码同步