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

CANN/cann-bench: ForeachNorm算子

ForeachNorm 算子 API 描述

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

1. 算子简介

ForeachNorm 算子对输入张量列表(TensorList)的每个张量分别进行范数运算,支持多种范数阶数。

主要应用场景

  • 梯度裁剪中的梯度范数计算
  • 优化器中的参数范数监控
  • 模型正则化中的权重范数约束

算子特征

  • 难度等级:L1(Reduction)
  • 输入为张量列表,对每个张量独立计算范数,输出为标量张量列表
  • 支持 ND 格式输入

2. 算子定义

数学公式

通用 p 范数

$$ y = \left(\sum_i |x_i|^p\right)^{1/p} $$

常见范数

范数阶数 (scalar)公式含义
0$\sum_i \mathbb{1}(x_i \neq 0)$L0 范数(非零元素个数)
1$\sum_i |x_i|$L1 范数(绝对值之和)
2$\sqrt{\sum_i x_i^2}$L2 范数(欧氏距离)
inf$\max_i |x_i|$无穷范数(最大绝对值)

3. 接口规范

算子原型

cann_bench.foreach_norm(Tensor[] x, float scalar) -> Tensor y

输入参数说明

参数类型默认值描述
xTensor[]必选输入张量列表(TensorList)
scalarfloat必选范数阶数

输出

参数Shapedtype描述
y每个元素为标量张量与输入 dtype 相同每个输入张量的范数结果列表

数据类型

输入 dtype输出 dtype
float16float16
float32float32
bfloat16bfloat16

规则与约束

  • 输入为 TensorList,列表中每个张量独立计算范数
  • 列表中各张量的 dtype 须一致
  • scalar支持正数、负数、0、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 from typing import List def foreach_norm( x: List[torch.Tensor], scalar: float ) -> List[torch.Tensor]: """ 对输入张量列表的每个张量进行范数运算 公式:y = (sum |x_i|^p)^(1/p) Args: x: 输入张量列表 (TensorList) scalar: 范数阶数 Returns: 输出张量列表,每个张量的范数结果 """ y = [torch.norm(tensor, p=scalar) for tensor in x] return y

6. 额外信息

算子调用示例

import torch import cann_bench t1 = torch.randn(1024, 1024, dtype=torch.float32, device="npu") t2 = torch.randn(2048, 512, dtype=torch.float32, device="npu") y = cann_bench.foreach_norm([t1, t2], scalar=2.0) # L2 范数

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

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

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

相关文章:

  • NetBox硬件代理:自动化数据中心资产发现与同步实践
  • 2026全场景整合营销广告公司推荐:包揽品牌升级、整合传播! - 品牌种草官
  • LFM2.5-1.2B-Instruct效果展示:金融交易流水异常模式识别问答效果
  • Hotkey Detective:Windows热键冲突排查实用指南
  • 在 Taotoken 模型广场中根据任务与预算选择合适的模型
  • 用ChatGPT生成IRT数据:当大语言模型遇见心理测量学
  • Driver Store Explorer:释放Windows系统盘空间的终极解决方案
  • 从73.7到89.5,HALO 智能体用“轨迹分析“实现了递归自我进化
  • dirsearch 命令行选项详解:基于官方教程
  • CANN/torchtitan-npu版本策略
  • AGI+IoT融合:边缘智能体的关键技术挑战与实践路径
  • CANN/catlass FlashAttention推理
  • 2026人工草坪企业选型指南,采购不踩坑 - 深度智识库
  • StarRocks MCP Server实战:AI助手与数据库的无缝对话
  • 全球高价值公开数据源全景指南:从专利到遥感,数据科学家的实战地图
  • FLUX.1-Krea-Extracted-LoRA效果展示:丝绸面料光泽与褶皱物理模拟
  • Illustrator脚本开发入门:从零写一个‘日期+序列’的防伪码生成器
  • 大模型参数规模与性能的非线性关系:从规模迷信到精准设计
  • PostgreSQL中UPSERT操作的并发冲突与数据一致性保障策略
  • CANN社区组织信息配置指南
  • CANN/tensorflow HCCL发送API
  • 基于Electron构建开发者专属浏览器:集成调试、终端与源码映射
  • 2026年湖南数控机床设计与非标机床研发外协服务深度指南 - 年度推荐企业名录
  • 无需复杂SDK,使用curl命令直接测试Taotoken大模型API连通性
  • 新手教程使用Python和OpenAI兼容SDK五分钟接入Taotoken大模型服务
  • AI的“水足迹”:数据中心冷却与锂矿开采背后的环境伦理挑战
  • AI赋能人才管理:从数据画像到个性化发展路径的实践
  • Orangutan算法:仿生视觉注意力机制在计算机视觉中的应用
  • Mind-Brush:为AI绘画装上“外脑”,实现基于搜索与推理的智能图像生成
  • 特征缩放在机器学习中的核心作用与实战技巧