技术指南

序列并行性和环注意力

Sequence parallelism splits one long input sequence across several GPUs or TPUs along the token dimension, so no single device has to hold the whole context.

听听这个指南AI叙述 · ~8 min

在本页阅读时间 9 分钟
  1. 概述
  2. 主要要点
  3. 深入探讨
  4. Tracing Ring Attention on four devices
  5. 现实世界的实施
  6. 序列并行性和环注意力的未来
  7. 付诸实践
  8. 资料来源与延伸阅读
  9. 不断探索
  10. 常见问题

概述

Ring Attention, published by UC Berkeley researchers in 2023, computes exact attention in that setting by passing key and value blocks around a ring of devices while each device keeps computing, which made million-token training contexts practical.

主要要点

  1. Sequence parallelism splits one sequence across devices along the token dimension so each device stores only part of the context.
  2. Ring Attention passes key and value blocks around a ring of devices and overlaps that transfer with blockwise attention computation.
  3. Ring Attention computes exact attention, not an approximation, by combining blockwise results with a running softmax.
  4. The Ring Attention paper reports over 1 million tokens of context for a 7B model on 32 A100 GPUs.
  5. DeepSpeed-Ulysses instead uses all-to-all communication so each GPU computes full-sequence attention for a subset of heads.
  6. Hiding communication requires blocks of at least FLOPS divided by bandwidth tokens, about 1,000 on NVLink-connected A100s.

深入探讨

A transformer processes a sequence of tokens, and its attention step lets every token look at every other token. That makes memory grow quickly with context length. The Ring Attention paper gives a concrete example: processing 100 million tokens with batch size 1 needs over 1,000 GB of memory even for a modest model with a hidden size of 1,024, while GPUs and TPUs typically have less than 100 GB of high-bandwidth memory. Sequence parallelism is the family of techniques that split a single sequence along its length, the token dimension, across several accelerators, so each one stores only a slice. It complements the older forms of parallelism: data parallelism splits the batch, tensor parallelism splits weight matrices, and pipeline parallelism splits layers.

Most transformer operations are easy to split by token, because they treat each token independently: layer normalization, the feed-forward network, dropout and the query, key and value projections. Attention is the exception. Each token's query must be compared with the keys of every other token in the sequence, and its output is a weighted sum of their values. If device 1 holds tokens 1 to 1,000 and device 2 holds tokens 1,001 to 2,000, device 2's queries still need device 1's keys and values. Every sequence-parallel method is really an answer to one question: how to get keys and values, or queries, to the right device without stalling the computation.

Ring Attention's answer is to arrange the devices in a ring. Each device keeps its own block of queries for the whole computation. Key and value blocks travel around the ring: at each step a device computes attention between its queries and the key-value block it currently holds, while simultaneously sending that block to the next device and receiving a new one from the previous device. After as many steps as there are devices, every query block has seen every key-value block. Because attention is computed blockwise with a running softmax, the same technique used by memory-efficient attention kernels, the partial results can be combined exactly, so the output is identical to ordinary attention, not an approximation. If each block's computation takes longer than its transfer, the communication is fully hidden.

The idea has a short history. Shenggui Li and colleagues at the National University of Singapore proposed sequence parallelism with Ring Self-Attention in May 2021; compared with tensor parallelism on 64 NVIDIA P100 GPUs, they reported 13.7 times larger maximum batch size and 3.0 times longer maximum sequence length. In May 2022, NVIDIA's Vijay Korthikanti and colleagues used the name sequence parallelism for a narrower technique inside Megatron-LM: splitting the LayerNorm and dropout regions along the sequence and swapping all-reduce operations for all-gather and reduce-scatter. Combined with selective recomputation, it cut activation memory by 5 times. In October 2023, Hao Liu, Matei Zaharia and Pieter Abbeel at UC Berkeley published Ring Attention with Blockwise Transformers, which fully overlapped communication with blockwise attention and feed-forward computation. In February 2024 the same group released Large World Model, a family of 7B models handling text and video beyond 1 million tokens.

The main alternative is DeepSpeed-Ulysses from Microsoft, published in September 2023. It also starts with the sequence split across GPUs, but just before attention it performs an all-to-all exchange so that each GPU receives the full sequence for a subset of attention heads, computes those heads, and then reverses the exchange. Its authors show that communication volume stays constant when sequence length and device count grow together, and report up to 2.5 times higher throughput with 4 times longer sequences than the prior state of the art. Because work is divided by heads, the number of devices it can use for one sequence is bounded by the number of attention heads, while Ring Attention divides by blocks of tokens. Megatron Core's context parallelism follows the Ring Attention pattern and adds cuDNN flash attention kernels and causal-mask load balancing.

The headline results are large. On 32 A100 GPUs, the Ring Attention paper reports over 1 million tokens of context for a 7B model, a 32 times improvement over the previous best memory-efficient transformer, and on TPUv4-512 a 256 times increase, allowing training sequences of over 30 million tokens. In general, Ring Attention allows sequences up to device-count times longer than memory-efficient transformers on a single device. Large World Model used it to train on TPUv4-1024, which its authors describe as roughly equivalent to 450 A100 GPUs, scaling RoPE positional embeddings as context grew.

There are real limitations. Hiding communication needs enough work per block: the Ring Attention paper derives that the block size must be at least the device's FLOPS divided by its interconnect bandwidth, which is about 1,000 tokens for A100s on NVLink or TPUs, but about 24,500 tokens for A100s linked by InfiniBand at 12.5 GB per second. Causal language models create load imbalance, because with contiguous blocks the device holding the first tokens has almost nothing to attend to while the last device does the most work; Striped Attention fixes this by giving each device tokens spread throughout the sequence, reporting up to 1.45 times speedups at 256K tokens on A100s and TPUs and 1.65 times at 786K tokens on 16 TPUv4 chips. Sequence parallelism also does not reduce the total compute of attention, which still grows with the square of sequence length, so a million-token step remains expensive.

In practice, using these methods requires a framework that supports them, such as Megatron Core with Transformer Engine, DeepSpeed, or a JAX implementation like the one published with Ring Attention, plus fast device-to-device links. Total GPU count becomes the product of all parallel dimensions; Megatron Core's documentation states it as tensor times context times pipeline times data parallel size. Training a long-context model also involves more than the parallelism scheme: the Large World Model authors describe data curation, progressive context extension and positional-embedding scaling as necessary parts of the process.

04工作示例

Tracing Ring Attention on four devices

  1. Take a 16,000-token sequence and four devices, giving each device a contiguous block of 4,000 tokens with its own queries, keys and values.

  2. At step 1, each device computes attention between its queries and its own key-value block, while sending that block to the next device in the ring.

  3. At step 2, each device receives the previous device's key-value block, updates its running maximum, exponential sum and weighted value sum, and forwards the block again.

  4. Repeat for steps 3 and 4, so every query block has met all four key-value blocks.

  5. Divide each device's weighted value sum by its exponential sum to get the final attention output for its 4,000 tokens.

  6. For a causal model, note that the device holding tokens 1 to 4,000 can skip most blocks while the last device must process all four, which is the imbalance Striped Attention addresses.

它显示了什么

Exact attention outputs for all 16,000 tokens, with each device storing only about six blocks of 4,000 tokens. Check it by running the same input through a single-device attention implementation on a small example and comparing outputs, which should match to numerical precision.

现实世界的实施

UC Berkeley's Large World Model project used Blockwise RingAttention to extend a LLaMA-2 7B model progressively from 4K to 1M tokens of context, training on a TPUv4-1024 pod.

NVIDIA Megatron Core offers context parallelism, which it describes as similar to Ring Attention but with cuDNN flash attention kernels and load balancing for causal masks, combined with tensor, pipeline and data parallelism.

Microsoft's DeepSpeed-Ulysses splits sequences across GPUs and uses all-to-all communication to give each GPU full sequences for a subset of attention heads, reporting training on sequences over a million tokens.

NVIDIA's Megatron-LM sequence parallelism splits LayerNorm and dropout activations along the sequence; with selective recomputation it trained a 530B-parameter GPT-3 style model at 54.2% model FLOPs utilization on 2,240 A100 GPUs.

Striped Attention (MIT, 2023) reassigns tokens to devices in a strided pattern to balance causal-attention work, reporting up to 1.45x faster training than Ring Attention at 256K tokens.

序列并行性和环注意力的未来

Work since 2023 has concentrated on three problems. Load balance for causal models is one: Striped Attention (November 2023) and Megatron Core's context parallelism both reorganize which tokens each device holds so that no device sits idle behind the causal mask. Communication is another: DeepSpeed-Ulysses (September 2023) showed that all-to-all exchanges can keep per-link volume constant, and frameworks increasingly combine head-based and ring-based splitting. Kernel efficiency is the third, with context-parallel implementations calling fused flash attention kernels for each block. The broader open question is how much long context helps compared with its cost. Ring Attention removes the per-device memory limit but not the quadratic compute of exact attention, so training on million-token sequences still consumes large accelerator budgets, and the Large World Model paper reports that data curation and positional-embedding scaling were as important as parallelism. Research into efficient attention variants, retrieval and memory mechanisms continues alongside these systems methods, and published benchmarks of throughput and long-context retrieval accuracy remain the reliable way to compare them.

付诸实践

为什么这很重要

  • 成本与预算. 多年来,架构决策决定着性能和运营成本。
  • 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
  • 质量控制. 更好的工程选择可以减少生产中的可靠性事故。

留意

  • 优化一项基准测试可以隐藏更广泛的系统弱点。
  • 基础设施和维护成本常常被低估。
  • 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

后续步骤

  1. 在实施之前定义延迟、质量和成本目标。
  2. 在实际负载和数据条件下进行基准测试。
  3. 仪器监控错误、漂移和用户影响。
  4. 在扩展之前准备回滚和事件响应路径。

资料来源与延伸阅读

  1. arXiv (UC Berkeley)Ring Attention with Blockwise Transformers for Near-Infinite Context
  2. arXiv (National University of Singapore)Sequence Parallelism: Long Sequence Training from System Perspective
  3. arXiv (NVIDIA)减少大型 Transformer 模型中的激活重计算
  4. arXiv (Microsoft)DeepSpeed Ulysses: System Optimizations for Enabling Training of Extreme Long Sequence Transformer Models
  5. arXiv (ICLR 2025)World Model on Million-Length Video and Language with Blockwise RingAttention
  6. arXivStriped Attention: Faster Ring Attention for Causal Transformers
  7. NVIDIA Megatron Core documentationcontext_parallel package

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

Take the Sequence Parallelism and Ring Attention quiz

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是序列并行和环注意力?

Sequence parallelism splits one long input sequence across several GPUs or TPUs along the token dimension, so no single device has to hold the whole context. Ring Attention, published by UC Berkeley researchers in 2023, computes exact attention in that setting by passing key and value blocks around a ring of devices while each device keeps computing, which made million-token training contexts practical.

序列并行沿着哪个维度分割数据?

序列并行性沿令牌/时间轴跨 GPU 分片单个序列,因此每个设备都拥有连续的令牌块。

环形注意力机制在排列成环形的 GPU 之间传递什么?

每个 GPU 都保持其本地查询固定,并在环上逐跳传递键/值块,因此每个查询最终都会看到每个键。

How can Ring Attention combine partial attention blocks without approximating the full attention pattern?

Online softmax accumulates the same attention expression across blocks. Floating-point reduction order can still produce small numerical differences.

为什么 Ring Attention 不需要任何单个 GPU 来存储完整的 K/V?

由于 K/V 块增量到达并且每个 GPU 积累部分注意力,因此没有设备需要立即将整个键/值集存储在内存中。

When can Ring Attention reduce the exposed time spent transferring K/V blocks?

Overlap can hide transfer time when the computation and bandwidth permit it. It does not guarantee communication-free execution on every layout.