论文部分内容阅读
随着近几年信息技术与大数据的高速发展,人工智能在变得越来越火热的同时,也取得了良好的发展。但是研究人员在模型训练过程中常常会遇到一些问题,如计算资源包括但不限于CPU、内存、显卡等的利用率较低,或者因为某些人为因素导致机器环境的不稳定,最后导致其它研究人员无法使用等问题时有发生。于是本文基于上述原因尝试提出基于云计算的人工智能训练平台。本文首先对目前云计算的发展现状、虚拟化技术、容器化技术、容器调度方案等关键技术和国内外人工智能训练平台的发展现状进行了研究。然后通过深入对比分析各个容器调度方案的优缺点,确定了本文将采用目前最为流行的云计算组合Docker容器化技术+容器调度方案Kubernetes为基础搭建人工智能训练平台。然后本文根据目前实际应用场景对平台的需求以及可行性进行分析,并以此为基础提出了平台的整体架构方案。最后在完成平台基础功能的基础上,对平台中涉及到的存储环境进行研究,确定存储方案Ceph分布式文件系统,并对该文件系统进行优化。本文主要的工作内容如下:1)通过对人工智能训练平台的存储环境进行分析,对比NFS文件系统和Ceph文件系统的性能优劣,本文最终选择基于Ceph文件系统作为存储媒介。并基于网络层的优化对Ceph的性能进行调优,经过实验测试优化后的传输速度为原速度的2.6倍,进而将人工智能训练模型的迭代时间大幅缩短。2)通过对人工智能训练平台的资源调度需求进行分析,本文基于Kubernetes的基础调度算法进行扩展,提出新的预选策略PodChoiceFitResources和优选策略MaxResourceUsagePriority。并以实际应用证明了新的调度算法不仅可以准确的将待调度的Pod调度到目的节点,而且还可以在资源不变的前提下有计划的增加任务数量,保证平台整体任务运行时间的不变甚至缩短。3)通过对人工智能训练平台运营管理功能的分析,本文基于目前最为成熟的两种开源方案:Heapster+InfluxDB+Grafana和Prometheus提出新的管理组合:Prometheus+Grafana,以此来对平台的资源进行监控以及必要的资源报警。4)搭建实现了一个人工智能训练平台,通过对平台实际功能的实验检测,如镜像搭建,资源申请,建立容器等操作,验证了平台能够合理、高效的对资源进行分配。