AI算子的分类及常见算子介绍

**一、计算层(**Compute )分类

在AI算子(Operator)分类中,按计算密集度和访存特性分为三类:

第一类计算(Compute-Bound/Compute-Intensive):计算密集型算子

特点:

  • 计算量远大于访问量
  • 计算/访存比(Arithmetic Intensity)高
  • 性能瓶颈在计算单元(如GPU的CUDA Core、NPU的MAC单元)
  • 对带宽要求相对较低

典型算子:矩阵乘法(GEMM)、卷积(Conv2D)、全连接层(FC)、BatchNorm

第二类计算(Memory-Bound ):访存密集型算子

特点:

  • 访存量大,计算量小
  • 性能瓶颈在内存带宽
  • 计算单元利用率低

典型算子:ReLU、Sigmoid、Tanh、Pooling、Element-wise操作(加法、乘法、Scale)、Reshape、Transpose

第三类计算(Communication-Bound ):通信密集型算子

特点:

  • 涉及跨设备/跨节点数据传输
  • 性能瓶颈在网络带宽或设备间互联

典型算子:AllReduce、AllGather、Send/Recv(多卡通信)

**二、存储层(**Memory )分类

第一类内存(Primary Memory / On-Chip Memory ):片上存储器

特点:

  • 位于处理器芯片内部
  • 速度极快(ns级延迟)
  • 容量小(KB-MB级)
  • 成本高

典型类型:

|-------------------|-----------|---------|--------|----------|
| 名称 | 容量 | 延迟 | 带宽 | 用途 |
| 寄存器(Register) | 几十KB | <1ns | 极高 | 临时存储操作数 |
| L1 Cache | 32-128KB | 1-4ns | TB/s级 | 指令/数据缓存 |
| L2 Cache | 256KB-1MB | 5-12ns | 数百GB/s | 共享缓存 |
| L3 Cache | 8-64MB | 20-50ns | 数百GB/s | 多核共享缓存 |
| SRAM(片上缓冲) | 几MB | <10ns | TB/s级 | NPU的片上缓存 |

第二类内存(Secondary Memory / Off-Chip Memory ):片外主存储器

特点:

  • 位于芯片外部
  • 速度较快(数十-百ns级)
  • 容量中等(GB-数十GB)
  • 主要用于模型和中间数据存储

典型类型:

|-------------------|---------|-------------|----------|------------|
| 名称 | 容量 | 带宽 | 延迟 | 用途 |
| DDR SDRAM | 8-128GB | 50-100GB/s | 50-100ns | CPU主存 |
| GDDR(显存) | 8-24GB | 500-900GB/s | 数十ns | GPU显存 |
| HBM/HBM2/HBM3 | 16-80GB | 1-3TB/s | 数十ns | 高端GPU/AI芯片 |

第三类内存(Tertiary Memory / Storage ):外部存储设备

特点:

  • 速度慢(ms-秒级)
  • 容量极大(TB-PB级)
  • 成本低
  • 用于持久化存储

典型类型:

|---------------|-----------|-------------|---------|---------|
| 名称 | 容量 | 带宽 | 延迟 | 用途 |
| SSD | 256GB-8TB | 3-7GB/s | 0.1-1ms | 数据集存储 |
| HDD | 1-20TB | 100-200MB/s | 5-10ms | 大规模数据存储 |
| 网络存储(NAS) | PB级 | 1-10GB/s | 数ms-秒 | 分布式数据集 |

三、常见****AI 算子介绍

Conv2d

单通道Conv2d算子数学表达式为:

输出张量:Y[n, c out*,h,w]*

|-------|------------|----------------|--------------------|
| n | 批次索引 | 0≤n<N | 当前样本在批次中的位置(第n个图像) |
| cout​ | 输出通道索引 | 0≤cout​<Cout​ | 当前卷积核的索引 |
| h | 输出高度索引 | 0≤h<Hout​ | 输出特征图的行位置 |
| w | 输出宽度索引 | 0≤w<Wout​ | 输出特征图的列位置 |

注:对于上述Conv2d数字表达式来说,h⋅ s h + k h ,w⋅ s w + kw 坐标计数包括padding,表示输入提取的左上像素坐标;如果不包括padding,则表示中心点坐标,那么公式中的求和范围需要根据padding行数进行对应修改。

输入张量:

|-----------|------------|--------------|----------------------|
| 参数 | 含义 | 范围 | 说明 |
| n | 批次索引 | 0≤n<N | 与输出的批次对应 |
| cin​ | 输入通道索引 | 0≤cin​<Cin​ | 输入特征图的通道(如RGB的R/G/B) |
| h⋅sh​+kh​ | 输入高度位置 | - | 卷积窗口在输入上的垂直位置 |
| w⋅sw​+kw​ | 输入宽度位置 | - | 卷积窗口在输入上的水平位置 |

其中,为:

|--------|----------|---------|---------------|
| 参数 | 含义 | 典型值 | 说明 |
| sh​ | 垂直步长 | 1, 2 | 卷积核垂直方向移动的像素数 |
| sw​ | 水平步长 | 1, 2 | 卷积核水平方向移动的像素数 |

权重张量:

|--------|-------------|----------------|------------|
| 参数 | 含义 | 范围 | 说明 |
| cout​ | 输出通道索引 | 0≤cout​<Cout​ | 第几个卷积核 |
| cin​ | 输入通道索引 | 0≤cin​<Cin​ | 卷积核对应的输入通道 |
| kh​ | 卷积核高度偏移 | 0≤kh​<Kh​ | 卷积核内的行位置 |
| kw​ | 卷积核宽度偏移 | 0≤kw​<Kw​ | 卷积核内的列位置 |

偏置

|--------|------------|----------------|--------------|
| 参数 | 含义 | 范围 | 说明 |
| cout​ | 输出通道索引 | 0≤cout​<Cout​ | 每个卷积核对应一个偏置值 |

原理示意图:

GEMM**(** General Matrix Multiply

矩阵乘法算子,是线性代数和深度学习中最重要的基础运算之一。

GEMM标准形式为:

其中

  • Am ×k 矩阵
  • Bk ×n 矩阵
  • Cm ×n 矩阵
  • αβ 是标量系数
  • op (X ) 表示对矩阵 X 的可选操作(转置或不转置)

GEMM应用场景:

深度学习:全连接层、卷积运算的实现基础

科学计算:线性系统求解、特征值分解

图形处理:变换矩阵运算

信号处理:滤波器设计、频域分析

im2col**(** Image to Column

im2col是深度学习中用于加速卷积计算的核心预处理技术,它的本质是将二维矩阵转换为一维向量矩阵进行存储,使卷积的局部滑动窗口操作转化为矩阵乘法友好的形式,为后续的GEMM(通用矩阵乘法)优化铺路。几乎所有主流深度学习框架(PyTorch、TensorFlow、Caffe)的卷积层都采用im2col+GEMM的优化策略,是工业界卷积加速的标准方案。

如图所示:

im2col+GEMM**(卷积加速的工业级标准方案)**

解决普通卷积计算的两大瓶颈:

零散内存访问:普通卷积逐窗口滑动时,输入元素分布在内存非连续区域,缓存命中率低;

并行性不足:GPU擅长密集型并行计算(如矩阵乘法),但局部窗口操作难以利用其 thousands of threads 的优势。

im2col+GEMM通过"输入展开→矩阵乘法→结果重塑"的流程,将卷积转化为高效的矩阵运算。

详细计算流程:

使用 Im2Col 将输入矩阵展开为一个大矩阵,矩阵每一列表示卷积核需要的一个输入数据,按向量方式存储;将卷积核展开为行矩阵进行存储。

使用上图中转换的矩阵进行GEMM运算,得到的数据再进行col2im就是最终卷积计算的就结果。

直接卷积与该卷积加速方法对比:

ReLU**(** Rectified Linear Unit,修正线性单元)

数学表达式:

图形表示:

相关推荐
研究点啥好呢5 分钟前
小红书数据分析工程师面试题精选:10道高频考题+答案解析
信息可视化·数据挖掘·数据分析
科研前沿8 分钟前
纯视觉无感解算 + 动态数字孪生:室内外无感定位技术全新升级
大数据·人工智能·算法·重构·空间计算
暗夜猎手-大魔王9 分钟前
转载--AI Agent 架构设计:错误处理与容错设计(OpenClaw、Claude Code、Hermes Agent 对比)
人工智能
码农的神经元14 分钟前
Claude Code 如何接入 DeepSeek V4 模型:从安装配置到实战验证
人工智能
波动几何23 分钟前
通用行业业务技能体系技能universal-business-skill-system
人工智能
Robot_Nav25 分钟前
AI 编程助手 Skill 完全指南:VS Code · Trae CN · Claude Code
人工智能·vscode·skill·trae·claude code
直奔標竿27 分钟前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
段一凡-华北理工大学27 分钟前
【高炉炼铁领域炉温监测、预警、调控智能体设计与应用】~系列文章06:智能决策:从经验驱动到数据驱动
网络·人工智能·数据挖掘·高炉炼铁·工业智能体·高炉炉温
rainbow72424430 分钟前
企业级AI人才培养方案:如何设计“训战结合”的学习项目
人工智能
郑寿昌30 分钟前
2026全球AI模型巅峰对决:谁主沉浮?
人工智能