您的位置:首页 > 成功案例

解决方案 - 利用NVIDIA vGPU技术打造深度学习教学平台

发布者:特盛

1   深度学习实验室建设的意义和背景


      l 人工智能人才市场需求量大

有预测在2018年百分之八十的企业将部署人工智能产业链,国家和企业都需要大量的人才补充,而我们的高校和职校还没有建立完整的教育课程和实践环境。

l资源相对集中,个人无法承受

由于GPU相对昂贵,普通学生无法承担,往往是学校的超算中心和部分教授有购买力,但是深度学习框架大量开源,学生有能力自学理论知识但无实践环境来检验自学效果。虽然有部分师生用消费级卡来实验,但是这与企业的使用环境相去甚远。

l校级GPU平台资源浪费、管理困难

大多数学校发现校级GPU计算资源被初学者占用,往往导致真正科研计算任务匮乏计算资源,基于Docker环境的计算管理环境常常发生计算资源抢占现象,让管理者应接不暇各种投诉。管理者非常需要了解GPU的使用情况。

l人工智能教师队伍缺乏,教程不系统

虽然人工智能教材不断涌现,但是学校的这方面的师资队伍还处于建设初期,教师没有经过系统的学习和实践过程。


2   NVIDIA深度学习解决方案

NVIDIA深度学习解决方案是NVIDIA公司推出的基于NVIDIA GPU虚拟化以及NVIDIA Docker技术,再配合NVIDIA深度学习学院培训体系的一体化人工智能实验室解决方案。该方案采用以用户为中心的计算模式、按需向用户提供GPU资源、框架资源、深度学习环境。保障用户对GPU资源的独享,保证用户获取足够的自由度和较高的用户体验,同时满足集中管理和数据安全的需求,灵活和快速部署实验环境。

NVIDIA GPU虚拟化解决方案最新的Virtual GPU 5.0版本为GPU虚拟化带来了新的环境实现,支持在GPU虚拟环境下的深度学习框架的搭建和计算,是教育单位的人工智能实验室得以实现的重要技术平台。

    

2.1  深度学习实验室方案架构

从架构图来看整个方案由以下几个核心组件构成:

·      NVIDIA Tesla GPU P40

·      服务器虚拟化平台

·      NVIDIA Virtual GPU 软件(QuadrovDWS版本)

·      NVIDIA Docker

·      深度学习框架(Framework

 

通过整个架构图我们可以看到,单台服务器配合单片Tesla P40GPU卡最大可以支持24vGPU的实例,每vGPU配置1GB显存(P40-1Q)。所以单台服务器最大可用支撑24个用于教学的深度学习环境。


NVIDIA Virtual GPU 软件(Quadro vDWS版本)

我们在服务器虚拟化平台,通过NVIDIA Virtual GPU软件对GPU计算资源进行切割,按需求进行分配,依托NVIDIA Docker技术快速部署各种深度学习实践环境,包括Ubuntu操作系统和框架,用户通过笔记本、PC进行连接,进行AI实验、模型实践和推演产品的互动教学和体验。目前Tesla所有的P系列在Virtual GPU 5.0上支持虚拟化,并且vGPU同时支持图形计算以及人工智能应用。

 

NVIDIA Docker

Docker是用户在部署人工智能训练平台的时候最常用的解决方案其快速的应用程序部署功能非常适合于深度学习框架的部署。常见的基于Docker部署的应用主要以CPU应用为主,而所有的深度学习框架更适合使用GPU进行训练,可以提供更高的训练效率和准确度。如果在不使用NVIDIA Docker的情况下,Docker无法直接调用GPU且对容器和底层操作系统的GPU驱动有版本一致的要求。也就是说无法实现底层硬件无关性的要求,这是和Docker本身倡导的可移植性相违背的,也给用户在使用过程中带来了不便。

通过NVIDIA Docker(基于DockerPlug-in)技术,可以实现在容器中便利的使用NVIDIA GPUNVIDIA Docker主要有以下优势:

·      实现底层GPU设备的硬件无关性

·      可以在容器中运行多个版本的NVIDIA驱动和CUDA版本


NVIDIA Tesla GPU

NVIDIA Tesla并行计算架构从G80架构,经历了FermiKeplerMaxwellPascal,每一代架构更新都带来产品工艺、计算能力、存储带宽等方面的巨大提升,与CPU相比GPU发展更快,具有更强大的计算能力。

NVIDIA Tesla GPU专为数据中心设计,许多CUDA软件特性都是专为GPGPU而设计的。目前所有的Tesla P系列GPU都可以支持虚拟化,通过虚拟化解决方案可以实现GPU资源的按需切割和细颗粒度管理,提升GPU卡的资源利用率。

NVIDIA Tesla P40

在众多的Tesla GPU中我们为什么采用P40做为搭建深度学习实验室解决方案的首选GPU呢?

NVIDIA Tesla P40 的主要目的是为深度学习部署提供更大的吞吐量。每个GPU 可带来 47 TOPS(万亿次运算/秒)的推理性能和 INT8 运算能力,使得一台配备Tesla P40 服务器可提供相当于超过 140 CPU 服务器的性能。


随着模型的准确性和复杂性越来越高,CPU 已经无法再提供互动用户体验。Tesla P40 可在极其复杂的模型中实现实时响应,能够降低延迟,将性能提升为CPU  30 倍以上。

NVIDIA Tesla P40 加速器的特性和利益点

Tesla P40 配备新的 Pascal 架构,可带来超过47 TOPS 的深度学习推理性能。在处理深度学习工作负载方面,一台使用 8  Tesla P40的服务器最多可替代 140 台只使用 CPU 的服务器,因而可以大幅提升吞吐量并降低购买成本。

目前,深度学习模型在 GPU 服务器上接受训练,但在 CPU 服务器上部署,以便进行推理。Tesla P40 提供极简工作流程,因此组织可以使用相同的服务器进行迭代和部署。

Tesla P40 具备 INT8 运算能力,可在极其复杂的深度学习模型中实现实时响应,能将推理性能速度提升高达 30 倍。

通过 NVIDIA 深度学习 SDK 中所包含的 TensorRT 以及 DeepStream SDK,客户可以轻松顺畅地利用新 INT8 运算能力和视频转码等推理功能。


深度学习框架

深度学习框架是为了更轻松、高效地研究和应用深度学习。目前主流的深度学习框架都很好的支持GPU加速。使用框架的主要好处包括:

·      框架可专门为深度神经网络(DNN)训练所需的计算提供支持高度优化GPU的代码NVIDIA 的框架经过调优和测试,可提供非常出色的 GPU 性能

·      借助这些框架,用户可以通过简单的命令行或Python 等脚本语言接口访问代码。

·      许多功能强大的 DNN都可通过这些框架来训练和部署,而无需编写任何

GPU 或复杂的编译代码,与此同时仍从GPU 加速带来的训练速度提高中受益


3   AI专业教师资源培养

通过NVIDIA的深度学习学院,可以为学校培养AI专业教师,教师可以叠加人工智能概念及基本知识、深度学习的技术和算法等,架构学校自身教学和实验内容。学校建立系统的AI教学课程也得以实现。

4  方案优势

4.1  常见深度学习实验室解决方案对比

传统的PC+独立GPU卡的方式部署整个深度学习的教学环境,学校的实训教室管理人员无法对GPU资源进行管理,每用户完全独占当前PCGPU资源。即使出现部分用户GPU资源不足,而另一部分用户GPU资源闲置的情况,我们也无法进行按需的调整。而GPU虚拟化解决方案把GPU部署在数据中心,此GPU具备比前端PC上使用的GPU更强的计算能力,我们可以按照用户的实际需求对GPU资源进行切割和调整,从而实现GPU资源的最大化利用。

 

GPU虚拟化解决方案出现之前,多数用户采用Docker的方案来实现对GPU资源的使用和共享,然而完全基于Docker方式构建的深度学习实验室方案在资源隔离、监控管理、对多种GPU负载的支持存在很大的问题,所以在教学环境场景也不是最佳的选择。

利用NVIDIA深度学习实验室解决方案可以方便制作针对Docker软件环境模板,通过模板可以实现深度学习教学环境的批量创建、更新以达到快速部署的目的。深度学习框架的更新均可在模板虚拟机中完成,更新完成后通过模板进行快速复制,大大简化了用户教训环境的配置和部署。同时提供完善的GPU监控功能,对服务器上的物理GPU和虚拟机中的vGPU(包括在其上运行的进程)的GPU资源占用情况进行实时数据统计,并能反映目前物理机、虚拟机的资源瓶颈。