vllm-project/vllm-ascend

[Contribution] 任务 #1:[Perf] MLA 读侧去重

Ouverte

#14 140 ouverte le 13 août 2026

 (4 commentaires) (0 réaction) (0 personne assignée)C++ (2 048 forks)github user discovery
help wanted

Métriques du dépôt

Stars
 (2 637 étoiles)
Métriques de merge PR
 (Merge moyen 4j 5h) (559 PRs mergées en 30 j)

Description

背景

MLA 写侧已做去重(仅 rank 0 写入 KV 池,见 _store_kvtp_rank % put_step 判断),但读侧未对齐:每个 TP rank 各自从 KV 池取同一份数据到各自 buffer(start_load_kv 读路径)。TP 越大冗余越多,且 MLA 数据量小,固定开销占比高。

相关代码路径:vllm_ascend/distributed/kv_transfer/kv_pool/ascend_store

任务

实现 MLA 读侧去重:仅一个 rank 从 KV 池取数,再分发到其余 TP rank,消除多 rank 重复 I/O。

  • 模型:MLA 架构(如 GLM-5.2 等)
  • 路径:worker 侧 start_load_kv 读路径
  • 数据分发方式(broadcast / scatter / 其他)由开发者自定,需保证各 rank 最终拿到的数据与去重前逐字节一致

验收标准

1. 功能正确性

  • 去重后各 TP rank 拿到的数据与去重前逐字节一致
  • TP mismatch 路径不破坏去重逻辑
  • MLA / 非 MLA 模型均无回归

2. 性能验证

  • TP=2/4/8 下改动前后 get 调用次数与端到端延迟对比
  • 长序列(16K/64K)下的收益数据

3. 交付件

  • PR + 设计说明(改动动机 / 方案 / 风险 / 回退路径)+ 单测 + 性能数据

环境约定

  • vllm-ascend:最新 main
  • 硬件:Ascend NPU(注明型号 + 卡数 + TP/CP/PP 配置)
  • 关联任务池:#9079
  • 验收人:@赵鹏博

重点关注

  • put_step 与读侧 step 的语义对齐

任务周期

  • 发布:2026-08-12
  • 回收:2026-09-30

Guide contributeur