大模型如何训练百万 Token 上下文:上下文并行与 Ring Attention

简介: 上下文窗口暴增至千万级,但硬件难承其重:405B模型单精度权重就需6.5TB内存。为突破显存瓶颈,上下文并行与Ring Attention应运而生——将长序列切分至多卡,边传边算;Zig-Zag分配更实现因果注意力下的负载均衡。高速互连(NVLink/InfiniBand)已成刚需。

只用了几年时间,上下文窗口就从 4k 膨胀到 1000 万。Meta 发布的 Llama 4 Scout 的时候说这个模型支持 1000 万 Token,是 Llama 3 那 128k 的 78 倍。而Google Gemini 3 Pro 是 100 万,Claude 4 也桐乡市100万。

一次推理跑完整个代码库、几百篇论文、连续好几天的对话记录在技术上可行了,但问题是硬件跟不上。

405B 参数的模型,32 位精度下光权重就要 6.5TB 内存。再算上梯度、状态、激活值,后者还随上下文长度二次方增长。单台 NVIDIA HGX B300 配了 2.3TB HBM3e都不够。

这就逼着必须做多节点分布式训练和推理,几十上百块 NVIDIA Blackwell GPU 、NVLink 再加上 InfiniBand,就成了数据中心的标配。所以难点就变味了 GPU 之间的通信瓶颈。

并行化基础

模型或数据集超出单卡容量,就得上并行策略,但是每种策略本质上都是拿通信开销换内存空间。

数据并行是最直接的方案:整个模型复制到每张卡上,训练数据切开,每张卡跑不同的 batch跑完一步同步梯度。适合小模型,计算是瓶颈、内存不是问题的场景。

模型并行针对大模型:单卡装不下,就把模型拆开,不同的层放不同的卡上,按顺序跑。405B 这种规模只能这样,并且下游的卡得等上游算完中间是有空转的。

张量并行更极端:连单个矩阵乘法都塞不进一张卡。就需要把矩阵按行或按列切开,分到各卡上算,再通过 all-reduce 合起来。

但这些都有共同的局限。模型大、上下文又长到几百万 Token,张量并行也顶不住。因为注意力的二次方内存增长太凶,激活值直接占满显存。128k 上下文的激活值内存是 8k 的 16 倍,这个目前没办法,因为就是这么夸张。

上下文并行与序列并行

序列并行和上下文并行都是在设备间切序列来省内存,但切法不一样。

序列并行配合张量并行使用,只切那些非矩阵乘法的操作,比如层归一化、dropout。张量并行管不到的地方,序列并行接手,每张卡处理一部分激活值。两者配合能把序列撑长一些,但到 128k 以上还是会有问题,因为注意力的二次方增长是绕不过去。

上下文并行更彻底:整个序列在所有模块里都切开,包括注意力。每个操作拿到的都是分区后的序列。百万级上下文的训练就靠这个,把激活值的内存占用分摊到各卡上。

注意力一直是最麻烦的问题,因为模型的其他操作基本都是逐 Token 独立处理并行起来很自然。但注意力不行,每个 Token 都要"看"序列里所有其他 Token。序列切到多张卡上之后,GPU 1 的 Token 怎么看 GPU 2 的 Token?直接等数据传完再算,整个流水线就卡住了。

Ring Attention 就是来解决这个问题的,让多节点多卡的大模型训练和推理能在大规模数据中心里跑起来。

Zig Zag Ring Attention:通信和计算重叠

Ring Attention 把 GPU 组织成环形拓扑。每张卡的工作流程是这样的:持有序列中 Q、K、V 张量的一个分块;用本地的 K 和 V 给自己的 Q 分块算注意力;把 K 和 V 传给环里的下一张卡;从上一张卡接收 K 和 V;循环往复,直到所有 Q Token 都跟所有 K/V Token 算完注意力。

关键在于计算和通信是重叠的。GPU 1 拿着当前的 K/V 分块算注意力的时候,同时在从 GPU 0 接收下一批分块。通信延迟减少了,因为不用干等数据全到了再开算。

GPT 这类自回归模型有个额外的麻烦:Token 只能看前面的 Token不能看后面的。所以会导致负载不均衡有些卡会空转,Zig-Zag Ring Attention 解决这个问题的办法是交错分配,不是按顺序切块而是 GPU 0 拿 Token [0, 4, 8...],GPU 1 拿 [1, 5, 9...],以此类推。每张卡都拿到早期和晚期 Token 的混合,因果注意力计算时负载就均衡了环里不会有卡闲着。

但是代价是索引逻辑稍微复杂一点,不过大规模场景下性能收益很可观,因果掩码下也能做到接近满 GPU 利用率。

上下文并行与 Ring Attention 常见问题

上下文并行把输入序列切到多张 GPU 上,突破训练时的内存限制。跟张量并行、数据并行不同,它在所有模型模块里都切序列维度。单卡装不下的百万级 Token 上下文,只有靠这个才能训。

Ring Attention 把 GPU 排成环,每张卡一边算当前数据的注意力,一边把键值对往下传。通信和计算重叠,全对全的注意力计算不用等完整序列数据到齐,GPU 不会干等。

而序列并行只切非矩阵乘法操作(层归一化之类的),配合张量并行用。上下文并行在所有模块里都切序列,包括注意力。超过 128k Token 的上下文必须用后者,因为激活值内存二次方增长太猛了。

为什么 Zig-Zag Ring Attention 比标准 Ring Attention 更好?

Zig-Zag 用交错分配代替顺序分配,因果掩码计算时各卡负载更均衡。标准 Ring Attention 会让后面的卡等前面的分块,造成计算空闲。Zig-Zag 把早期和晚期 Token 均匀撒到各卡上,避免这个问题。

那么训练百万级 Token 上下文的模型需要什么硬件?

多节点 GPU 集群,配 HBM 内存,加高速互连——NVIDIA NVLink 1.8TB/s 或者 InfiniBand。405B 参数模型 32 位精度从头训练加推理,4 台 NVIDIA HGX B300 的机架部署是个不错的起点。

总结

上下文并行本质上是拿通信开销换内存空间,而网络带宽是最要命的瓶颈。Ring Attention 要在 GPU 之间不停交换键值对,传输时间一旦超过计算时间,各卡就会从"边算边传"退化成"等数据"。NVIDIA NVLink 1.8TB/s 加 InfiniBand 的高速互连,在多机架部署里不是可选项是必需品。互连带宽必须匹配 GPU 计算吞吐量,否则上下文并行的效果会大打折扣。

https://avoid.overfit.cn/post/fd6022b9196942ffb737ba306925b6db

by Khang Pham

目录
相关文章
|
30天前
|
人工智能 安全 调度
AI工程vs传统工程 —「道法术」中的变与不变
本文从“道、法、术”三个层面对比AI工程与传统软件工程的异同,指出AI工程并非推倒重来,而是在传统工程坚实基础上,为应对大模型带来的不确定性(如概率性输出、幻觉、高延迟等)所进行的架构升级:在“道”上,从追求绝对正确转向管理概率预期;在“法”上,延续分层解耦、高可用等原则,但建模重心转向上下文工程与不确定性边界控制;在“术”上,融合传统工程基本功与AI新工具(如Context Engineering、轨迹可视化、多维评估体系),最终以确定性架构驾驭不确定性智能,实现可靠价值交付。
359 41
AI工程vs传统工程 —「道法术」中的变与不变
|
1月前
|
存储 数据采集 弹性计算
面向多租户云的 IO 智能诊断:从异常发现到分钟级定位
当 iowait 暴涨、IO 延迟飙升时,你是否还在手忙脚乱翻日志?阿里云 IO 一键诊断基于动态阈值模型与智能采集机制,实现异常秒级感知、现场自动抓取、根因结构化输出,让每一次 IO 波动都有据可查,真正实现从“被动响应”到“主动洞察”的跃迁。
305 59
|
2天前
|
人工智能 测试技术
LLM创造力可以被度量吗?一个基于提示词变更的探索性实验
本文探讨提示词工程为何仍是“玄学”,并通过实验证明:加入明确指令(如“Be as creative as possible”)可显著、可量化地提升LLM输出多样性,效果甚至超过调高温度。研究以embedding距离为代理指标,覆盖13个主流模型,揭示提示词迭代可度量、可预测,为LLM应用从经验走向工程化提供新路径。
51 17
LLM创造力可以被度量吗?一个基于提示词变更的探索性实验
|
1月前
|
存储 缓存 调度
阿里云Tair KVCache仿真分析:高精度的计算和缓存模拟设计与实现
在大模型推理迈向“智能体时代”的今天,KVCache 已从性能优化手段升级为系统级基础设施,“显存内缓存”模式在长上下文、多轮交互等场景下难以为继,而“以存代算”的多级 KVCache 架构虽突破了容量瓶颈,却引入了一个由模型结构、硬件平台、推理引擎与缓存策略等因素交织而成的高维配置空间。如何在满足 SLO(如延迟、吞吐等服务等级目标)的前提下,找到“时延–吞吐–成本”的最优平衡点,成为规模化部署的核心挑战。
514 38
阿里云Tair KVCache仿真分析:高精度的计算和缓存模拟设计与实现
|
1月前
|
人工智能 安全 API
Nacos 安全护栏:MCP、Agent、配置全维防护,重塑 AI Registry 安全边界
Nacos安全新标杆:精细鉴权、无感灰度、全量审计!
837 69
|
29天前
|
人工智能 运维 前端开发
阿里云百炼高代码应用全新升级
阿里云百炼高代码应用全新升级,支持界面化代码提交、一键模板创建及Pipeline流水线部署,全面兼容FC与网关多Region生产环境。开放构建日志与可观测能力,新增高中低代码Demo与AgentIdentity最佳实践,支持前端聊天体验与调试。
394 52
|
15天前
|
人工智能 安全 应用服务中间件
阿里云 Moltbot(原 Clawdbot)全套云服务介绍、部署步骤与使用指南
Moltbot(原Clawdbot)是由PSPDFKit Labs开发的开源自托管AI智能体(AI Agent),核心定位为“可自主执行任务的AI助手”,区别于传统问答式AI工具,其具备屏幕感知、任务规划、操作执行与状态验证的全链路能力,可7×24小时运行在服务器或终端设备上,通过自然语言指令自动完成文件管理、日程安排、邮件处理、代码编写、跨应用协同等自动化任务,数据优先存储于用户自有节点,隐私可控。2026年,阿里云正式上线Moltbot全套云服务,整合轻量应用服务器、无影云电脑、百炼大模型平台等核心资源,提供预置镜像、一键部署、安全优化等全流程支持,大幅降低部署门槛,适配个人、小型团队及企
3182 9
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
模型训练篇|多阶段ToolRL打造更可靠的AI导购助手
芝麻租赁推出AI导购“租赁小不懂”,针对长周期、重决策租赁场景,首创“One-Model + Tool-Use”架构与两阶段强化学习,攻克需求难匹配、决策效率低、服务被动三大痛点,实现响应提速78%、推荐成功率提升14.93%,打造贴切、沉浸、信任的场景化租赁体验。(239字)
162 25
模型训练篇|多阶段ToolRL打造更可靠的AI导购助手
|
15天前
|
人工智能 关系型数据库 Serverless
2 天,用函数计算 AgentRun 爆改一副赛博朋克眼镜
2 天将吃灰的 Meta 眼镜改造成“交警Copilot”:通过阿里云函数计算 AgentRun 实现端-管-云协同,利用 Prompt 驱动交通规则判断,结合 OCR 与数据库查询,打造可动态扩展的智能执法原型,展现 Agent 架构在真实场景中的灵活与高效。
301 44
|
1月前
|
设计模式 XML NoSQL
从HITL(Human In The Loop) 实践出发看Agent与设计模式的对跖点
本文探讨在ReactAgent中引入HITL(人机回路)机制的实践方案,分析传统多轮对话的局限性,提出通过交互设计、对话挂起与工具化实现真正的人机协同,并揭示Agent演进背后与工程设计模式(如钩子、适配器、工厂模式等)的深层关联,展望未来Agent的进化方向。
590 44
从HITL(Human In The Loop) 实践出发看Agent与设计模式的对跖点