本次查询:上下文并行
中文解释:上下文并行
常见场景:大模型训练与推理
一句话解释
上下文并行是一种将超长输入序列切分成多个片段,分配给不同GPU或节点同时计算,并通过通信机制保持跨片段上下文信息的并行策略。它让模型能一次性处理相当于原来数倍甚至数十倍的上下文长度,而不受单设备显存限制。
为什么会被关注
随着大模型参数量增长,上下文长度需求也在飙升——从4096 token到128k甚至1M token。传统数据并行只能复制完整模型,无法解决单卡显存装不下整个序列的难题。上下文并行能在不增加模型副本的前提下线性扩展可处理的序列长度,是支撑长文档、长视频、长对话等场景的基础设施。
核心逻辑
核心思想是将输入序列按token维度切分,每个设备只负责连续的一段子序列。计算注意力时,每个设备的查询需要访问同一序列所有设备的键值对,因此设备间需通过All-to-All通信交换中间激活值。为减少通信开销,通常采用环型拓扑或分块稀疏注意力,并配合flash attention等内存优化技术。
常见场景
在训练超长上下文模型(如GPT-4、Claude的100k+版本)时使用;在推理阶段处理整本小说、数十小时视频字幕或完整代码仓库时也会启用。云端大模型服务中,当用户输入的提示词或对话历史超过单张GPU显存时,后台会自动启用上下文并行来保证服务不中断。
容易混淆的点
上下文并行容易与序列并行混淆。序列并行通常指在transformer层内对序列维度做切分并重新组合,而上下文并行更侧重跨设备维护完整的因果关系(因果掩码)。另外,它与数据并行不同——数据并行切分数据但复制模型,上下文并行不复制模型而是切分序列;它与模型并行也不同,模型并行切分参数而非序列。
