2018 年,由美国国家能源研究科学计算中心 (NERSC) 与 NVIDIA组成的联合团队取得了一项突破性成就。他们成功将一种科学严谨的深度学习应用扩展至 27000 多个NVIDIA V100Tensor 核心 GPU,攻克了此过程中百亿亿次运算的难关。凭借该项成就,研究团队由此斩获高性能计算领域的最高奖项ACM 戈登贝尔奖。除 2018 年的技术论文与新闻稿之外,我们还将在本文中探讨这项成就对 AI 领域产生的深远影响,以及未来面临的开放性挑战。
由伯克利实验室与橡树岭国家实验室各自领导的两个研究团队共享 2018 年 ACM 戈登贝尔奖
深度学习软件:性能与生产力
低级工具能为开发者带来精确度,高级工具则可提高工作效率,这二者之间总存在一个折衷点。我们已为此找到解决方案。在本次项目中,我们用高效的 Python 和 TensorFlow 表示网络架构与整体的应用工作流。TensorFlow 反过来会利用在 C 和 C++ 环境中实施的例程来实现高性能,提供精确度,并解放开发者以提高其工作效率。因此,在 8 个月的时间里,我们的团队从头开始构建网络原型,并在全球最大的高性能计算 (HPC) 系统 Summit 上对其性能与扩展作出了优化。
我们相信,此项目能够展示出研究人员长期推测的 HPC 与 AI 软件堆栈的实际融合效果,即以 C/C++ 编写的高性能库 (CuDNN) 和框架 (TensorFlow),以及通过 Python 公开的高效接口。同理,我们还在 NCCL 和 MPI 中实施经高度优化且基于拓扑感知的通信集合,但通过简单高效的 Horovod 接口实现公开。展望未来,我们相信,在助力科学家及更广泛的研究社区探索更复杂架构的过程中,为混合并行模式(数据、模型、流水线)提供透明支持将至关重要。
深度学习硬件:GPU 和混合精度
本次项目利用 NVIDIA Volta GPU 来训练 DeepLabv3+ 分割网络。在混合精度模式下,Volta 上可达到的峰值性能为 125 万亿次浮点运算。该模式由 NVIDIA 通过 Tensor 核心 GPU 架构推出,可执行 FP16 精度计算并能以 FP32 精度模式累积结果。在本项目开展之前,该领域存在一个仍待解决的问题,即现实的科学应用能否利用 FP16(不损失精确度)并获得较高的峰值性能。我们的研究最终证明,对于科学领域的模式识别问题,16 位精度可能足以满足相关需求。此外,对于拥有 4000 多个计算核心的复杂应用而言,极高的峰值亦有可能实现:在规模庞大的 GPU 集群上,我们的应用实现了每块 GPU 大约 40 万亿次浮点运算的峰值性能。
我们相信,这些结果为科学应用打开了通往低精度加速器的一扇大门。虽然原始数据集可能具有高精度(64 位或 32 位),但我们或许仍可以在不损失收敛或稳定性的前提下,以低精度模式执行模式识别任务。
开放性挑战
如要在当代的 HPC 系统上实现百亿亿级的性能,我们需对所有组件仔细调优,包括硬件(CPU、GPU、NVLink、文件系统、网络互连)和软件。虽然我们的项目成功实现了大幅调优、优化和扩展,但我们想指出两项挑战,以便向行业及研究社区征求更多意见。
大规模数据管理
得益于 GPU 架构在加快计算方面取得的进展,我们现已能在单个硅处理器上畅享高于 100 万亿次浮点运算级的性能。随着 GPU 速度越来越快,向其输送数据的能力会逐渐限制性能。本次项目中,我们对 20 太字节的数据集展开分析,这实际上需要整个 Summit 系统保持每秒大约 4 太字节的 I/O 速率。Summit 上的 GPFS 文件系统根本无法胜任该项任务,在 NERSC Cori 系统的 Lustre 文件系统上执行的类似实验也以彻底失败而告终。对于这两种情况,在节点本地 NVMe上暂存数据和突发缓冲区技术便显得至关重要。
传统的 HPC 文件系统主要用于支持以写入为主的工作负载;而深度学习工作负载则属于读取密集型负载,对数据带宽和元数据操作速率要求颇高。如要支持大规模深度学习工作负载,我们可能必须先对缓存分层、分片和混编操作提供透明支持。
大规模收敛
提供深度学习解决方案的时间由两部分构成:计算扩展效率和统计扩展效率。我们的研究已经展示出卓越的计算扩展性能,并且提供了许多有关系统级注意事项的建议。一个未解决的问题是,如何使用 SGD(随机梯度下降)的其中一个收敛属性取代大批量(在本项目中,批量大小高于 27000)。
在 HPC 资源上提供高度并行性具有正反两方面作用。如要以超高并发级别在大规模资源上运行,我们需在短时间内对超参数进行调优。有关收敛算法行为的启发式方法可能会或不会继承自较小规模的运行。尽管目前对于选择各类超参数所产生效果的实证评估都很合理,但我们预计,科学界将需要更好的指导原则,以及用于解决新问题的收敛保证。
我们相信,在解决收敛问题的过程中,进一步开发 LARS 与 LARC 等新算法和潜在的高阶优化方法将是至关重要的一环。
-
gpu
+关注
关注
28文章
4700浏览量
128687 -
人工智能
+关注
关注
1791文章
46841浏览量
237521 -
深度学习
+关注
关注
73文章
5492浏览量
120970
原文标题:攀登百亿亿级深度学习之巅
文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论