输入输出
参数  | 
维度  | 
数据类型  | 
格式  | 
cpu/npu  | 
描述  | 
使用场景  | 
|---|---|---|---|---|---|---|
query  | 
[ntokens, qHiddenSize]  | 
float16/bf16  | 
ND  | 
npu  | 
query矩阵。  | 
基础场景  | 
key  | 
[ntokens, kHiddenSize]  | 
float16/bf16  | 
ND  | 
npu  | 
key矩阵,当“kvcacheCfg”配置为K_BYPASS_V_BYPASS,不传入。  | 
基础场景  | 
value  | 
[ntokens, vHiddenSize]  | 
float16/bf16  | 
ND  | 
npu  | 
value矩阵,当“kvcacheCfg”配置为K_BYPASS_V_BYPASS,不传入。  | 
基础场景  | 
cacheK  | 
[layerNum, batch, maxSeqLen, kHiddenSize]  | 
float16/bf16  | 
cpu/npu  | 
  | 
基础场景  | 
|
cacheV  | 
[layerNum, batch, maxSeqLen, vhiddenSize]  | 
float16/bf16  | 
npu/cpu  | 
  | 
基础场景  | 
|
attentionMask  | 
[maxSeqLen, maxSeqLen]/[batch, maxSeqLen, maxSeqLen]/[batch, 1, maxSeqLen]/[batch, headNum, maxSeqLen, maxSeqLen]/[512,512]  | 
float16/bf16  | 
npu  | 
五种shape分别对应: 1.所有batch相同或SWA norm mask,方阵。 2.batch不同时的方阵。 3. batch不同时的向量。 4. alibi场景。 5.SWA compress mask。  | 
mask场景  | 
|
tokenOffset  | 
[batch]  | 
int32/uint32  | 
ND  | 
cpu  | 
计算完成后的token偏移。  | 
基础场景  | 
seqLen  | 
[batch]  | 
int32/uint32  | 
ND  | 
cpu  | 
等于1时,为增量或全量;大于1时,为全量。  | 
基础场景  | 
layerId  | 
[1]  | 
int32/uint32  | 
ND  | 
npu  | 
取cache的kv中哪一个kv进行计算。  | 
基础场景  | 
batchStatus  | 
[batch]  | 
int32/uint32  | 
ND  | 
cpu  | 
开启控制可计算batch功能时,通过标志位控制具体需要运算的batch。  | 
控制可计算batch场景  | 
logN  | 
  | 
float  | 
ND  | 
npu  | 
全量阶段为长度maxSeqLen的logN序列,batch内每条请求根据自己的序列长度seqlen从该向量中取值;增量阶段为各batch新增请求对应的logN;当scale类型为logN时需要传此tensor。  | 
LogN场景  | 
output  | 
[nTokens, vHiddenSize]  | 
float16/bf16  | 
ND  | 
npu  | 
输出。  | 
基础场景  |