MLA输入输出
参数  | 
维度  | 
数据类型  | 
格式  | 
cpu/npu  | 
描述  | 
|---|---|---|---|---|---|
qNope  | 
[num_tokens, num_heads, 512]  | 
float16/bf16/int8  | 
ND  | 
NPU  | 
输入,无位置编码query。  | 
qRope  | 
[num_tokens, num_heads, 64]  | 
float16/bf16  | 
ND  | 
NPU  | 
输入,旋转位置编码query。  | 
ctKV  | 
[num_blocks , block_size, kv_heads, 512]  | 
float16/bf16/int8  | 
ND/NZ  | 
NPU  | 
输入,无位置编码ctkv。 
  | 
kRope  | 
[num_blocks , block_size, kv_heads, 64] cacheMode为2或3: [blockNum, kv_heads*64 / 16 ,block_size, 16]  | 
float16/bf16  | 
ND/NZ  | 
NPU  | 
输入,旋转位置编码k。 cacheMode为2或3:NZ。  | 
block_tables  | 
[batch, max_num_blocks_per_query]  | 
int32  | 
ND  | 
NPU  | 
输入,每个query的kvcache的block映射表。  | 
contextLens  | 
[batch]  | 
int32  | 
ND  | 
CPU  | 
输入,每个query对应的上下文长度,kvseqlen。  | 
mask  | 
float16/bf16  | 
ND  | 
NPU  | 
输入,注意力掩码,maskType不为0时传入。  | 
|
qseqlen  | 
[batch]  | 
int32  | 
ND  | 
CPU  | 
输入,calcType为1时传入,每个batch对应的seqLen,取值范围为[1,4]。  | 
qkDescale  | 
[num_heads]  | 
float  | 
ND  | 
NPU  | 
输入,cacheMode为2时传入。  | 
pvDescale  | 
[num_heads]  | 
float  | 
ND  | 
NPU  | 
输入,cacheMode为2时传入。  | 
attenOut  | 
[num_tokens, num_heads, head_size_vo]  | 
float16/bf16  | 
ND  | 
NPU  | 
attention输出。  | 
Ise  | 
[num_tokens, num_heads, 1]  | 
float16/bf16  | 
ND  | 
NPU  | 
Ise输出,当calcType为CALC_TYPE_RING和CALC_TYPE_SPEC_AND_RING时需要此tensor。 当CalcType为CALC_TYPE_RING时,只支持MaskType为UNDEFINED。当CalcType为CALC_TYPE_SPEC_AND_RING时,支持MaskType为MASK_TYPE_SPEC,cacheMode为KROPE_CTKV场景。  |