智东西(公众号: zhidxcom)
编 | 智东西内参

AI算法的发展衍生出各种各样的深度学习软件,复杂的软件环境使得安装、测试、调优、维护的步骤繁琐且耗时长,加上版本变化快速的深度学习开源框架,令无数开发者饱受为大量琐碎部署和维护工作的煎熬。

在这样的背景下,NVIDIA推出针对深度学习和科学计算优化的GPU加速云平台NVIDIA GPU Cloud(NGC),通过免费提供NVIDIA优化的深度学习框架和HPC应用软件镜像,让用户不再需要自己动手做软件集成,不需要自己调试,就能快速实现深度学习常用软件和应用的部署。

NGC让开发者不再受限于台式机和服务器,还可以在云端快速开启深度学习和高性能计算之旅,而且没有升级版本的后顾之忧。如今阿里云、谷歌云、AWS、微软Azure等主流云服务提供商均已支持NGC。

本期的智能内参,我们对NVIDIA GPU Cloud加速医学影像机器学习模型开发及应用部署白皮书进行解读,看NVIDIA GPU Cloud如何将医疗AI开发者从低效繁复的软件部署和优化流程中解放出来,分分钟就能上手做开发。如果想查阅此白皮书《NVIDIA GPU Cloud加速医学影像机器学习模型开发及应用部署》,可直接点击左下方的“阅读原文”下载。

一、搭建服务器步骤繁琐,开发者深受其痛

人工智能(AI)正在快速渗透医疗健康领域,带动了医疗界对实现精准医疗的空前热情。一批企业开始在医学影像AI的研发与应用中投入极大的热情,翼展医疗集团亦是佼佼者之一。

为了推动AI落地医疗,翼展打造了人工智能开放协作平台,然而搭建服务器的道路却有些复杂。

起初,因为能提供GPU实例的公有云厂商还很少且相对性价比不高,翼展选择自己采购硬件搭建服务器,然而令多数开发者头大的难题接踵而至。

首先是不同驱动版本的兼容问题。在配置一台双Titan X卡的工作站后,翼展按照网上教程开始一步步安装,ubuntu、NVIDIA显卡驱动程序、CUDA、cuDNN,结果最后编译Caffe时,才发现库版本不对。一切安装流程又要重新来过,足足耽搁了一周才开始模型训练。

其次是运维中的机时分配问题。翼展在上8卡服务器时,选择将操作系统和底层驱动都交给第三方厂商来配置好,但团队成员及项目的增加给运维带来新的挑战——每个成员的项目和使用的模型不同,底层依赖的框架版本也不一致。

当时应对这一问题,翼展设置了严格的规章制度来划分用户空间,并随后选用公有云的GPU实例,但在公有云上安装配置好环境依然花费了不少时间。

最后是框架和库版本的更新问题。机器学习框架版本快速迭代,不同模型依赖的框架和库版本不同,致使手工式的管理方式难度越来越大。

而NVIDIA GPU Cloud(NGC)的出现让这些问题迎刃而解。

如今,像翼展这样借助NGC高效开展深度学习的案例比比皆是。除了医疗健康之外,NGC在深度学习和高性能计算快速生长的自动驾驶、医疗健康、金融服务等领域正在大面积铺开。

二、开箱即用的NGC容器,极简步骤加速模型开发

在去年台北举办的GTC上,NVIDIA创始人兼CEO黄仁勋表示,截至当时,已经有2万家公司已经下载了NGC。深受开发者欢迎的NVIDIA GPU Cloud(NGC)究竟是什么?它又是如何做到简化部署流程呢?

NGC是一个针对深度学习和科学计算优化的基于GPU加速的云平台,但不同于传统的云平台,NGC更像是提供一个定期更新和优化的容器仓库,供用户免费下载使用其中的容器。

容器即是对软件依赖库进行打包封装,可以实现软件环境的有效隔离,方便用户快速部署自己所需的软件。

拯救开发者噩梦的NVIDIA云端神器!2万家企业已经受益

▲NVIDIA GPU Cloud平台

目前NGC包括45个容器镜像,包含NVIDIA优化的主流深度学习框架、第三方管理的高性能计算(HPC)应用程序和HPC可视化工具,以开箱即可用的方式交付用户。

NVIDIA每月都会对NGC上的库、驱动和容器进行优化,并在深度学习框架基础上提供一系列高性能计算可视化应用容器,以其可重复性和可移植性,方便用户在最短时间内启动和运行。

NGC使用步骤非常简单,在官网注册用户、生成访问NGC的Key并登陆后,就可以在NGC平台下载到主流深度学习框架、开源HPC应用软件和可视化软件的容器镜像,通过运行一个docker pull命令免费下载。

如果用户不想使用容器,还可以将容器中编译安装好的软件拷贝到物理机上运行,同样可以节省软件安装和编译的时间。

拯救开发者噩梦的NVIDIA云端神器!2万家企业已经受益

▲NVIDIA GPU Cloud支持的基础设施类型

当前支持NGC的基础设施包括NVIDIA DGX系统,NVIDIA TITAN和Quadro GV100,HPC集群,以及亚马逊AWS、阿里云、谷歌云、微软Azure、Oracle云等部分云服务提供商。

NGC还具备良好的可移植性,开发者可以将代码推送至后端环境,从而从一种基础设施迁移到另一种基础设施中。

通过使用NGC提供的容器镜像,用户无需进行复杂的搭建环境工作,无需自己做软件集成和调试,亦不必依靠系统管理员来安装各种工具,即可快速部署自己想要的应用,进行深度学习开发。另外 ,NGC连接公网的位置均可访问,只要没有做一些防火墙的隔离,用户也无需担心受限问题。

三、NGC进化中的两大亮点

NGC为开发者节省下部署软硬件所需的数周时间,使其分分钟可以开始深度学习研发工作。为更好的辅助开发者,NGC平台有两大亮点加持,即持续新增的容器目录和自定义容器功能。

1、更多容器领域

自2017年推出以来,NGC容器扩展迅速,如今,NGC有21个深度学习框架,14个HPC容器,6个可视化容器和4个基础架构。方便初学者了解深度学习全流程的DIGIST容器也在其中。

NGC容器注册表包括NVCaffe、Digits、TensorFlow、MXNet、CUDA等十余种最常见框架的NVIDIA GPU加速版本,这些框架的必要相关项都被NVIDIA进行了调整、测试和验证。

除了深度学习框架,NGC提供一系列高性能计算(HPC)应用程序的容器,保证所有库、编译程序和应用程序的相关项都为最新版本且与集群匹配的问题,让用户在集群上可以方便地运行 HPC 应用程序。

此外,NGC还提供了便于访问可视化工具的 HPC 可视化容器,这对工程和科学用例非常必要。 HPC 可视化容器包括集成了NVIDIA Index立体渲染的ParaView、NVIDIA IndeX大批量渲染器、NVIDIA Optix光线追踪工具和NVIDIA Holodeck和减低远程可视化延迟的NVEnc等,以实现交互性实时可视化和高质量视觉效果。

2、自定义容器功能

NGC的每个框架容器镜像还包含了框架源代码,支持用户自定义修改、增强功能和完整的软件开发展。

用户还可将自研AI应用发布为NVIDIA-Docker镜像,既可以简化应用部署,又可与工程团队其他项目共用一套持续集成及运维的流程。对于技术实力比较强的开发者来说,可以尝试自己搭建调优。

随着NGC功能的扩展,更多开发者可以在NGC的帮助下快速使用一个高性能的版本,实现个性化的深度学习或高性能计算方面的研发。

智东西认为,和直接在物理机上运行软件相比,NGC可以帮助开发者节省软件安装编译和部署的过程,规避软件依赖、管理、调优带来的繁复问题,并通过跨环境移植深度学习作业减少扩展AI工作负载所需的凯旋,从而更加高效地搭建深度学习环境,最大化NVIDIA GPU使用效率。

在AI开发如火如荼进行的当口,节约时间成本和提升计算效率都至关重要,在这一方面,NGC正走在前列,为更多开发者和企业简化环境部署和软件集成步骤,使他们能将更多时间集中于开展深度学习研究,推动更多研究成果的创造。

如果想查阅此白皮书《NVIDIA GPU Cloud加速医学影像机器学习模型开发及应用部署》,可直接点击左下方的“阅读原文”下载。