已关闭
[Requirement|需求建议]: 新增将MoE路由分数归一化的融合算子ScoreNormalize #169
MegaWay创建于 2025年11月13日关闭于 2025年12月29日
MegaWay
2025年11月13日 评论:
2025年11月13日 评论:
/assign @wangyuwei22


2025年11月13日 将 wangyuwei22 设为负责人
2025年11月13日 关联了pull request:Add fused operator ScoreNormalize
2025年11月26日 修改了issue 的描述
YuZhengzhong
2025年11月27日 评论:
2025年11月27日 评论:
您好,请问issue的公式中乘2.5是为什么,这个参数在不同的模型中是否会不同?如果会不同,这里建议2.5作为算子的一个入参


monologue815
2025年11月28日 评论:
2025年11月28日 评论:
您好,目前已评审接纳该需求,请按照贡献流程中的要求提交PR合入代码:https://gitcode.com/cann/ops-transformer/blob/master/CONTRIBUTING.md


2025年12月29日 issue状态由 进行中 改变为 已完成
2025年12月29日 关闭了 issue
2025年12月29日 添加了label:Accepted
3月20日 添加了label:resolved
Backgroud(背景信息)
使用AscendC 实现对MoE专家得分进行归一化的算子ScoreNormalize。ScoreNormalize算子将MoE模型中的路由专家分数进行归一化,输入x(BFloat16)是shape为[rows,k]的张量,即路由专家的分数,其中rows表示序列长度,k表示topk。
ScoreNormalize将分数以最后一维执行归一化,计算公式为:
x=∑i=1kxix×2.5
Benefit / Necessity (价值/作用)
将通过多个aclnn适配的归一化操作融合为一个算子实现,优化效率。
Design(设计方案)
Tilling 策略
Kernel 侧设计
进行Init和Process两个阶段,其中Process包括数据搬入(CopyIn)、计算(Compute)、数据搬出(CopyOut)三个阶段,实现专家得分归一化计算。