- [object Object]Ascend 950PR/Ascend 950DT[object Object]:支持
- [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:支持
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:支持
- [object Object]Atlas 200I/500 A2 推理产品[object Object]:不支持
- [object Object]Atlas 推理系列产品[object Object]:支持
- [object Object]Atlas 训练系列产品[object Object]:不支持
接口功能:LayerNorm算子是大模型常用的归一化操作。AddLayerNormQuantV2算子将LayerNorm前的Add算子和LayerNorm归一化输出给1个或2个下游的量化算子融合起来,减少搬入搬出操作。LayerNorm下游的量化算子可以是Quantize、AscendQuantV2或DynamicQuant算子,具体的量化算子类型由attr入参divMode和quantMode决定。当下游有2个量化算子时,2个量化算子的算子类型、输入输出dtype组合和可选输入的组合需要完全一致。本接口相较于,增加了LayerNorm的输出,请根据实际情况选择合适的接口。
计算公式:
当quantMode输入为"static"时,输出outScales1Out和outScales2Out无实际意义。取决于divMode的输入,融合的量化算子可能是Quantize或AscendQuantV2。
当divMode输入为true时,融合的量化算子为Quantize,计算公式如下所示:
当divMode输入为false时,融合的量化算子为AscendQuantV2,计算公式如下所示:
当quantMode输入为"dynamic"时,输入zeroPoints1Optional和zeroPoints2Optional无实际意义。融合的量化算子是DynamicQuant,此时divMode无效:
若scales1Optional和scales2Optional均无输入,则y2Out和scale2Out输出无实际意义,可忽略。计算公式如下所示:
若仅输入scales1Optional,则y2Out和scale2Out输出无实际意义,可忽略。计算公式如下所示:
若scales1Optional和scales2Optional均存在,则y2Out和scale2Out输出有效。计算公式如下所示:
其中row_max代表对每行求最大值。
每个算子分为,必须先调用[object Object]接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用[object Object]接口执行计算。
支持产品约束:
[object Object]- [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]、[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:
- 当前场景仅支持
[object Object]、[object Object]、[object Object]分别取值为[object Object]、[object Object]、[object Object]。 - 当前场景仅支持
[object Object]、[object Object]为空。 - 当前场景仅支持perTensor量化模式,即
[object Object]、[object Object]的shape为[1],[object Object]、[object Object]的shape为[1,x1的最后一维]。 - 当前场景仅支持
[object Object]、[object Object]数据类型与[object Object]保持一致。
- 当前场景仅支持
- [object Object]Atlas 推理系列产品[object Object]:
- 当前场景仅支持
[object Object]、[object Object]、[object Object]分别取值为[object Object]、[object Object]、[object Object]。 - 当前场景仅支持
[object Object]、[object Object]为空。 - 当前场景仅支持perTensor量化模式,即
[object Object]、[object Object]的shape为[1],[object Object]、[object Object]的shape为[1,x1的最后一维]。 - 当前场景仅支持
[object Object]、[object Object]数据类型与[object Object]保持一致。 - 当前场景不支持BFLOAT16类型。
- 入参
[object Object]、[object Object]的norm轴长度必须大于等于32 Bytes。
- 当前场景仅支持
- [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]、[object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]:
功能维度:
可选输入(scales1Optional、scales2Optional、zeroPoints1Optional、zeroPoints2Optional)支持的可选输入组合如下所示:
[object Object]undefined
其中:
[object Object]代表可选输入存在或组合方式合法。[object Object]代表可选输入不存在或组合方式不合法。[object Object]代表任意情况均可。
数据类型支持说明:
当
[object Object]为"static"时:[object Object]undefined
当
[object Object]为"dynamic"时:[object Object]undefined
确定性计算:
- aclnnAddLayerNormQuantV2默认确定性实现。