【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

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

  • 2017-09-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-09-13 19:001035
用户头像

发布了 391 篇内容, 共 125.1 次阅读, 收获喜欢 255 次。

关注

评论

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

读书笔记:《激荡三十年》下

lidaobing

28天写作 激荡三十年

生产环境全链路压测建设历程 29:FAQ 之 评估方法论、改造、痛点

数列科技杨德华

28天写作

项目管理系列(3)-如何开好一个项目启动会

Ian哥

项目管理 28天写作

Soul 网关实践 03|http 请求接入网关

哼干嘛

Java 探索与实践 Soul网关

短视频+直播=最自然的表达方式?| 视频号 28 天 (09)

赵新龙

28天写作

五种IO模型

懒AI患者

io nio AIo bio IO多路复用

28天瞎写的第二百一九天:包辆三轮车上班的日子

树上

28天写作

Soul 网关实践 02|选择器&规则介绍

哼干嘛

Java 探索与实践 Soul网关

智能building之 园区

张老蔫

28天写作

沉寂唯品会3年,毅然辞职冲刺阿里,我是怎么备战金三银四的?

比伯

Java 编程 架构 面试 程序人生

像用户一样测试:别掉链子

QualityFocus

软件测试 用户体验 回归测试

如何通过即构小程序组件实现直播带货功能?

ZEGO即构

小程序 直播带货

区块链介绍

v16629866266

区块链

深入理解nodejs中的异步编程

程序那些事

多线程 nodejs 异步编程 程序那些事 回调

创业失败启示录|校园微生活之留学生面对面

阿萌

28天写作 创业失败启示录 青城

低代码是在炒概念,炒得不错

Justin

低代码 28天写作

重学JS | 箭头函数为什么不能用做构造函数?

梁龙先森

面试 大前端 编程语言 28天写作

[6/28]产品业务数据分析的质量实践

L3C老司机

【Mysql-InnoDB 系列】事务提交过程

程序员架构进阶

MySQL 架构 innodb 事务 28天写作

【CSS】文字特效(text-shadow)

德育处主任

CSS css3 html/css CSS小技巧 28天写作

架构师训练营 - 第三周作业

Mark

CMS系统——登录功能

程序员的时光

程序员 七日更 28天写作

日语复习 Day02【~あっての】

IT蜗壳-Tango

程序员 七日更 日语语法

正则表达式匹配ini文件的section

老王同学

Java 程序经验小结:接口只用于定义类型

后台技术汇

28天写作

【计算机内功修炼】六:10张图让你彻底理解回调函数

码农的荒岛求生

异步 同步 异步IO 回调函数 异步编程

从硅谷到小米,崔宝秋的25年开源人生

李忠良

28天写作

想象力,科幻与其他「关于科幻 8/28」

道伟

28天写作

胆大无险,脚踏实地

.

28天写作

早上听了一场关于财富的线上专题分享

熊斌

财富自由 28天写作

2021年“区块链+”将会如何发展?

CECBC

区块链

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