Transformer achieves promising results on various tasks. However, self-attention suffers from quadratic memory requirements with respect to the sequence length. Existing work focuses on reducing time and space complexity from an algorithm perspective. In this work, we propose sequence parallelism, a memory-efficient parallelism method to help us break input sequence length limitation and train with longer sequences on GPUs efficiently. Our approach is compatible with most existing parallelisms (e.g. data parallelism, pipeline parallelism and tensor parallelism), which means our sequence parallelism makes 4D parallelism possible. More importantly, we no longer require a single device to hold the whole sequence. That is, with sparse attention, our sequence parallelism enables us to train transformer with infinite long sequence. Specifically, we split the input sequence into multiple chunks and feed each chunk into its corresponding device (i.e. GPU). To compute the attention output, we integrated ring-style communication with self-attention calculation and proposed Ring Self-Attention (RSA). Experiments show that sequence parallelism performs well when scaling with batch size and sequence length. Compared with tensor parallelism, our approach achieved $13.7\times$ and $3.0\times$ maximum batch size and sequence length respectively when scaling up to 64 NVIDIA P100 GPUs. With sparse attention, sequence can handle sequence with over 114K tokens, which is over $27\times$ longer than existing sparse attention works holding the whole sequence on a single device.
翻译:转换器在各种任务上取得了大有希望的结果。 但是, 自我关注在序列长度方面有四维的记忆要求。 现有的工作侧重于从算法角度减少时间和空间复杂性。 在这项工作中, 我们提出了序列平行法, 这是一种记忆高效的平行法, 帮助我们打破输入序列长度限制, 并高效地在 GPU 上用较长序列进行训练。 我们的方法与大多数现有的平行法( 比如数据平行、 管道平行和 聚合平行法) 相容, 这意味着我们的序列平行法使得4D平行法成为可能。 更重要的是, 我们不再需要一个单一的装置来保持整个序列。 也就是说, 在注意力稀少的情况下, 我们的序列平行法让我们能够以无限长的顺序来训练变异器。 具体地说, 我们将输入序列分成多个块, 然后将每个块输入相应的设备( e.\ gPUPU) 。 为了比较关注输出, 我们将环形通信与自控计算和拟议的 Ring- 自动处理法(RSA) 。 实验显示, 在批量和顺序上, 在分批次的顺序上, 时间里, 我们的顺序上, 将时间顺序比xIFIFA 3, 级 级 级 级 的顺序比, 我们的顺序 的顺序比 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 都比 级 级 级 级 级 级比 级 级 级 级 级 级 级 级 级比 级 级 级 级 级 级比 级 级 级 级 级 级 级 级 级 级 级 级 级比 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级 级