Presented By O’Reilly and Intel AI
Put AI to work
April 10-11, 2018: Training
April 11-13, 2018: Tutorials & Conference
Beijing, CN

基于TensorFlow的高效交互式深度学习平台及应用(An efficient and interactive deep learning platform with TensorFlow)

此演讲使用中文 (This will be presented in Chinese)

Xiaolei Xu (上海新智新氦数据科技有限公司)
14:5015:30 Thursday, April 12, 2018
实施人工智能 (Implementing AI), 模型与方法 (Models and Methods)
Location: 多功能厅6A+B(Function Room 6A+B) Level:
Secondary topics:  AI应用的硬件、软件栈(Hardware and Software stack for AI applications), 设计AI平台(Designing AI platforms)

必要预备知识 (Prerequisite Knowledge)

与会者最好具有一定的机器学习和深度学习基础,了解基本的深度学习处理框架,诸如TensorFlow;对Docker,Kubernetes有基本概念和了解,对分布式有一定的经验。

您将学到什么 (What you'll learn)

可以了解基于云计算深度学习应用的基本组成,学习如何从0开始构建分布式深度学习平台,以及如何快速将单点的深度学习应用部署成分布式并进行高效训练和优化。

描述 (Description)

当前深度学习已经在图像、语音、文本、游戏及人机博弈等领域获得了巨大关注和成功,但是这种成功很大程度是建立在大量数据和大规模模型的基础上。大量数据、大规模模型和深度学习自带的非凸优化特性使得深度学习的计算优化效率很大程度上制约了深度学习应用的快速发展。

通用图形处理单元(GPU)是目前深度学习不可或缺的一部分,然而单服务器可以负载的GPU是有限的。诸如Facebook可以在1小时内训练完成ImageNet数据集,但是整个过程一共使用了256块GPU。可想而知这个训练在单节点是无法完成的,因此分布式深度学习训练成了必然的选择。但是,如何快速将单机程序部署到分布式环境,如何在分布式环境中根据实际计算需求快速水平扩展,如何高效进行训练数据读取,以及如何隔离不同用户的训练资源等,这些都是实际训练过程中需要考虑并解决的问题。

因此在这里,我们基于Docker,Kubernetes和TensorFlow实现了深度学习训练的微服务化,所有的应用都通过Docker和Kubernetes进行打包部署,GPU集群资源通过Kubernetes进行调度和动态扩展。基于数据并行的TensorFlow分布式架构,我们搭建了在小样本数据下可以快速模型验证、在大训练数据和大型网络架构下可以高效训练和推断的交互式深度学习系统。该系统主要包括以下几个方面:

1. 从单机训练到多机训练的快速转换。用户无需过多关注分布式的细节,只需要在单机环境调试算法性能即可;
2. 可配置、可视化的交互式训练过程。用户只需要提交相应的训练代码和分布式配置,即可一键启动分布式训练。同时可以实时监控训练日志,模型收敛性和系统资源;
3. 根据应用的数据和模型框架大小,系统可以实现计算资源的动态扩展,最大化利用计算资源。

基于该分布式深度学习系统,我们已经部署实现了基于3D图像的威胁检测、基于图像和文本的图像标注等一系列模型,这些模型均可应用于数据量大、模型架构复杂的场景。新氦的深度学习云平台为快速迭代并尝试不同深度学习模型打下了坚实基础,我们真正实现了深度学习应用的水平扩展、高可用、高效和高速训练。我们坚信,该平台也势必成为快速迭代开发深度学习应用的必备模块。

Photo of Xiaolei Xu

Xiaolei Xu

上海新智新氦数据科技有限公司

徐小磊,目前就职于新智新氦科技有限公司,担任算法工程师。新氦科技是新智集团下属,上海的一家大数据基础架构公司。徐小磊目前主要负责新氦深度学习云平台的搭建和基于深度学习,深度强化学习的自然语言处理应用研发工作。