Deepseek MLA CP通信AlltoAll

长文本CP 切分,共2次All2All

第一次AlltoAll,输入按Seq维度汇总,按Head维度切。(切输入,非TP维度的切参数)

s/c, b, n/t, h\] -AlltoAll-\> \[s, b, n/(t\*c), h

第二次AlltoAll,恢复按Seq维度切,按Head维度汇总。

s, b, n/(t\*c), h\] -AlltoAll-\> \[s/c, b, n/t, h

其中t 为TP, c 为CP, n = nHead数

举例: CP = 2, TP =4 , H = 8192, nHead = 16

阶段 形状 说明
输入 [s/2, b, 8192] CP 切分后,每 rank 持有半个序列
MLA 解压后 Q/K/V [s/2, b, 16, 192] 16 heads/rank(64 heads ÷ TP=4),经过了TP的降维
A2A 后(scatter head,gather seq) [s, b, 8, 192] 全序列,head 减半
Flash Attention 输出 [s, b, 8, 128] 全序列本地计算
A2A 后(scatter seq,gather head) [s/2, b, 16, 128] 还原序列分片
o_proj 后 [s/2, b, 8192] 还原 hidden_states, 经过TP升维
python 复制代码
compressed_kv [s, b, 576]          ← kv_a_proj 压缩后的 latent,是 _preprocess 的输入
    │
    ├── split → ct_kv [s, b, 512]   ← kv_lora_rank 部分
    │           k_pe  [s, b, 64]    ← rope 部分
    │
    ├── kv_a_layernorm(ct_kv)
    │
    └── kv_b_proj (Up-projection, 解压)
              [s, b, 512] → [s, b, 16heads, 128+128]
              k_nope [s, b, 16, 128]
              v      [s, b, 16, 128]

q_b_input (经过 q_b_proj 解压)
    q_nope [s, b, 16, 128]
    q_pe   [s, b, 16, 64]

最终拼接:
    query_states [s, b, 16, 192]  = q_nope + q_pe
    key_states   [s, b, 16, 192]  = k_nope + k_pe
    value_states [s, b, 16, 128]

MLA attention:

python 复制代码
DeepseekV2Attention
    └── self.core_attention_flash = FlashAttention(...)      # 基础 flash attn
              ↓ (当 CP + alltoall 时自动包装)
    └── self.core_attention_flash = DistributedAttention(FlashAttention, cp_group)
相关推荐
XCDoris6 分钟前
郴州logo设计机构
大数据·人工智能·python
Goboy18 分钟前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V25 分钟前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI31 分钟前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技40 分钟前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据1 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化
冬奇Lab1 小时前
开源项目第242期:HyperFrames —— 写 HTML 就能渲染视频,专为 AI Agent 设计的确定性视频框架
人工智能·开源·音视频开发
zyseo81 小时前
谷歌SEO 准首页词挖掘脚本:找出排在第 8-20 名的隐藏流量
大数据·数据库·人工智能
一只游鱼2 小时前
MCP \
人工智能·microsoft
烛影摇红透纱窗2 小时前
AI从零介绍代码架构的复盘(含要使用的提示词)
人工智能·架构