news 2026/8/14 4:41:27

Ring-Attention 和 All-to-All

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ring-Attention 和 All-to-All

Ring-AttentionAll-to-All是在超长上下文并行(Context Parallelism / Sequence Parallelism)中,解决注意力机制(Self-Attention)跨 GPU 计算与通信的两套主流技术方案。


1. Ring-Attention(环形注意力)

Ring-Attention采用环形通信拓扑(Ring Topology),将超长序列按 Token 维度均分成N NN段(Block),分布在N NN张 GPU 上。

  • 工作机制
  1. Q 不动,K/V 循环传递:每张 GPU 拥有对应序列切片的 Query (Q QQ),而 Key (K KK) 和 Value (V VV) 则在 GPU 组成的环形链路(GPU0 → 1 → 2 ⋯ → N − 1 → 0 0 \to 1 \to 2 \dots \to N-1 \to 0012N10)上传输。
  2. 边算边传(Compute-Communication Overlap):GPU 在计算当前收到的K i , V i K_i, V_iKi,Vi与本地Q QQ的 Attention 时,后台异步将K i , V i K_i, V_iKi,Vi传输给下一个节点。
  3. 累加 Online Softmax:通过在线修正算法(FlashAttention 的分块累加机制),等K / V K/VK/V在环上跑完一圈(经过N NN步迭代)后,每张卡就完成了完整的注意力计算。
  • 核心优势
  • 显存友好:单卡显存与序列总长度无关,单卡只存S / N S/NS/N长度的 KV Cache,避免了O ( S 2 ) O(S^2)O(S2)显存爆炸,理论上能支持百万/千万级超长 Context。
  • 掩盖通信耗时:将矩阵计算时间与跨卡传输时间完全重叠(Overlap)。

2. All-to-All(全转置注意力 / DeepSpeed & Megatron 方案)

All-to-All方案通过改变 Tensor 在 GPU 间的分片维度,将跨卡的序列计算转换为卡内计算。

  • 工作机制
  1. 维度转换(Seq→ \toHead):进入 Attention 层前,Tensor 在Sequence 维度(S / N S/NS/N上被切分。通过一次All-to-All全局通信,将其转置为按Attention Head 维度(H / N H/NH/N切分。
  2. 卡内全长 Attention:转换后,每张 GPU 获得了全部序列长度S SS,但只负责一部分注意力头(H / N H/NH/N)。此时每张卡可以在本地直接跑标准的全长度 FlashAttention。
  3. 维度还原(Head→ \toSeq):Attention 计算完成后,再执行一次All-to-All通信,将 Tensor 重新切回 Sequence 维度,传给后续的 MLP 层。
  • 核心优势
  • 架构清晰:只有两次固定的全局转置通信,不涉及复杂的环形状态机与分块迭代逻辑。
  • 生态兼容:能够与现有的单卡 FlashAttention 算子深度集成。

三者对比与选型

维度Ring-AttentionAll-to-All (Sequence Parallelism)
切分维度序列维度(Sequence Dimension)序列维度与 Head 维度动态转换
通信模式环形 P2P 邻居点对点传输(N NN步迭代)全局转置通信(2 次 All-to-All)
单卡显存开销,仅需存储局部序列(S / N S/NS/N)的 KV较高,计算时单卡仍需感知全长S SS序列
通信与计算重叠极好,计算K i K_iKi时异步传输K i + 1 K_{i+1}Ki+1较难,通信与计算呈串行交替形态
适用场景超长上下文(如 128k ~ 1M+ 极长 Prompt)中等长度上下文(如 32k ~ 128k)或多头数量充足时
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 4:41:12

SwiftUI开发RAM磁盘工具:提升临时文件处理效率与SSD保护

1. 项目缘起:当清理磁盘成为一种“仪式”不知道你有没有过类似的体验:每隔一段时间,看着电脑硬盘上那不断减少的剩余空间,就会陷入一种莫名的焦虑。然后,清理磁盘就成了一场“数字大扫除”的仪式。我最近一次进行这个仪…

作者头像 李华
网站建设 2026/8/14 4:40:32

芯片封装技术全解析:从DIP到先进封装的选型与实战指南

1. 项目概述:从“黑盒子”到“艺术品”的芯片封装世界刚入行那会儿,我总把芯片想象成一个纯粹的“大脑”,觉得那些复杂的电路和晶体管才是核心,外面那层塑料或陶瓷壳子,不过是个保护罩。直到有一次,我负责的…

作者头像 李华
网站建设 2026/8/14 4:36:32

模板方法模式深度解析:从设计原理到Spring/JDBC实战应用

1. 从一句“土味情话”到设计模式的硬核拆解“宝,我输液了,输的想你的夜。” 这句曾经风靡一时的网络热梗,相信很多人都听过。乍一看,这只是情侣间一句略显油腻的俏皮话,但如果你是一名程序员,尤其是对设计…

作者头像 李华
网站建设 2026/8/14 4:35:24

选择重庆广播音响设备公司,有哪些通用的判断标准?

我这就给你介绍选择广播音响设备公司的通用标准,同时会以重庆优沃科技为例进行拆解分析,还会简单呈现其他同品类主体的适配边界。需要说明的是,全文仅输出选型方法,不做具体产品推荐。通用选型标准产品丰富度与质量:广…

作者头像 李华
网站建设 2026/8/14 4:33:42

STM32L451CCUx工程开发——实际工程创建

一、下载和安装 Keil 可参考:【嵌入式工具】Keil 下载,安装,配置教程大全 - CSDN 博客 二、导入 STM32L451CCUx 的 Pack Pack 下载地址:MDK5 - STMicroelectronics STM32L451CCUx 导入方法参考:使用 keil 添加新的包…

作者头像 李华
网站建设 2026/8/14 4:32:03

LangGraph 智能体开发实战:从链式编排到图式编排

这里写自定义目录标题 欢迎使用Markdown编辑器引言:当 Chain 不够用的时候一、为什么需要图式编排二、LangGraph 的核心概念2.1 State:状态是图的灵魂 四、多 Agent 协作与并行五、工程化实践要点六、总结新的改变功能快捷键合理的创建标题,有…

作者头像 李华