TensorFlowAn efficient and interactive deep learning platform with TensorFlow
GPUGPUGPU talkKubernetesDockerTensorFlowwebserving
Talk Title | TensorFlowAn efficient and interactive deep learning platform with TensorFlow |
Speakers | Xiaolei Xu (上海新智新氦数据科技有限公司) |
Conference | Artificial Intelligence Conference |
Conf Tag | Put AI to Work |
Location | Beijing, China |
Date | April 11-13, 2018 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
当前深度学习已经在图像、语音、文本、游戏及人机博弈等领域获得了巨大关注和成功,但是这种成功很大程度是建立在大量数据和大规模模型的基础上。大量数据、大规模模型和深度学习自带的非凸优化特性使得深度学习的计算优化效率很大程度上制约了深度学习应用的快速发展。 通用图形处理单元(GPU)是目前深度学习不可或缺的一部分,然而单服务器可以负载的GPU是有限的。诸如Facebook可以在1小时内训练完成ImageNet数据集,但是整个过程一共使用了256块GPU。可想而知这个训练在单节点是无法完成的,因此分布式深度学习训练成了必然的选择。但是,如何快速将单机程序部署到分布式环境,如何在分布式环境中根据实际计算需求快速水平扩展,如何高效进行训练数据读取,以及如何隔离不同用户的训练资源等,这些都是实际训练过程中需要考虑并解决的问题。 因此在这里,我们基于Docker,Kubernetes和TensorFlow实现了深度学习训练的微服务化,所有的应用都通过Docker和Kubernetes进行打包部署,GPU集群资源通过Kubernetes进行调度和动态扩展。基于数据并行的TensorFlow分布式架构,我们搭建了在小样本数据下可以快速模型验证、在大训练数据和大型网络架构下可以高效训练和推断的交互式深度学习系统。该系统主要包括以下几个方面:
- 从单机训练到多机训练的快速转换。用户无需过多关注分布式的细节,只需要在单机环境调试算法性能即可; 2. 可配置、可视化的交互式训练过程。用户只需要提交相应的训练代码和分布式配置,即可一键启动分布式训练。同时可以实时监控训练日志,模型收敛性和系统资源; 3. 根据应用的数据和模型框架大小,系统可以实现计算资源的动态扩展,最大化利用计算资源。 基于该分布式深度学习系统,我们已经部署实现了基于3D图像的威胁检测、基于图像和文本的图像标注等一系列模型,这些模型均可应用于数据量大、模型架构复杂的场景。新氦的深度学习云平台为快速迭代并尝试不同深度学习模型打下了坚实基础,我们真正实现了深度学习应用的水平扩展、高可用、高效和高速训练。我们坚信,该平台也势必成为快速迭代开发深度学习应用的必备模块。