
随着大语言模型(LLM)的长上下文推理需求飙升至128K Tokens级别,首字延迟(TTFT)和显存压力已成为制约其工业化落地的核心瓶颈。例如,在处理数万字的法律合同或长篇技术文档时,过高的TTFT会让用户面临漫长的等待。
2025年12月23日,SGLang社区官方宣布,百度百舸AIAK团队为DeepSeek-V3.2开发的上下文并行(Context Parallelism, CP) 方案已正式合入SGLang主分支。实测数据显示,该方案在32K序列长度下实现了高达80%的TTFT降幅,成功将超长文本推理推向秒级响应时代。
开源代码地址:https://github.com/sgl-project/sglang/pull/12065

1. DSA架构的挑战与并行策略的进化
在超长上下文应用场景中,DeepSeek-V3.2引入了DSA (DeepSeek Sparse Attention) 架构。这一架构旨在通过算法创新降低计算复杂度,但在工程落地中,传统的并行策略遇到了冲突。
传统策略:TP + SP 加速长序列的原理
在DeepSeek-V3.2出现之前,张量并行(TP) 与序列并行(SP) 的组合是加速长文本推理的行业标准方案,这在很多大模型推理优化实践中被广泛应用:
- TP解决计算瓶颈:通过沿隐藏层维度
H切分权重,将大规模矩阵乘法分摊至多张GPU,是降低首字延迟(TTFT)的关键手段。
- SP解决显存瓶颈:沿序列长度维度
L切分激活值(如KV Cache),有效避免长序列导致的显存溢出(OOM)。
DSA的核心机制:打破O(L²)限制
传统注意力机制的计算量随序列长度呈平方级增长(O(L²))。在128K级别的超长序列场景下,这种二次方的增长使得推理时间过长。DeepSeek-V3.2通过DSA架构中的Indexer(索引器) 机制打破了这一限制:
- 工作原理:Indexer为每一个Query Token快速筛选出全量序列中最相关的Top-K个Key Token。
- 复杂度优化:将注意力计算的复杂度从O(L²)优化为近乎线性的O(L·K),使128K长度的推理在理论上成为可能。
DSA部署面临的工程难题
尽管有了Indexer的稀疏化优化,单张GPU在面对128K序列时仍不堪重负,这对高性能计算和工程优化提出了新的挑战:
- 单卡压力的延续:QKV投影计算(O(L)级别)及Indexer筛选过程(涉及近似O(L²)的负荷)在128K长度下已是单张GPU难以独立完成的任务。
- TP与Indexer的冲突:Indexer模块在计算相关性时需要在
H轴执行聚合(Reduce Sum)。如果采用TP切分H轴,会引发高频且昂贵的AllReduce通信开销。这种通信开销会抵消TP的计算加速收益,导致整体性能下降。
因此,上下文并行 (CP) 成为破解这一难题的关键:它避开了对H轴的切分,转而沿序列长度L维度进行任务分摊。
2. CP核心原理:计算分摊与负载均衡
百度百舸设计的CP方案通过切分输入数据,从根本上分摊了每张GPU的计算与显存压力。
计算分摊与TTFT缩减
CP策略将输入序列沿着L维度切分成N份(N为并行度/CP大小),让多张卡共同协作处理一个请求。如架构图所示,通过cp_split_tokens模块,每个Rank只接收1/N的Query片段。
这直接将QKV投影计算量和Indexer的O(L²)筛选负荷分摊给N张卡,将单卡计算量降至O(L²/P)级别,实现了近线性的TTFT缩减。
2N块重排负载均衡
由于因果注意力机制的特性,序列不同位置的Token计算量并不均等。为解决此问题,方案引入了负载均衡序列切分:
- 重排逻辑:将Hidden States精细划分为
2N个子块。
- 首尾配对:采用「首尾配对」方式重新组合(例如Rank 0处理
b_1和b_2N块)。这确保了各Rank承担的计算负荷高度一致,显著压低整体TTFT。
3. 深度解析:高效混合并行流水线
该方案不仅是简单的切分,而是一套与DeepSeek特色架构(如MLA、MoE)深度融合的精密流水线。
根据架构图,数据在系统中的流动遵循以下高效路径:
- 数据切分和重排:经过Embedding后,
cp_split_tokens将Token序列进行2N负载均衡重排并分发至各并行Rank。
- 层内计算与局部投影:TP大小设为1,每个Rank仅负责计算本地
1/N长度的局部Q_i、K_i、V_i,大幅缩短了TTFT,规避了AllReduce开销。
- 全局KV聚合与顺序恢复:进入attention计算前,所有Rank的
K_i和V_i片段通过AllGather集合通信,聚合为完整的K_full, V_full。其中rerange操作将负载均衡导致的乱序片段重新校准回正确的逻辑顺序。这使得每张GPU在做Attention计算时,依然拥有超长序列的「全局视野」,保证模型输出与单机方案完全一致。
- 核心计算
- Indexer筛选:Indexer模块利用本地
Q_i与全量的K_full进行相关性评估,为每个Query Token筛选出全量序列中最相关的Top-K个Key位置索引。
- 稀疏Attention计算:Attention算子根据筛选出的Top-K索引,从全量的
K_full, V_full中提取对应的token向量,与本地Q_i进行极低FLOPs的稀疏矩阵乘法。
- 专家并行协同:FFN阶段采用
moe_dense_tp1并结合Deep_EP(专家并行),实现与CP的高效协同。
- 最终输出聚合:在完成61层计算后,执行
hidden_states_allgather_rerange,确保每个Rank最终持有完整的Hidden States并由logits_processor输出。
4. 算法与工程的深度协同,共筑AI Infra基石
DeepSeek-V3.2的DSA架构是算法效率的创新探索,而CP方案则是其在长文本场景下必不可少的工程协同组件。DSA通过动态稀疏机制降低了整体计算量,CP则使多卡能协同、均衡地分摊显存与计算负载,两者结合共同实现了长文本TTFT的显著降低。
目前,该CP方案已在百度百舸AI计算平台落地,并支持了百度千帆大模型平台的DeepSeek-V3.2高性能长文本推理服务。百度百舸正持续将经生产验证的方案开源至SGLang社区,期待在算法创新与系统工程深度协同的交汇点上,与全球开发者共筑更坚实的AI基础设施。
|