写点什么

Amazon Web Services 为 BERT 和 Mask R-CNN 实现了最快的训练速度

  • 2020-04-05
  • 本文字数:2393 字

    阅读完需:约 8 分钟

Amazon Web Services 为 BERT 和 Mask R-CNN 实现了最快的训练速度

BERT 和 Mask R-CNN 都是如今最流行的机器学习模型,前者用于自然语言处理 (NLP),后者用于图像识别。过去几个月来,AWS 大幅改进了底层基础设施、网络和机器学习 (ML) 框架和模型代码,从而实现了这两个模型训练速度的提高。现在我们可以宣布在云中实现了迄今最快的 TensorFlow、MXNet 和 PyTorch 框架的训练速度。借助这些硬件和软件优化,您现在可以以同样的速度和效率训练您的模型。


模型训练时间的长短会直接影响到模型的迭代能力,以及快速提高模型的准确度。减少训练时间的主要是通过大型 GPU 实例集群来做分布式训练,但这必须以高效的方式进行。如果把训练任务分布到太多实例上,由于实例之间的通信反而会消耗集群的 GPU 计算资源,分布式集群带来的好处往往不太明显。

BERT

BERT (Bidirectional Encoder Representations from Transformers)作为流行的 NLP 模型,发布时就在 NLP 领域的多个方向刷新了精度。


Amazon EC2 P3dn.24xlarge 实例拥有 8 个 NVIDIA V100 GPU,在单个实例上使用 TensorFlow 和 PyTorch 从头开始训练 BERT 模型需要数天时间。借助 Elastic Fabric Adapter (EFA) 可以将单台实例高效扩展至更多 P3dn.24xlarge 实例,并优化该模型在大型集群上的收敛方式,我们成功将训练时间从数天缩短到 60 分钟左右。在编写本文之时,这是在云上训练 BERT 模型最快的速度,并且达到了极佳的目标准确度(基于 BooksCorpus 和英文版维基百科训练后,在 Squad v1.1 任务上的 F1 得分为 90.5 或更高)。


对于 TensorFlow,我们尝试了前所未有的扩展,在 256 个 P3dn.24xlarge 实例上使用了 2048 个 GPU,在 62 分钟内就完成了 BERT 的训练。对于 PyTorch,我们扩展到 192 个 P3dn.24xlarge 实例、1536 个 GPU,将训练时间缩短到 69 分钟。通过优化用于训练 BERT 的全部硬件和软件,我们达到了 85% 的扩展效率,确保了在扩展到更多 P3dn.24xlarge 节点时,框架可以最大限度利用来自 GPU 的额外计算能力。下表总结了这些改进。

Mask R-CNN

Mask R-CNN 是一个使用十分广泛的图像分割模型,用于自动驾驶、动作捕获以及其他需要复杂对象检测和区分能力的场景。


对于 MXNet、PyTorch 和 TensorFlow,在单个 P3dn.24xlarge 实例(8 个 NVIDIA V100 GPU)上训练 Mask R-CNN 模型需要大约 6 个小时。我们将 MXNet、PyTorch 和 TensorFlow 的训练时间从 6 个小时缩短至大约 25 分钟。我们将所有三个 ML 框架上的 Mask R-CNN 训练扩展到 24 个 P3dn.24xlarge 实例(共 192 个 GPU)。您现在可以快速进行迭代并每天运行多个试验,无需等待数天才能获得结果。在写本文的时候,这是云中最快的 Mask R-CNN 训练速度,目标准确度也极高(利用 COCO2017 数据集训练时为 0.377 Box min AP、0.339 Mask min AP)。下表总结了这些改进。

技术堆栈

实现这些结果需要优化底层硬件、网络和软件堆栈。在训练 BERT 这样的大型模型时,所使用的众多 GPU 之间的通信会成为一个性能瓶颈。


在分布式计算(例如大规模训练)中,AllReduce 运算会规约来自不同工作线程(GPU)的阵列(在此例中为神经网络的参数)并向所有工作线程(GPU)返回结果阵列。GPU 在每次迭代后集体执行一次 AllReduce 运算。每次迭代都由通过网络的一次正推和一次逆推组成。


在 GPU 上执行 AllReduce 的最常用方法是使用 NVIDIA 集合通信库 (NCCL) 或 OpenMPI or Intel MPI 库等 MPI 库。这些库专为异构集群设计。AllReduce 会在训练网络的相同实例上发生。在异构集群上执行 AllReduce 算法,对于每个 AllReduce 运算,每个工作线程需要分别发送和接收两次大约等于模型大小的数据。例如,BERT 的 AllReduce 运算(拥有 3.4 亿个参数)涉及两次发送大约 650MB 的半精度数据,然后两次接收同样数量的数据。这种通信需要在每次迭代完成后进行,将很快成为大多数模型训练的瓶颈。


AllReduce 算法的选择通常取决于网络架构。例如,Ring-AllReduce 非常适合每个节点都连接到两个相邻节点,从而形成一个环的网络。Torus AllReduce 则适合每个节点都连接到四个相邻节点,从而形成一个二维矩形晶格的网络。AWS 使用更为灵活的互联架构,任何节点都能够以全带宽与任何其他节点通信。例如,在一个具有 128 个 P3dn 实例的集群中,任何实例都能够以 100Gbps 的带宽与任何其他实例通信。


此外,100Gbps 的互联带宽也不局限于 P3dn 实例。您可以向集群添加 CPU 优化型 C5n 实例,并仍然保持任何节点对之间 100Gbps 的互联带宽。


AWS 互联架构的这种高度灵活性,需要一种能够完全利用 AWS 互联架构的独特优势的 AllReduce 算法。为此我们开发了自定义的 AllReduce 算法,该算法专为 AWS 网络优化。这种自定义的 AllReduce 算法可以利用异构集群中任何节点对之间高达 100Gbps 的互联带宽优势,并且将每个工作线程收发的数据量减少了一半。AllReduce 算法的计算阶段交由计算优化型 C5 实例执行,从而得以将 GPU 释放出来,以更快地计算梯度。由于 GPU 不再执行规约运算,梯度的发送和 AllReduce 后梯度的接收可以并行进行。AllReduce 梯度需要的跃点数量减少至两个,而在同构 AllReduce 算法中,跃点数量会随着节点数量的增加而增加。由于与仅使用 P3dn 节点的训练相比,训练速度大大提升,总成本也得以降低。

小结

在使用 BERT 和 Mask R-CNN 进行测试时,结果相比单节点执行方案的改进十分明显。随着 P3dn 节点的数量从 1 个实例增加到 16、32、64、128、192 和 256 个实例,吞吐量基本达到线性同步扩展,并最终通过扩展到更多的 P3dn.24xlarge 实例,帮助减少了模型训练时间,而成本并未增加。通过这些优化,AWS 现在可以在云中为先进的计算机视觉和 NLP 模型提供更快的模型训练速度。


立即开始在 Amazon SageMaker 上使用 TensorFlow、MXNet 和 PyTorch 吧。


本文转载自 AWS 技术博客。


原文链接https://amazonaws-china.com/cn/blogs/china/amazon-web-services-achieves-fastest-training-times-for-bert-and-mask-r-cnn/


2020-04-05 08:00729

评论

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

想要激活孩子潜在力量,家长必做的一件事

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

大模型还能产生幻觉?一文讲清楚原理和解决方法

敏捷开发

AI AIGC GPT LLM 大模型幻觉

写不好代码注释?这份注释指南一定要收好!

敏捷开发

程序员 敏捷开发 软件开发 代码注释 代码规范

望繁信科技携手甫瀚咨询共建流程挖掘产业生态

望繁信科技

数字化转型 业务流程管理 流程挖掘 流程资产 流程智能

OpenAI为高级语音模式添加五种声音,已正式推出!华为发布业界首个L4自动驾驶网络|AI日报

可信AI进展

仅需6步,实现虚拟物体在现实世界的精准放置

不在线第一只蜗牛

人工智能 HarmonyOS

ETLCloud携手ClickHouse:高效的数据查询效率

RestCloud

数据库 数据处理 ETL 数据集成 Click house

AI Market创新升级:独立运营与全球首创交易模式同步亮相

科技热闻

观测云链路追踪分析最佳实践

观测云

链路追踪

构建未来电商体验:深度解析京东商品详情API的核心价值与应用

代码忍者

API 测试 pinduoduo API

基于 LangChain 的自动化测试用例的生成与执行

测试人

软件测试

《阿凡达》导演卡梅隆加入 Stability AI 董事会;Molmo 横空出世,开源多模态模型王座易位丨 RTE 开发者日报

声网

Mac苹果电脑视频下载软件推荐:Downie 4 for Mac 激活版

你的猪会飞吗

Downie 4 下载 Downie 4 Mac版 Downie 4 for mac

云桌面 + 数字人:开启直播新纪元

Finovy Cloud

mac电脑安卓设备文件传输助手:MacDroid pro for mac 特别版

你的猪会飞吗

mac软件下载 Mac破解软件 MacDroid pro

如何让Android的前端页面像iOS一样“优雅”?

阿里技术

ios 前端 异形屏 前端适配

等等,谁说我们小公司不能用IPD?

敏捷开发

项目管理 敏捷开发 IPD 集成产品开发体系

陶建辉被授予 2024 年“中国计算机学会(CCF)杰出工程师奖”,TDengine 技术创新力再获肯定

TDengine

数据库 tdengine 时序数据库

IT外包在不同行业的应用案例

Ogcloud

IT外包 IT外包公司 IT外包服务 IT外包企业 IT外包服务商

三大硬核方式揭秘:Java如何与底层硬件和工业设备轻松通信!

不在线第一只蜗牛

Java Python

百度ARM云全栈自研方案全新升级,普惠智算助力行业数智化转型

科技大数据

技术干货|热门仿真平台HyperMesh CFD功能详解:几何和网格(Part 1)

Altair RapidMiner

人工智能 智能制造 altair Hypermesh 仿真设计

通信系统仿真:飞行器集群协同控制纽带

DevOps和数字孪生

基于 LangChain 的自动化测试用例的生成与执行

霍格沃兹测试开发学社

百度输入法AI请求次数累计超4亿,「超会写」全新升级

极客天地

财务规划技术与思维的碰撞

智达方通

企业管理 全面预算管理 财务规划

数据资产管理实施路径盘点,一文读懂如何建设企业数据资产管理体系

袋鼠云数栈

宇叠科技推出UDCAP VR手套:众筹数百万,开启虚拟交互新纪元

新消费日报

【YashanDB知识库】YashanDB-OCI-快速上手

YashanDB

yashandb 崖山数据库 yashandb知识库

Amazon Web Services 为 BERT 和 Mask R-CNN 实现了最快的训练速度_文化 & 方法_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章