MLA并行解码

功能

在MLA场景下的并行解码功能。

开启方式

输入

参数

维度

数据类型

格式

cpu or npu

描述

使用场景

query

[num_tokens, num_head, head_size]

float16/bf16

ND

npu

各batch的query在num_tokens轴合并。

基础场景

keyCache

[num_blocks, block_size, kv_head_num, head_size_k]

float16/bf16

ND

npu

kcache。

基础场景

blockTables

[num_tokens, max_num_blocks_per_query]

int32

ND

npu

每个query的kvcache的block table,第一维是token索引,第二维表示block索引。

基础场景

contextLens

[batch]

int32

ND

cpu

每个query对应的key/value的token数量。

基础场景

mask

[num_tokens(合轴) ,max_seqlen]

float16/bf16

ND

npu

当maskType不为UNDEFINED时输入。

mask场景

qSeqLens

[batch]

int32

ND

cpu

当开启并行解码功能时需要传此tensor,每个batch对应的seqLen。

并行解码场景

输出

参数

维度

数据类型

格式

cpu or npu

描述

使用场景

attnOut

[num_tokens, num_head, head_size_v]

float16/bf16

ND

npu

经过计算输出的query。

基础场景

特殊约束