SuperAPI AI 工具集

external-cannbot-model-model-infer-kvcache

智能体与模型

查看项目

更新于 10-15 17:19

技能介绍

用途:该技能面向昇腾 NPU 上的 LLM 文本推理,指导 KVCache 的管理与优化实现。资料显示其按渐进式披露组织,分为快速选型、实现模式、深入原理与参考附录四层。

主要能力:

  1. 连续缓存(模式一):KV 以连续 tensor 存储,用 scatter_update_ 写入,FA 直接读取整个缓存,无需 block_table,适用于标准 LLM(MHA/GQA,如 gpt-oss、qwen3-moe)。
  2. 分页注意力 + FA(模式二):KV 按固定大小 Block 存储,FA 通过 block_table 索引分块缓存,需构造 block_table 与 slot_mapping,适用于高性能 LLM(如 deepseek-r1、kimi-k2)。
  3. MLA 压缩缓存(模式三):将 KV 压缩为低维 latent,只缓存 cache_nope 与 cache_rope,可叠加在模式一或模式二之上,适用于 DeepSeek 系列。 此外还涉及扩散/视频模型的 FA 直接计算(无 KVCache 分页,BNSD layout)。

使用方式:按决策路径先确认架构类型,再选择模式。缓存写入使用 torch_npu.scatter_update_ 或融合算子 torch_npu.npu_kv_rmsnorm_rope_cache;注意力计算使用 torch.ops.npu.npu_fused_infer_attention_score(FA v1)或 npu_fused_infer_attention_score_v2(FA v2)。block_table 静态预分配且推理全程不变,slot_mapping 每步重算,kv_len 为驱动核心变量。

适用场景:昇腾 NPU 上 LLM 推理中 KVCache 管理实现、paged attention、KV cache 写入与读取优化等。

限制与注意事项:PA 必须配合 FA,无法使用标准 softmax;block_table dtype 必须为 int32;MLA 中 query_rope 和 key_rope 必须同时传或同时不传,rope D 必须为 64,MLA query D 仅支持 512 或 128,D=512 时仅支持 sparse_mode 0、3、4;FA v1 与 v2 参数名不同,混用不报错但会静默使用默认值导致精度异常;Prefill 与 Decode 需分别配置参数;atten_mask dtype 只允许 bool/int8/uint8,shape 固定 [2048, 2048]。资料中未提供收费、价格、安装命令等其它信息。