昇腾社区首页
中文
注册
开发者
下载

aclnnAdaLayerNormV2

产品支持情况

[object Object]undefined

功能说明

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

  • 计算公式:

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

    LayerNorm计算公式:

    mean=E(x)mean = E(x) rstd=1.0Var(x)+epsilonrstd = {1.0\over\sqrt {Var(x)+epsilon}} LayerNorm(x)=(xmean)rstdweightOptional+biasOptionalLayerNorm(x) = (x-mean) * rstd * weightOptional + biasOptional

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

函数原型

每个算子分为,必须先调用“aclnnAdaLayerNormV2GetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnAdaLayerNormV2”接口执行计算。

[object Object]
[object Object]

aclnnAdaLayerNormV2GetWorkspaceSize

  • 参数说明

    [object Object]
  • 返回值

    aclnnStatus:返回状态码,具体参见

    第一段接口完成入参校验,出现以下场景时报错:

    [object Object]

aclnnAdaLayerNormV2

  • 参数说明

    [object Object]
  • 返回值

    aclnnStatus:返回状态码,具体参见

约束说明

aclnnAdaLayerNormV2默认为确定性实现,暂不支持非确定性实现,配置也不会生效。

调用示例

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]