微博深度学习平台架构和实践
原文地址:https://mp.weixin.qq.com/s?__biz=MzAwNDI4ODcxNA==&mid=2652245662&idx=1&sn=8c1794671150c32adedce2317ceee3f8&chksm=80cc973bb7bb1e2d289a47840a9348f99853193a2871bee3c57b6216708754582febdf562572&scene=21#wechat_redirect
随着人工神经网络算法的成熟、GPU计算能力的提升,深度学习在众多领域都取得了重大突破。本文介绍了微博引入深度学习和搭建深度学习平台的经验,特别是机器学习工作流、控制中心、深度学习模型训练集群、模型在线预测服务等核心部分的设计、架构经验。微博深度学习平台极大地提升了深度学习开发效率和业务迭代速度,提高了深度学习模型效果和业务效果。
深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。 [1]
深度学习的概念由Hinton等人于2006年提出。基于深度置信网络(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。 [1]
深度学习的平台目前有很多种例如腾讯深度学习平台DI-X 阿里机器学习平台PAI 百度深度学习平台 深度学习框架主要提供神经网络模型实现,用于进行模型训练。模型训练只是机器学习和深度学习中的一环,除此之外还有数据输入、数据处理、模型预测、业务应用等重要环节。深度学习平台就是整合深度学习各环节,为开发者提供一体化服务的平台。深度学习平台能够加快深度学习的开发速度,缩减迭代周期;同时,深度学习平台能够将计算能力、模型开发能力共享,提升开发效率和业务效果,也能够将资源合理调度,提高资源利用率。
这些平台特性为
方便易用:支持数据输入、数据处理、模型训练、模型预测等工作流,可以通过简单配置就能完成复杂机器学习和深度学习任务。特别是针对深度学习,仅需选择框架类型和计算资源规模,就能模型训练。
灵活扩展:支持通用的机器学习算法和模型,以及用户自定义的算法和模型。
多种深度学习框架:目前支持TensorFlow、Caffe等多种主流深度学习框架,并进行了针对性优化。
异构计算:支持GPU和CPU进行模型训练,提高模型训练的效率。
资源管理:支持用户管理、资源共享、作业调度、故障恢复等功能
模型预测:支持一键部署深度学习模型在线预测服务。
机器学习工作流和控制中心是我们在规范机器学习工作流程的设计成果,系统化的标准流程能极大提升机器学习开发效率和业务迭代速度。
深度学习模型训练集群和模型在线预测服务是我们在深度学习模型训练、模型预测的集群化、服务化方面的系统产出,是保障模型效果和业务效果的基础。