MaskedScale 算子 API 描述【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力涵盖算子生成、算子优化等领域支撑模型选型、训练效果评估统一量化评估标准识别Agent能力短板构建CANN领域评测平台推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench1. 算子简介MaskedScale 算子对输入张量进行掩码缩放操作支持输入张量 x 和掩码张量 mask 的不同数据类型组合。主要应用场景Transformer 中的注意力掩码缩放Dropout 的掩码乘法实现条件计算中的选择性缩放算子特征难度等级L1MaskPredicate双输入单输出逐元素运算输入 x、mask 和输出 y 的 shape 需一致2. 算子定义数学公式$$ y x \cdot mask \cdot scale $$3. 接口规范算子原型cann_bench.masked_scale(Tensor x, Tensor mask, float scale) - Tensor y输入参数说明参数类型默认值描述xTensor必选输入张量maskTensor必选掩码张量shape 须与 x 一致scalefloat1.0缩放因子输出参数Shapedtype描述y与输入 x 相同与输入 x 相同掩码缩放结果数据类型x 与 mask 支持不同 dtype 的组合x dtypemask dtypey dtypefloat16int8 / uint8 / float16 / float32float16bfloat16int8 / uint8 / float16 / float32bfloat16float32int8 / uint8 / float16 / float32float32规则与约束输入 x、mask 的 shape 必须完全一致输出 y 的 shape 也与之相同输出 dtype 与输入 x 的 dtype 一致mask 通常取值 0 或 1但不限于此也支持连续值掩码4. 精度要求采用生态算子精度标准进行验证。误差指标平均相对误差MERE采样点中相对误差平均值$$ \text{MERE} \text{avg}(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)\text{1e-7}}) $$最大相对误差MARE采样点中相对误差最大值$$ \text{MARE} \max(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)\text{1e-7}}) $$通过标准数据类型FLOAT16BFLOAT16FLOAT32HiFLOAT32FLOAT8 E4M3FLOAT8 E5M2通过阈值(Threshold)2^-102^-72^-132^-112^-32^-2当平均相对误差 MERE Threshold最大相对误差 MARE 10 * Threshold 时判定为通过。5. 标准 Golden 代码import torch def masked_scale( x: torch.Tensor, mask: torch.Tensor, scale: float 1.0 ) - torch.Tensor: 对输入张量进行掩码缩放支持x和mask的不同数据类型组合 公式: y x * mask * scale Args: x: 输入张量 mask: 掩码张量 scale: 缩放因子 Returns: 掩码缩放结果 y x * mask * scale return y6. 额外信息算子调用示例import torch import cann_bench x torch.randn(1024, 1024, dtypetorch.float16, devicenpu) mask torch.randint(0, 2, (1024, 1024), dtypetorch.int8, devicenpu) y cann_bench.masked_scale(x, mask, scale2.0)【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力涵盖算子生成、算子优化等领域支撑模型选型、训练效果评估统一量化评估标准识别Agent能力短板构建CANN领域评测平台推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考