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,修正线性单元)

数学表达式:

图形表示:

相关推荐
2501_948120152 小时前
可再生能源并网预测模型
人工智能·区块链
人工智能AI技术2 小时前
【Agent从入门到实践】47 与前端系统集成:通过API对接,实现前端交互
人工智能·python
jay神2 小时前
基于深度学习和协同过滤算法的美妆商品推荐系统
人工智能·深度学习·算法·毕业设计·协同过滤算法
好奇龙猫2 小时前
【人工智能学习-AI入试相关题目练习-第十三次】
人工智能·学习
AI 菌2 小时前
视觉令牌压缩:Vision-centric Token Compression in Large Language Model
人工智能·算法·语言模型·llm
让学习成为一种生活方式2 小时前
维生素E的“前世”和“今生”--文献精读200
大数据·人工智能
我怎么又饿了呀2 小时前
DataWhale-AI 视频自动化(Coze)(第一节 前期准备)
人工智能
梵得儿SHI2 小时前
(第九篇)Spring AI 核心技术攻坚:安全防护 企业级 AI 应用的风控体系之全链路防护(API 安全到内容合规)
java·人工智能·安全·spring·安全防护·springai·企业级ai
胖头鱼的鱼缸(尹海文)2 小时前
数据库管理-第404期 Oracle AI DB 23.26.1新特性一览(20260128)
数据库·人工智能·oracle