MoeInitRoutingQuant

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT ×
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:MoE的routing计算,根据aclnnMoeGatingTopKSoftmax的计算结果做routing处理,并对结果进行量化。

  • 计算公式

    expandedExpertIdx,sortedRowIdx=keyValueSort(expertIdx,rowIdx)expandedExpertIdx,sortedRowIdx=keyValueSort(expertIdx,rowIdx)

    expandedRowIdx[sortedRowIdx[i]]=iexpandedRowIdx[sortedRowIdx[i]]=i

    expandedX[i]=quant[x[sortedRowIdx[i]%numRows]]expandedX[i]=quant[x[sortedRowIdx[i]\%numRows]]

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 MOE的输入即token特征输入,对应公式中的`x`。 FLOAT16、BFLOAT16、FLOAT32 ND
rowIdx 输入 指示每个位置对应的原始行位置,对应公式中的`rowIdx`。 INT32 ND
expertIdx 输入 aclnnMoeInitRoutingQuantSoftmax的输出每一行特征对应的K个处理专家,对应公式中的`expertIdx`。 INT32 ND
activeNum 属性 表示总的最大处理row数且大于等于0,expandedXOut只有这么多行是有效的。 INT64 -
scale 属性 量化计算需要。 DOUBLE -
offset 属性 量化计算需要。 DOUBLE -
expandedXOut 输出 根据expertIdx进行扩展过的特征,对应公式中的`expandedX`。 INT8 ND
expandedRowIdxOut 输出 expandedX和x的映射关系,对应公式中的`expandedRowIdx`。 INT32 ND
expandedExpertIdxOut 输出 输出expertIdx排序后的结果,对应公式中的`expandedExpertIdx`。 INT32 ND

约束说明

无。

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_moe_init_routing_quant 通过aclnnMoeInitRoutingQuant接口方式调用MoeInitRoutingQuant算子。