---
title: MLA合并输入kvcache功能
description: "过去attention算子会将k和v存储在显存中，随着模型越来越大，输入序列越来越长，kvcache也越来越大，对显存的容量造成很大压力，造成性能上的瓶颈。因此Multi-Head Latent Attention提出将kvcache压缩成一个一个较小的向量，代替原来的kvcache输入进fa算子进行计算。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0212.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0212.html
indexId: d77d5695ec66cd502ba4ffb5b1be57e1420168ac77d1bb299e5c158600f3955364
---
# MLA合并输入kvcache功能

#### 功能说明

过去attention算子会将k和v存储在显存中，随着模型越来越大，输入序列越来越长，kvcache也越来越大，对显存的容量造成很大压力，造成性能上的瓶颈。因此Multi-Head Latent Attention提出将kvcache压缩成一个一个较小的向量，代替原来的kvcache输入进fa算子进行计算。


#### 开启方式

mlaVHeadSize > 0


#### 约束说明

- MLA合并输入kvcache功能不支持Atlas 推理系列产品，不支持alibi mask、多头自适应压缩（rope 场景）、多头自适应压缩（alibi 场景）、并行解码、logN缩放、BNSD输入排布。
- 开启MLA合并输入kvcache功能后query和keyCache的head_size范围为(0, 576]，当keyCache或valueCache的head_size>256时，block_size小于等于128，mlaVHeadSize不能大于query和keyCache的head_size。
- MLA合并kvcache功能支持全量化场景，一起开启时query和key的head_size范围为(0, 576]，mlaVHeadSize不能大于query和key的head_size，当keyCache或valueCache的head_size > 256时，block_size小于等于128。
- MLA合并输入只支持MQA场景。
- Atlas A2 训练系列产品 / Atlas A2 推理系列产品和Atlas A3 推理系列产品 / Atlas A3 训练系列产品上0<batch<=8192。
