中文

ByteTransformer:针对变长输入优化的高性能 Transformer

机器学习 2023-02-21 v4

摘要

过去十年中,Transformers 已成为自然语言处理中的基石模型。它们在深度学习应用中极受欢迎,但 transformer 模型所需参数空间不断增大,也相应产生了加速性能的需求。自然语言处理问题还经常面临变长序列,因为句子间词数通常不同。现有深度学习框架将变长序列填充至最大长度,这带来了显著的内存与计算开销。本文中,我们提出 ByteTransformer,一种针对变长输入优化的高性能 transformer。我们提出一种无填充算法,将整个 transformer 从对零填充 token 的冗余计算中解放出来。除算法级优化外,我们为 transformer 功能模块提供架构感知优化,尤其是性能关键的算法多头注意力(MHA)。在 NVIDIA A100 GPU 上针对变长序列输入的实验结果验证,我们融合的 MHA 比 PyTorch 快 6.13 倍。ByteTransformer 在正向 BERT transformer 上的端到端性能分别超越最先进 transformer 框架 PyTorch JIT、TensorFlow XLA、腾讯 TurboTransformer、微软 DeepSpeed-Inference 和 NVIDIA FasterTransformer 达 87%、131%、138%、74% 和 55%。我们还展示了优化方法对其他类 BERT 模型(包括 ALBERT、DistilBERT 和 DeBERTa)的普遍适用性。

关键词

引用

@article{arxiv.2210.03052,
  title  = {ByteTransformer: A High-Performance Transformer Boosted for Variable-Length Inputs},
  author = {Yujia Zhai and Chengquan Jiang and Leyuan Wang and Xiaoying Jia and Shang Zhang and Zizhong Chen and Xin Liu and Yibo Zhu},
  journal= {arXiv preprint arXiv:2210.03052},
  year   = {2023}
}

备注

Accepted at IPDPS 2023