论文部分内容阅读
随着全球科技变革的推进,人工智能成为各大公司的研究热点和战略重心。TensorFlow是谷歌推出的开源机器学习框架,自开源以来便受到极大关注,是GitHub社区上最受欢迎的机器学习、深度学习项目之一。目前,TensorFlow可以在多个云平台上部署运行,但仍存在软件的依赖与管理问题,而利用Docker技术具有的快速部署与可移植等优势,通过Docker容器实现TensorFlow的虚拟化异构,可以解决TensorFlow环境依赖的问题,并为科研人员及工程师提供便捷的开发环境,具有现实的应用意义。本文通过TensorFlow与市场上其他主流深度学习框架的对比分析,针对TensorFlow在任务调度、容错等方面存在的不足,提出相应的改进优化方案;利用Docker技术拥有的资源隔离、高性能及可移植等优点,使用Docker容器部署TensorFlow,实现TensorFlow的虚拟化异构;通过构建基于Docker集群的TensorFlow深度学习系统,实现TensorFlow深度学习系统的分布式部署,提升平台数据吞吐量;并通过多GPU并行化模型训练方案,解决深度学习训练时间长的问题。本文实现了以下内容:(1)TensorFlow架构的研究与改进:对目前市场上主流的深度学习框架在不同维度上进行比较分析,进一步分析了深度学习平台TensorFlow在任务调度、容错和性能监控等方面存在的不足,并针对这些问题提出对应的优化改进方案;(2)设计Docker容器集群:通过使用Open vSwitch+GRE隧道技术实现跨主机容器间的网络通信,在此基础上构建Docker容器集群,为后续实验提供基础条件;(3)实现Docker容器集群的负载均衡:通过获取节点主机和容器的实时性能监控数据,设计与实现整个容器集群的弹性伸缩流程,根据用户设定的相关资源阈值上下限触发弹性伸缩机制,同时采用基于资源使用量的调度策略选择应用容器扩展或销毁的节点,从而提高了集群的资源调度效率和利用率;(4)数据并行训练方案设计与实现:针对原有数据并行方案通过同步或异步的方式进行模型更新操作的主从式结构并行效率低的问题,本文设计了一种环形并行结构,相比主从式结构具有更高的GPU使用效率;(5)通过对异构化TensorFlow设计测试实验并进行实验结果对比分析,证明异构化TensorFlow能有效提高计算资源利用效率,缩短深度学习训练时间,具有重要的实际应用价值。