当前位置: 首页 > news >正文

CANN Exp算子API描述

Exp 算子 API 描述

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

1. 算子简介

Exp 算子用于计算输入张量的广义指数函数,支持自定义底数(base)、缩放因子(scale)和偏移量(shift)三个参数,涵盖自然指数、任意底数指数等多种变体。

主要应用场景

  • Softmax 中的自然指数计算
  • 注意力机制中的指数缩放
  • 概率分布与对数域间的转换
  • 学习率调度与指数衰减

算子特征

  • 难度等级:L1(Elementwise)
  • 单输入单输出,逐元素运算,输出 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, scale=1, shift=0$y = e^x$
base > 0, scale=1, shift=0$y = base^x$
base=1(任意 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输出 dtype
float16float16
float32float32
bfloat16bfloat16

规则与约束

  • 输出 shape 与输入 shape 完全一致,输出 dtype 与输入 dtype 一致
  • base参数:≤ 0 时一律视为自然底数 $e$;> 0 时使用该值作为底数
  • x支持任意维度(1D ~ 5D 及更高维),不限制具体 shape
  • 需注意数值溢出:float16 的有效范围约 [-65504, 65504],float32 下 $e^x$ 在 $|x| > 88$ 左右可能溢出为 inf

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 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, dtype=x.dtype, device=x.device)) return torch.exp(temp)

6. 额外信息

算子调用示例

import torch import cann_bench x = torch.randn(1024, 1024, dtype=torch.float16, device="npu") y = cann_bench.exp(x, base=-1.0, scale=1.0, shift=0.0) # 自然指数 e^x y = cann_bench.exp(x, base=2.0, scale=1.0, shift=0.0) # 2^x y = cann_bench.exp(x, base=-1.0, scale=2.0, shift=1.0) # e^(2x+1)

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

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

http://www.jsqmd.com/news/783700/

相关文章:

  • 2026届学术党必备的降AI率工具横评
  • 山东汇鑫利商贸:南京不锈钢材料哪家专业 - LYL仔仔
  • CANN技能并行层替换代码示例
  • CANN/torchtitan-npu MTP特性
  • 深圳市鸿鑫隆再生资源回收有限公司|深圳全域再生资源回收服务商 - 新闻快传
  • AI公平性评估:从量化指标到标准化认证的实践指南
  • U-Mail自建邮箱服务器方案 - U-Mail邮件系统
  • 2026国内铸铝门厂家实战盘点:行业靠谱机构TOP排名 - 企业品牌优选推荐官
  • 终极网盘直链下载助手:一键解锁9大云盘高速下载,告别限速烦恼
  • CANN/hcomm 端点描述获取
  • 2026最新公关公司/整合营销服务商/品牌传播公司推荐!国内优质权威榜单发布,专业靠谱实力突出 - 博客万
  • SAP ABAP开发避坑:WS_DELIVERY_UPDATE函数调用时,COMMIT和NO_MESSAGES_UPDATE参数到底怎么设?
  • 深圳再生资源回收服务商|鸿鑫隆|工厂废铁批量回收|30 分钟上门 - 新闻快传
  • 2026年广州格兰富泵类代理商推荐:潜污泵、深井泵、隔膜泵、密封泵、多级管道泵优质之选 - 速递信息
  • 2026年北京消防排烟风机与工业通风源头厂家深度选型指南 - 优质企业观察收录
  • Ray LLM API演进:一站式部署与数据处理工具链解析
  • Python字符串搜索替换的语义陷阱与工程决策树
  • 2026年合肥杀虫公司TOP5测评 优选合肥虫克星 - 资讯焦点
  • 2026 年 5 月网络地板厂家权威排行榜 TOP6(专业数据版) - 小艾信息发布
  • 单北斗变形监测应用在GNSS位移监测中的创新与实践
  • 支付宝红包套装回收攻略 - 抖抖收
  • 命令行AI绘画工具nanobanana:用Gemini API提升开发效率
  • 别再只盯着告警了:从Pikachu靶场搭建看SRE可观测性的实战落地(含日志与调用链配置)
  • 2026硅胶防水圈选购指南:避坑3误区+3款靠谱品牌推荐 - 新闻快传
  • 2026年化工冷却水设备品牌推荐榜:水冷、风冷、恒温恒压等工业冷却水设备优质之选 - 速递信息
  • CoPaw开源个人AI助手:从部署到实战的完整指南
  • 语言模型推理能力与计算表达力深度解析
  • 国内可靠大理石构件批发厂家综合实力TOP5排行 - 奔跑123
  • 支付宝红包套装回收渠道有哪些? - 抖抖收
  • 新能源汽车电池生产线实战:C#上位机+Modbus TCP实现电芯数据毫秒级采集与存储