规格约束
- 因硬件限制,block_size %16 == 0,推荐 block_size = 128。
- 开启并行解码功能时,blockSize <= 128。
- blockTables中元素的值须在[0, num_blocks)之间。
- head_size范围为(0, 256],keyCache和valueCache的格式为NZ时,head_size必须是16倍数。
- 在Atlas 推理系列产品上 :
- query、keyCache、valueCache、maskTensor 四个入参只支持float16。
- 0<batch<=2048。
- 多头自适应压缩、并行解码场景、量化场景、以及Atlas 推理系列产品上,keyCache,valueCache的headsize等长,范围为(0, 256],且block_size * head_size ≤ 128 * 128,否则keyCache,valueCache的head_size可以不相同,范围为(0, 576],当keyCache或valueCache的head_size > 256时,block_size小于等于128。
- 针对mask类型,如果原模型非alibi,且mask没有做padding,可选择“maskType”为UNDEFINED,即不传mask;其他情况则依据原生模型的配置,选择“maskType”是MASK_TYPE_NORM或MASK_TYPE_ALIBI。
- BNSD不支持PA_ENCODER。
- Atlas 训练系列产品与Atlas 推理系列产品的输入输出约束相同,Atlas 训练系列产品只支持“maskType”为UNDEFINED、MASK_TYPE_NORM或MASK_TYPE_ALIBI的基础功能场景,其余特性参数需为默认值。
- 若想使用GQA模式,需满足headNum > kvHeadNum且headNum%kvHeadNum == 0。
- 当blocksize = head_size = 256时,在Atlas 800I A2 推理产品/Atlas A2 训练系列产品上,输入格式需满足BSND、非量化、decoder场景。