写点什么

NERSC 扩展深度学习计算能力达 15 千万亿次 FLOPS

  • 2017 年 9 月 13 日
  • 本文字数:1479 字

    阅读完需:约 5 分钟

Intel 斯坦福大学美国国家能源研究科学计算中心(NERSC,National Energy Research Scientific Computing Center)近期宣布实现了首个15 千万亿次浮点运算(PetaFLOPS)计算能力的超级计算集群。该工作成果以论文发表,名为“以15 千万亿次FLOPS 运行深度学习:科学数据的监督和半监督分类”( Deep Learning at 15PF: Supervised and Semi-Supervised Classification for Scientific Data )。据论文介绍,该工作使用由 9622 个 1.4GHz Intel 至强融核(Phi)处理器所组成的集群,以物理和气象数据集为训练数据做深度学习运算,达到了11.41 至13.47 千万亿次FLOPS 的平均持久性能,峰值性能在采用单精度时达15.07 千万亿次FLOPS。实验使用的是NERSC 的Cori Phase-II 超级计算集群,该集群有9668 个节点,每个节点有68 核,每个核支持4 个硬件线程(相当于每个节点272 核),整个集群支持2,629,696 个线程。

在论文中,深度学习运算的实现组合使用了 Intel Caffe Intel Math Kernel Library (Intel MKL)和 Intel Machine Learning Scaling Library (Intel MLSL)。

论文给出的最突出贡献是达到了 75% 的扩展因子,在具有 9600 个节点的集群上取得了 7205 倍的加速。完全扩展(即 100% 扩展,或线性扩展)时可达 9600 倍的加速。

这一结果的取得要部分归功于斯坦福大学计算机科学系 Christopher Ré教授研究小组的工作。该研究小组的工作提出了对人工神经网络(ANN,Artificial Neural Network)参数同步更新和异步更新的支持。

同步屏障(Synchronisation Barrier)通常是机器学习等算法在并行化时所面对的一个严重障碍。当多个节点同步地计算一个任务时,任一节点的短暂挂机将延缓并阻塞所有计算中的节点。这在分布式系统中被为“拖后者(Straggler)效应”。困扰同步系统的另一个问题是,如果批处理的计算规模下降,那么同步系统的性能也会随之下降。在大规模并发集群中,正如上面所介绍的集群,这将构成严重的问题。百度提供的 DeepBench 基准测试框架表明,当批处理的规模下降时,峰值 FLOPS 性能可下降 25~30%。整体性能下降的时间复杂度符合 O(log(M)),其中 M 是集群中节点个数。

另一方面,异步深度学习系统需要更多次的迭代(因此也需要更多的计算)才能收敛到一个解。这是由于不好的统计效率所导致的,该问题被称为“过时”(Staleness)问题。此外,异步系统还具有无法收敛到一个解的风险。针对该问题,Christopher Ré研究小组的 Ioannis Mitliagkas 指出,在目标函数是正确的情况下,如果参数调优存在错误,很可能无法收敛。

两种模型各具缺点和高效之处,这启发研究人员引入了一种混合方法解决问题。在该方法中,数个节点组成一个小规模的计算组,同一计算组中的各个节点是同步工作的,目标是对模型做一次更新。各个计算组与一个中心化的参数服务器做异步交互,很好地利用了同步方式和异步方式。

该混合方法抑制了“拖后者效应”。相比于同步方式,它提供了至少 1.66 倍到最高 10 倍的速度增加。此外,采用该方法的系统表现出强可扩展性(strong scaling)的特性,可扩展到1024 个节点,其中同步方式在512 个节点的规模停止扩展。强可扩展性是指在保持问题规模一定的情况下增加处理器的数量,Mitliagkas 指出,强可扩展性是机器学习问题中的常见用例。

该算法已进一步用于解决实际的科学问题。一个应用就是学习如何从背景事件中分离出罕见的新粒子信号,该应用可用于理解宇宙的本质。其它的应用还包括气象数据中的特性识别,这使得研究人员可以标定气候改变中发生极端气候的频率和强度。

查看英文原文: NERSC Scales Scientific Deep Learning to 15 Petaflops

2017 年 9 月 13 日 19:00842
用户头像

发布了 388 篇内容, 共 107.0 次阅读, 收获喜欢 245 次。

关注

评论

发布
暂无评论
发现更多内容

比特币为什么值两万亿?

Haiyung

比特币

你的c++团队还在禁用异常处理吗?

泰伦卢

c c++ C#

亲密爱人

Janenesome

爱情

任何事物当中的百分之九十都是垃圾?

池建强

互联网 信息噪声

Java开发架构篇:初识领域驱动设计DDD落地

小傅哥

设计模式 领域驱动设计 DDD 小傅哥 架构设计

如何成为一名具备产品思维的软件工程师?

顾强

产品 开发者 职场

生活就是这么讽刺,有时候你嘲笑他,有时候你想成为他......

代码诗人

中年危机 文艺 短片小说

如何设计一款“高可用高性能”的发号器?

捉虫大师

Java 高可用 发号器 高性能 raft

从Deepl说起,聊一聊未来的“安全职业”

孤岛旭日

程序员 AI 职业

SQL 生成斐波那契数列

zero

sql 斐波那契 MySQ

2020年5月19日 Java并发编程专题

瑞克与莫迪

Java

程序员的晚餐 | 5 月 19 日 蒜香鸡腿,味道令人惊讶

清远

美食

为什么window.open只是打开了一个空白页

阡陌r

Java 踩坑 网络协议

Android | Tangram动态页面之路(四)vlayout原理

哈利迪

android

「Postman教程 」功能介绍-1

Megatron7

测试 Postman

实现一个比LongAdder更高性能的计数器有多难?

捉虫大师

Java jdk LongAdder

关于键盘的一些事

BabyKing

vim 缓存 键盘 快捷键 karabiner

回“疫”录(21):你这样做的样子真丑

小天同学

疫情 心理 回忆录 现实纪录 纪实

工信部报告显示:电话越打越少 、短信越发越多……这是怎么回事?

赵新龙

短信 工信部

520 我用算法帮女朋友的闺蜜选男友

cherubines

Python 算法 数据分析 蒙特卡洛 最优解

奇怪知识点系列:Office 365 CDN 揭秘

手艺人杨柳

Office 365 Microsoft 365 SharePoint Online

Kubernetes时代的云容器平台:各家云产品模式逐渐丰富

韩超

腾讯云 阿里云 Kubernetes IaaS PaaS

《零基础学 Java》 FAQ 之 9-Java里的各种数据类型占用多少内存空间

臧萌

Java

看完这篇 HTTPS,和面试官扯皮就没问题了

cxuan

https

编辑距离的计算

zikcheng

算法 编辑距离

视频 | 5款免费翻译软件实测对比,从花花董花花的被删微博到北京话“你丫给我站住了”都能翻译

赵新龙

翻译

谁能让你安稳

Neco.W

工作 稳定性 努力工作

比特币是新生事物吗?

Haiyung

比特币

「Postman教程 」接口测试-2

Megatron7

测试 Postman

Oracle 数据恢复一例

wong

oracle windows dbf

SQL 找出 100 以内的质数

zero

sql MySQ

NERSC扩展深度学习计算能力达15千万亿次FLOPS_架构_Alex Giamas_InfoQ精选文章