You need to enable JavaScript to run this app.

如何将机器翻译模型训练速度提高3倍?

最近更新时间2021.09.17 10:34:46

首次发布时间2021.09.17 10:34:46

近年来,随着计算机硬件算力提升,越来越多的机器学习、AI技术落地到了产业界当中,基于Transformer的神经网络机器翻译技术就是其中最为经典的案例之一。

为了获得高质量的翻译效果,研究人员往往会使用更大的神经网络模型,随之而来的便是更长的模型训练周期以及更大的线上推理(翻译)延迟。

火山翻译团队一直致力于这方面的优化,早在2019年12月,我们就开源了LightSeq推理加速引擎,是行业内第一个又快又好的实现,解决了翻译延迟高的问题。

而在最近,LightSeq新版训练加速引擎也终于发布了!

这次我们全流程优化了翻译模型训练过程,原先一个需要训练三天的模型,通过LightSeq加速最快一天内就能完成。不仅针对产业界,对GPU算力紧张的研究团队也可以带来很大的帮助。

image

LightSeq本次新增了如下特性:

- 支持Transformer的完整加速

LightSeq是业界第一款完整支持整个Transformer模型加速的训练引擎,包括了词嵌入层、编码层、解码层、损失函数层等高效自定义层。

至此Transformer模型从训练到推理部署的整个流程的加速都已被LightSeq打通,为科研工作者们提供了极大的便利。

- 训练速度快

LightSeq训练速度非常快。例如在WMT14 英德机器翻译任务上,利用英伟达最新的训练显卡A100,相比于主流序列生成库,LightSeq最快仅需要三分之一的训练时间。

- 功能全面,简单易用

LightSeq提供了高效的TensorFlow和PyTorch自定义层供用户灵活使用,可以自由插入到Hugging Face等主流训练库中。

除此之外,还和当前流行的训练库如Fairseq、NeurST等做了深度集成,用户在安装LightSeq后,只需要修改几个命令行参数,就能在这些训练库上使用LightSeq。

- 提供丰富的二次开发工具

LightSeq提供了完整的CUDA kernel和Transformer自定义层的单元测试功能,可以测试自定义算子的正确性,同时分析出运行时间和加速比,帮助开发者更快地验证功能的正确性和有效性。

LightSeq训练引擎通过算子运算融合、动态显存复用等技术,最多可将训练时间缩短至三分之一,提速3倍以上!详细的评测报告可以查看↓

https://github.com/bytedance/lightseq/blob/master/docs/training/performance.md

image

LightSeq新版训练加速引擎全方面提升了Transformer模型的训练速度,打通了训练和推理部署整个流程,使用灵活方便,大大缩减了科研工作者们训练模型的成本。可以期待未来像机器翻译、文本生成、摘要、对话生成、情感分析等大量NLP应用场景可以使用LightSeq来训练和推理。

LightSeq地址:

https://github.com/bytedance/lightseq

image

此外,我们还开源了火山翻译的训练引擎NeurST,深度结合了LightSeq的训练和推理加速,欢迎大家试用。

使用中遇到任何问题也可以直接通过微信公众号后台或者通过邮箱volctrans@bytedance.com与我们联系。

NeurST地址:

https://github.com/bytedance/neurst

image