| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[CANNBot]新增ApplyFtrlV2优化器算子支持Ascend950 Co-authored-by: chen_chenn<chenchen167@huawei.com> # message auto-generated for no-merge-commit merge: !6620 merge apply_ftrl_v2 into master [CANNBot]新增ApplyFtrlV2优化器算子支持Ascend950 Created-by: chen_chenn Commit-by: chen_chenn Merged-by: cann-robot Description: ## 描述 [CANNBot]新增ApplyFtrlV2优化器算子支持Ascend950 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3596 --- 算子功能 ApplyFtrlV2 执行 FTRL V2 优化器的单步参数更新(inplace),对标 TensorFlow tf.raw_ops.ApplyFtrlV2。相比 V1 新增 l2Shrinkage 参数支持 shrinkage-type L2 正则化,当 l2Shrinkage=0 时退化为 V1。 - 输入:var、accum、linear、grad(FP32/FP16/BF16)+ lr、l1、l2、l2_shrinkage、lr_power(标量) - 输出:var_out、accum_out、linear_out(与输入共享 Device 内存) 设计思路 - 目标平台:Ascend950(arch35),仅 Vector 路径 - 双路径:FP32 直算 / FP16/BF16 升精度到 FP32 域计算 - Tiling:多核 blockFormer(512 对齐)+ UB tileLength(256B 对齐,单核单循环) - Kernel:CopyIn(DataCopyPad 同步)→ Compute(FP32 域七步 FTRL 更新,TBuf buffer 复用)→ CopyOut - 标量输入:Init 阶段从 GM 读取一次存成员变量,循环内直接使用 - 精度优化:常用 lrPower 指数用 Sqrt 分解替代 Power API;重构公式减少中间除法 --- ## 测试 TTK obp冒烟:23299 david冒烟:7324 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!6620 | 23 天前 |