Exp 算子 API 描述【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力涵盖算子生成、算子优化等领域支撑模型选型、训练效果评估统一量化评估标准识别Agent能力短板构建CANN领域评测平台推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench1. 算子简介Exp 算子用于计算输入张量的广义指数函数支持自定义底数base、缩放因子scale和偏移量shift三个参数涵盖自然指数、任意底数指数等多种变体。主要应用场景Softmax 中的自然指数计算注意力机制中的指数缩放概率分布与对数域间的转换学习率调度与指数衰减算子特征难度等级L1Elementwise单输入单输出逐元素运算输出 shape 与输入完全一致2. 算子定义数学公式通用公式$$ y e^{(x \cdot scale shift) \cdot \ln(base)}, \quad base 0 $$自然指数当 $base \leq 0$ 时使用自然底数 $e$$$ y e^{x \cdot scale shift} $$特殊情况条件简化公式base ≤ 0, scale1, shift0$y e^x$base 0, scale1, shift0$y base^x$base1任意 scale, shift$y 1$因 $\ln 1 0$3. 接口规范算子原型cann_bench.exp(Tensor x, float base, float scale, float shift) - Tensor y输入参数说明参数类型默认值描述xTensor必选输入张量支持任意维度basefloat-1.0指数底数≤ 0 表示使用自然底数 $e$ 0 表示自定义底数scalefloat1.0输入缩放因子shiftfloat0.0输入偏移量输出参数Shapedtype描述y与输入 x 相同与输入 x 相同指数计算结果数据类型输入 dtype输出 dtypefloat16float16float32float32bfloat16bfloat16规则与约束输出 shape 与输入 shape 完全一致输出 dtype 与输入 dtype 一致base参数≤ 0 时一律视为自然底数 $e$ 0 时使用该值作为底数x支持任意维度1D ~ 5D 及更高维不限制具体 shape需注意数值溢出float16 的有效范围约 [-65504, 65504]float32 下 $e^x$ 在 $|x| 88$ 左右可能溢出为 inf4. 精度要求采用生态算子精度标准进行验证。误差指标平均相对误差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 exp( x: torch.Tensor, base: float -1.0, scale: float 1.0, shift: float 0.0 ) - torch.Tensor: 计算输入张量的指数函数 - base 0: y exp(scale * x shift) - base 0: y exp((shift scale * x) * ln(base)) Args: x: 输入张量 base: 指数底数base 0 表示使用自然底数 e scale: 输入缩放因子 shift: 输入偏移量 Returns: 指数计算结果 temp scale * x shift if base 0: temp temp * torch.log(torch.tensor(base, dtypex.dtype, devicex.device)) return torch.exp(temp)6. 额外信息算子调用示例import torch import cann_bench x torch.randn(1024, 1024, dtypetorch.float16, devicenpu) y cann_bench.exp(x, base-1.0, scale1.0, shift0.0) # 自然指数 e^x y cann_bench.exp(x, base2.0, scale1.0, shift0.0) # 2^x y cann_bench.exp(x, base-1.0, scale2.0, shift1.0) # e^(2x1)【免费下载链接】cann-bench评测AI在处理CANN领域代码任务的能力涵盖算子生成、算子优化等领域支撑模型选型、训练效果评估统一量化评估标准识别Agent能力短板构建CANN领域评测平台推动AI能力在CANN领域的持续演进。项目地址: https://gitcode.com/cann/cann-bench创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考