文件最后提交记录最后更新时间
18 天前
6 个月前
18 天前
18 天前
18 天前
7 个月前
1 个月前
README

DuaQuantizeAddLayerNorm

产品支持情况

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

功能说明

  • 算子功能:DuaQuantizeAddLayerNorm是一个复杂的计算,结合了量化、加法和层归一化(Layer Normalization)的功能。

  • 计算公式:

    x=x1+x2+biasx = x1 + x2 + bias

    rstd=1Var(x)+epsilonrstd = {{1}\over\sqrt {Var(x)+epsilon}}

    norm_out=(x−xˉ)∗rstd∗gamma+betanorm\_out = (x-\bar{x}) * rstd * gamma + beta

    out1=round((norm_out/scales1)+zero_points1)out1 = round((norm\_out/scales1)+zero\_points1)

    out2=round((norm_out/scales2)+zero_points2)out2 = round((norm\_out/scales2)+zero\_points2)

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x1 输入 为正向融合算子的输入x1,对应公式中的`x1`。 FLOAT16、BFLOAT16、FLOAT32 ND
x2 输入 为正向融合算子的输入x2,对应公式中的`x2`。 FLOAT16、BFLOAT16、FLOAT32 ND
gamma 输入 表示进行归一化计算的权重,对应公式中的`gamma`。 FLOAT16、BFLOAT16、FLOAT32 ND
beta 输入 表示进行归一化中的偏移量,对应公式中的`beta`。 FLOAT16、BFLOAT16、FLOAT32 ND
bias 可选输入 表示DuaQuantizeAddLayerNorm中加法计算的输入,对应公式中的`bias`。 FLOAT16、BFLOAT16、FLOAT32 ND
scales1 可选输入 用于量化第一个输入张量的缩放因子,对应公式中的`scales1`。 BFLOAT16、FLOAT32 ND
scales2 可选输入 用于量化第二个输入张量的缩放因子,对应公式中的`scales2`。 BFLOAT16、FLOAT32 ND
zero_points1 可选输入 用于量化第一个输入张量的偏移量,对应公式中的`zero_points1`。 INT8、UINT8、BFLOAT16、INT32 ND
zero_points2 可选输入 用于量化第二个输入张量的偏移量,对应公式中的`zero_points2`。 INT8、UINT8、BFLOAT16、INT32 ND
dtype 必选属性
  • 指定量化后的输出张量y的数据类型。
  • 没有默认值。
INT -
axis 可选属性
  • 表示需要进行量化的elewise轴,其他的轴做broadcast,指定的轴不能超过输入x的维度数。当前仅支持-1,传其他值均不生效。
  • 默认值为-1。
INT -
epsilon 可选属性
  • 添加到分母中的值,以确保数值稳定,对应公式中的`epsilon`。
  • 默认值为1e-5。
FLOAT32 -
additional_output 可选属性
  • 表示是否开启x的输出。
  • 默认值为false。
BOOL -
y1 输出 量化后的第一个输出张量,对应公式中的`out1`。 INT8、UINT8、INT32 ND
y2 输出 量化后的第二个输出张量,对应公式中的`out2`。 INT8、UINT8、INT32 ND
x 输出 表示x1和x2的和,对应公式中的`x`。 FLOAT16、BFLOAT16、FLOAT32 ND

约束说明

调用说明

调用方式 样例代码 说明
图模式 test_geir_dua_quantize_add_layer_norm 通过算子IR构图方式调用DuaQuantizeAddLayerNorm算子。