功能
过去attention算子会将k和v存储在显存中,随着模型越来越大,输入序列越来越长,kvCache也越来越大,对显存的容量造成很大压力,造成性能上的瓶颈。因此Multi-Head Latent Attention提出将kvCache压缩成一个一个较小的向量,代替原来的kvCache输入进fa算子进行计算。
开启方式
- calcType= PA_ENCODER
- mlaVHeadSize > 0
特殊约束
- MLA合并输入kvCache功能不支持Atlas 推理系列产品,不支持alibi mask,多头自适应压缩(rope 场景),多头自适应压缩(alibi 场景),logN缩放,BNSD输入排布。
- 开启MLA合并输入kvCache功能后key和value的headSize范围为(0, 576]。
- mlaVHeadSize不能大于query和key的headSize。
- 开启MLA合并输入kvCache功能后query,key,value可传二维[nTokens, hiddenSize]或三维[nTokens, headNum, headSize]或四维[batch, seqLen, headNum, headSize],且query,key的维度数可以不同。
- MLA合并kvCache功能支持全量化场景,一起开启时query和key的headSize范围为(0, 576],mlaVHeadSize不能大于query和key的headSize。