昇腾社区首页
中文
注册

规格约束

  • 输入数据排布格式为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。