返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

DeepSeek-V3.2 128K 推理秒开?百度百舸开源 CP 上下文并行方案

[复制链接]
链载Ai 显示全部楼层 发表于 5 天前 |阅读模式 打印 上一主题 下一主题

随着大语言模型(LLM)长上下文推理需求飙升至 128K Tokens,首字延迟(TTFT)和显存压力已成为制约工业化落地的核心瓶颈。在处理数万字的法律合同或长篇技术手册时,过高的 TTFT 往往让用户面临漫长的等待。

2025 年 12 月 23 日,SGLang 社区官方宣布:百度百舸 AIAK 团队为 DeepSeek V3.2 开发的上下文并行(Context Parallelism, CP)方案已正式合入 SGLang 主分支。实测数据显示,该方案在 32K 序列长度下实现了高达 80% 的 TTFT 降幅,成功将长文本推理推向秒级响应时代。

开源代码地址:

图片

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^2)限制

传统注意力机制的计算量随序列长度平方级增长(O(L^2))。在 128K 级别的超长序列场景下,这种二次方的增长使得推理时间过长。DeepSeek V3.2 通过 DSA 架构中的 Indexer(索引器) 机制打破了这一限制:

  • 工作原理:Indexer 为每一个 Query Token 快速筛选出全量序列中最相关的 Top-K 个 Key Token。


  • 复杂度优化: 将注意力计算的复杂度从O(L^2)优化为近乎线性的O(L·K),使 128K 长度的推理在理论上成为可能。


DSA 部署面临的工程难题

尽管有了 Indexer 的稀疏化优化,单张 GPU 在面对 128K 序列时仍不堪重负:

  • 单卡压力的延续: QKV 投影计算(O(L)级别)及 Indexer 筛选过程(涉及近似O(L^2)的负荷)在 128K 长度下已是单张 GPU 难以独立完成的任务。


  • TP 与 Indexer 的冲突:Indexer 模块在计算相关性时需要在H轴执行聚合(Reduce Sum)。如果采用 TP 切分H轴,会引发高频且昂贵的 AllReduce 通信开销。这种开销会抵消 TP 的计算加速收益,导致整体性能下降。

因此,Context Parallelism (CP) 成为破解这一难题的关键:它避开了对H轴的切分,转而沿序列长度L维度进行任务分摊。

2. CP 核心原理:计算分摊与负载均衡

百度百舸设计的 CP 方案通过切分输入数据,从根本上分摊了每张 GPU 的计算与显存压力。

计算分摊与 TTFT 缩减

CP 策略将输入序列沿着L维度切分成N份(N为并行度/CP 大小),让多张卡共同协作处理一个请求。如架构图所示,通过cp_split_tokens模块,每个 Rank 只接收1/N的 Query 片段。

这直接将 QKV 投影计算量和 Indexer 的O(L^2)筛选负荷分摊给N张卡,将单卡计算量降至O(L^2/P)级别,实现了近线性的 TTFT 缩减

2N块重排负载均衡

由于因果注意力机制的特性,序列不同位置的 Token 计算量并不均等。为解决此问题,方案引入了负载均衡序列切分(Load-balanced sequence splitting):

  • 重排逻辑: 将 Hidden States 精细划分为2N个子块。


  • 首尾配对: 采用「首尾配对」方式重新组合(例如 Rank 0 处理b_1和b_2N块)。这确保了各 Rank 承担的计算负荷高度一致,显著压低整体 TTFT。

    图片

3. 深度解析:高效混合并行流水线

该方案不仅是简单的切分,而是一套与 DeepSeek 特色架构(如 MLA、MoE)深度融合的精密流水线。

根据架构图,数据在系统中的流动遵循以下高效路径:

  • 数据切分和重排: 经过 Embedding 后,cp_split_tokens将 Token 序列进行2N负载均衡重排并分发至各并行 Rank。


  • 层内计算与局部投影(图中qkv_a_atten_tp1):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 计算时,依然拥有超长序列的「全局视野」,使得模型输出与单机方案完全一致。


  • 核心计算(图中 Attention 内部流程)


    • Indexer 筛选(对应Indexer_prepare): Indexer 模块利用本地Q_i与全量的K_full进行相关性评估,为每个 Query Token 筛选出全量序列中最相关的 Top-K 个 Key 位置索引。

    • 稀疏 Attention 计算(对应MLA_prepare与核心算子):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 方案则是其在长文本场景下必不可少的 AI Infra 协同组件。DSA 通过动态稀疏机制降低了整体计算量,CP 使多卡能协同、均衡地分摊显存与计算负载,从而实现长文本的 TTFT 显著降低。
目前,该 CP 方案已经在百度百舸 AI 计算平台落地,并支持了百度千帆大模型平台的 DeepSeek V3.2 高性能长文本推理服务。
百度百舸正持续将经生产验证的方案开源至 SGLang 社区。我们期待在算法创新与系统工程深度协同的交汇点上,与全球开发者共筑 AI Infra 基石。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ