规格约束
- 输入数据排布格式为TYPE_BSND时:
- 在非PA_ENCODER下,Atlas 800I A2 推理产品/Atlas A2 训练系列产品上的query,key,value可传二维[nTokens, hiddenSize]或四维[batch, seq_len, head_num, head_size]。
- 在PA_ENCODER下,Atlas 800I A2 推理产品/Atlas A2 训练系列产品上的query,key,value可传二维[nTokens, hiddenSize]或三维[nTokens, head_num, head_size]。
- 当在以下场景时,head_size = head_size_v,范围为(0,256],其他情况head_size可以不等于head_size_v,二者的范围为(0,576]。
- 开启量化
- 注意力使用logN缩放特性
- “inputLayout”为TYPE_BNSD
- 在Atlas 推理系列产品上运行
- Atlas 推理系列产品上:
- mask大小必须使用真实的max_seq_len。
- 0<batch<=2000。
- q_seq_len必须等于kv_seq_len。
- 关于tensor维度中的nTokens:
- Atlas 800I A2 推理产品/Atlas A2 训练系列产品上为各batch上seq_len之和。
- Atlas 推理系列产品上:PA_ENCODER下为所有batch的seq_len之和向上对齐到16的整数倍。
- 其余情况下为所有batch上的seq_len先向上对齐到16的整数倍,再求和。
- 关于选取何种mask:
- 在全量阶段,依据原生模型的配置,选择“maskType”是MASK_TYPE_NORM或MASK_TYPE_ALIBI。
- 在增量阶段,如果原模型非alibi,且mask没有做padding,可选择“maskType”为UNDEFINED,即不传mask;其他情况则依据原生模型的配置,选择“maskType”是MASK_TYPE_NORM或MASK_TYPE_ALIBI。
- 在长序列场景下,可以考虑压缩mask,压缩mask的构造方法详见压缩mask。
- 在PA_ENCODER下:
- qScale不生效。
- query,key,value的维度数要相同。
- 若想使用GQA模式,需满足headNum > kvHeadNum且headNum%kvHeadNum == 0。