CANN/cann-bench MaskedScale算子
2026/5/10 7:42:41 网站建设 项目流程

MaskedScale 算子 API 描述

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

1. 算子简介

MaskedScale 算子对输入张量进行掩码缩放操作,支持输入张量 x 和掩码张量 mask 的不同数据类型组合。

主要应用场景

  • Transformer 中的注意力掩码缩放
  • Dropout 的掩码乘法实现
  • 条件计算中的选择性缩放

算子特征

  • 难度等级:L1(MaskPredicate)
  • 双输入单输出,逐元素运算,输入 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 dtype
float16int8 / uint8 / float16 / float32float16
bfloat16int8 / uint8 / float16 / float32bfloat16
float32int8 / uint8 / float16 / float32float32

规则与约束

  • 输入 x、mask 的 shape 必须完全一致,输出 y 的 shape 也与之相同
  • 输出 dtype 与输入 x 的 dtype 一致
  • mask 通常取值 0 或 1,但不限于此(也支持连续值掩码)

4. 精度要求

采用生态算子精度标准进行验证。

误差指标

  1. 平均相对误差(MERE):采样点中相对误差平均值

    $$ \text{MERE} = \text{avg}(\frac{\text{abs}(actual - golden)}{\text{abs}(golden)+\text{1e-7}}) $$

  2. 最大相对误差(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 y

6. 额外信息

算子调用示例

import torch import cann_bench x = torch.randn(1024, 1024, dtype=torch.float16, device="npu") mask = torch.randint(0, 2, (1024, 1024), dtype=torch.int8, device="npu") y = cann_bench.masked_scale(x, mask, scale=2.0)

【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力,涵盖算子生成、算子优化等领域,支撑模型选型、训练效果评估,统一量化评估标准,识别Agent能力短板,构建CANN领域评测平台,推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询