| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |
LambNextMV
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
功能说明
-
算子功能:BERT LAMB优化器图融合算子:基于上游已算好的中间量(g^2、一/二阶矩、偏差校正分母等),完成Adam矩更新与偏差校正后的update计算。
-
计算公式:
y3=input_mul2×mul2_x+input_mul3×mul3_sub1(next_v)y3 = input\_mul2 \times mul2\_x + input\_mul3 \times mul3\_sub1\quad(next\_v)
y2=input_mul0×mul0_x+input_mul1×mul1_sub(next_m)y2 = input\_mul0 \times mul0\_x + input\_mul1 \times mul1\_sub\quad(next\_m)
y1=input_mul4×mul4_x+y2/input_realdiv0y3/input_realdiv1+add2_yy1 = input\_mul4 \times mul4\_x + \frac{y2/input\_realdiv0}{\sqrt{y3/input\_realdiv1} + add2\_y}
y4=y2/input_realdiv0y3/input_realdiv1+add2_yy4 = \frac{y2/input\_realdiv0}{\sqrt{y3/input\_realdiv1} + add2\_y}
参数说明
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| input_mul3 | 输入 | 公式中的input_mul3。 | FLOAT16、FLOAT | ND |
| input_mul2 | 输入 | 公式中的input_mul2。 | FLOAT16、FLOAT | ND |
| input_realdiv1 | 输入 | 公式中的input_realdiv1。 | FLOAT16、FLOAT | ND |
| input_mul1 | 输入 | 公式中的input_mul1。 | FLOAT16、FLOAT | ND |
| input_mul0 | 输入 | 公式中的input_mul0。 | FLOAT16、FLOAT | ND |
| input_realdiv0 | 输入 | 公式中的input_realdiv0。 | FLOAT16、FLOAT | ND |
| input_mul4 | 输入 | 公式中的input_mul4。 | FLOAT16、FLOAT | ND |
| mul0_x | 输入 | 公式中的mul0_x。 | FLOAT16、FLOAT | ND |
| mul1_sub | 输入 | 公式中的mul1_sub。 | FLOAT16、FLOAT | ND |
| mul2_x | 输入 | 公式中的mul2_x。 | FLOAT16、FLOAT | ND |
| mul3_sub1 | 输入 | 公式中的mul3_sub1。 | FLOAT16、FLOAT | ND |
| mul4_x | 输入 | 公式中的mul4_x。 | FLOAT16、FLOAT | ND |
| add2_y | 输入 | 公式中的add2_y。 | FLOAT16、FLOAT | ND |
| y1 | 输出 | 公式中的y1。 | FLOAT16、FLOAT | ND |
| y2 | 输出 | 公式中的y2。 | FLOAT16、FLOAT | ND |
| y3 | 输出 | 公式中的y3。 | FLOAT16、FLOAT | ND |
| y4 | 输出 | 公式中的y4。 | FLOAT16、FLOAT | ND |
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_lamb_next_m_v | 通过算子IR构图方式调用LambNextMV算子。 |