英伟达“暴力碾压”谷歌:53分钟训练完BERT,2.2毫秒完成推理,

科技资讯 2019-08-14200未知admin

  原标题:英伟达“暴力碾压”谷歌:53分钟训练完BERT,2.2毫秒完成推理,创下NLP三项新纪录

  边策 发自 凹非寺

  AI硬(he)件(dan)厂商英伟达今天宣布,他们在NLP模型上取得了三大突破,为今后会话AI的落地应用铺平了道路。

  英伟达用自己的硬件与并行计算软件相结合,在BERT模型的训练和推理上创下三项世界纪录:

  今年以来,NLP领域的“军备竞赛”越来越激烈。基于Transformer架构的模型,如谷歌的XLNet和Facebook的RoBERTa,在GLUE、SQuAD这些基准测试榜单头名争夺中你方唱罢我登场。

  两大公司为了刷榜的消耗了大量的时间和计算资源。为了提高BERT的训练速度,谷歌堆上了1024块TPU,用76分钟训练出了BERT模型。Facebook用上了1024个英伟达V100 GPU。

  英伟达也不甘示弱,用1472个V100 GPU首次实现在一个小时之内训练完BERT模型。

  英伟达表示,这项研究能够帮助企业使用实时会话AI更自然地与客户互动,帮助开发人员将最先进的NLP模型大规模部署在应用程序中。

  最大的BERT模型

  如果你觉得上面的堆硬件太过暴力,英伟达也给出更低配置下的训练速度。他们在“只有”16个V100 GPU的NVIDIA DGX-2用2.8天内训练了BERT-Large,展示了英伟达GPU对于会话AI的可扩展性。

  考虑到开发人员对大型NLP模型不断增长的需求,英伟达建立并训练了世界上最大的基于Transformer的语言模型GPT-2 8B,它具有83亿个参数,是BERT-Large的24倍、GPT-2的5.6倍。

  GPT-2 8B模型使用原生PyTorch进行训练,在512 GPU上有8路模型并行和的64路数据并行。实验是在DGX SuperPOD上进行的,其基准模型为12亿个参数,适用于单个V100 GPU。在单个GPU上运行此基线模型的端到端训练pipeline可实现39 TeraFLOPS的算力,这是V100 GPU的理论峰值算力的30%。

  通过8路并行模型将模型扩展到512个GPU上的83亿个参数,NVIDIA团队在整个应用程序中实现了高达15.1 PetaFLOPS的持续性能,并且与基线%的扩展效率。

  为了研究这些几十亿参数的Transformer(变形金刚)网络,英伟达还开源了Megatron(威震天)项目。

  最快的推理速度

  上面的推理部分太过“烧钱”,而英伟达在BERT推理上取得的进步可以让普通开发者也能用上。因为现在一些实时处理的任务也开始用上了Transformer,比如语音合成(TTS)、语音识别(ASR)。

  但是Transformer在这些落地化场景中却遇到了困难。这是因为在推理部署阶段,计算性能会面临巨大的挑战。以BERT为原型的多层Transformer模型,其性能常常难以满足在线业务对于低延迟和高吞吐的要求。

  目前优化集中在编码器(encoder)的前向计算。底层由CUDA和cuBLAS实现,支持FP16和FP32两种计算模式,其中FP16可以充分利用Volta和Turing架构GPU上的张量核心单元。

  英伟达使用运行TensorRT的T4 GPU,仅在2.2毫秒内就对BERT-Base SQuAD数据集进行了推理,远低于许多实时应用的10毫秒处理阈值。

  固定句子长度为32,标准模型和裁剪模型在不同batch size下,12层Transformer在V100上实现了2倍的速度提升:

  传送门

Copyright © 2010-2020 正式龙网 版权所有  

联系QQ:1352848661