文件最后提交记录最后更新时间
15 天前
7 个月前
7 个月前
2 个月前
5 个月前
2 个月前
7 个月前
15 天前
README

AdaLayerNorm

产品支持情况

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

功能说明

  • 算子功能:AdaLayerNorm算子将LayerNorm和下游的Add、Mul融合起来,通过自适应参数scale和shift来调整归一化过程。

  • 计算公式:

    out=LayerNorm(x)∗(1+scale)+shiftout = LayerNorm(x) * (1 + scale) + shift

    LayerNorm计算公式:

    LayerNorm(x)=x−E(x)Var(x)+epsilon∗weight+biasLayerNorm(x) = {{x-E(x)}\over\sqrt {Var(x)+epsilon}} * weight + bias

    其中,E(x)表示输入的均值,Var(x)表示输入的方差。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 表示进行归一化的输入数据,对应公式中的`x`。shape为[B…, S, H],其中B支持0到6个维度。 FLOAT32、FLOAT16、BFLOAT16 ND
scale 输入 表示自适应缩放参数。对应公式中的`scale`。shape为[B…, H]或[B…, 1, H],其中B支持0到6个维度,维度数量和大小与`x`中的B保持一致,H与`x`中H维一致。 FLOAT32、FLOAT16、BFLOAT16 ND
shift 输入 表示自适应偏移参数。对应公式中的`shift`。shape为[B…, H]或[B…, 1, H],其中B支持0到6个维度,维度数量和大小与`x`中的B保持一致,H与`x`中H维一致。 FLOAT32、FLOAT16、BFLOAT16 ND
weight 可选输入 表示归一化缩放参数。对应公式中的`weight`。shape为[H],H与`x`中H维一致。 FLOAT32、FLOAT16、BFLOAT16 ND
bias 可选输入 表示归一化偏移参数。对应公式中的`bias`。shape为[H],H与`x`中H维一致。 FLOAT32、FLOAT16、BFLOAT16 ND
epsilon 可选属性
  • 添加到分母中的值,以确保数值稳定,对应公式中的`epsilon`。
  • 默认值为1e-5。
FLOAT32 -
out 输出 表示归一化后的结果,对应公式中的`out`。shape与`x`保持一致。 FLOAT32、FLOAT16、BFLOAT16 ND

约束说明

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_ada_layer_norm 通过aclnnAdaLayerNorm接口方式调用AdaLayerNorm算子。