卷积加速器(Convolution Accelerator)
3 秒看懂
一句话: 卷积加速器是专门为 CNN 中”卷积运算”量身定制的硬件,核心是把大量乘累加(MAC)操作高效地铺开执行,用”空间换时间”把吞吐量和能效拉到通用处理器的数个数量级之上。
关键词: MAC 阵列 · 数据流架构 · 数据复用 · 卷积优化 · ASIC/可重构
3 分钟产业解释
为什么需要卷积加速器?
一个典型 CNN 的卷积层,计算量可以占到整个网络的 60%–90%([估算,视网络结构而定])。在一张图像上做一次前向推理,涉及的 MAC 操作可达数十亿次;而在自动驾驶等实时场景中,每秒需要处理数十帧甚至上百帧。
通用 CPU 处理这些运算效率极低——大量指令周期消耗在取指、译码、分支预测等”非计算”环节上。GPU 通过大量并行核心改善了这一局面,但其架构是”通用并行”而非”卷积专用”,仍存在数据搬运开销大、片上存储利用不够精细等问题。
卷积加速器的核心逻辑:把卷积的计算模式(嵌套循环、大量复用)直接”硬化”到芯片里,减少通用逻辑开销,让几乎每一个晶体管都在做有用的乘累加。
产业位置
卷积加速器并非一种独立芯片品类,更多是一种计算架构范式,它体现在以下几种形态中:
| 形态 | 典型代表 | 场景 |
|---|---|---|
| SoC 中的专用 NPU/AI Core | 地平线征程系列、高通 Hexagon、苹果 ANE | 端侧推理 |
| 独立 AI 训练/推理 ASIC | Google TPU、寒武纪 MLU | 云端/边缘 |
| GPU 中的 Tensor Core | NVIDIA A100/H100 的 Tensor Core 子单元 | 云端训练 |
| 可重构加速器 | CGRA 类架构 | 学术/前沿探索 |
15 分钟专家深入
卷积计算的本质
CNN 中二维卷积(以单通道为例)的数学表达:
Output[o_h][o_w] = Σ_{c=0}^{C_in-1} Σ_{kh=0}^{K-1} Σ_{kw=0}^{K-1}
Input[c][o_h×S+kh][o_w×S+kw] × Weight[co][c][kh][kw]
其中 S 为步长、K 为卷积核大小。展开后,这是一个7 层嵌套循环(加上 batch 和 output channel 维度)。对于典型的 ResNet-50 第一层,单次推理的 MAC 数量在 数亿次 量级 [估算]。
卷积加速器的核心挑战
1. 数据复用(Data Reuse)
卷积运算中,同一个输入像素会被多个卷积核”看到”(输入复用),同一个卷积核会在多个空间位置上滑动(权重复用)。能否高效复用数据,直接决定了加速器的能效——因为从 DRAM 取一次数据的能量代价比做一次 MAC 高约 1–3 个数量级 [学术文献一致结论,具体比值与工艺节点相关]。
2. 数据流(Dataflow)
“数据流”定义了输入特征图、权重、输出特征图如何在 PE(Processing Element)阵列中流动和驻留。不同的数据流选择,会导致同一硬件资源下的利用率和能效差异巨大。
经典分类(参考 Eyeriss 论文体系,ISCA 2016):
┌─────────────────────────────────────────────────┐
│ 数据流架构分类 │
├──────────────┬──────────────────────────────────┤
│ 权重驻留(WS) │ 权重固定在 PE 中,输入流过 │
│ │ → 适合权重复用大的层(如卷积层) │
├──────────────┼──────────────────────────────────┤
│ 输出驻留(OS) │ 部分和驻留在 PE 中,输入/权重流过 │
│ │ → 适合输出复用大的场景 │
├──────────────┼──────────────────────────────────┤
│ 行驻留(RS) │ 在行维度上统一复用 │
│ │ → Eyeriss 提出,综合平衡 │
├──────────────┼──────────────────────────────────┤
│ 无本地复用 │ 所有数据从全局 buffer 取 │
│ (NLR) │ → 简单但能效低 │
└──────────────┴──────────────────────────────────┘
3. 存储层次(Memory Hierarchy)
典型卷积加速器的存储层次:
┌──────────────────────────────────────────────┐
│ DRAM (GB级, ~10-100 pJ/access) │
│ ▲ │
│ 全局片上 SRAM (KB~MB级, ~pJ级) │
│ ▲ │
│ PE 本地寄存器/小 SRAM (~fJ级) │
│ ▲ │
│ MAC 计算单元 (乘累加器) │
└──────────────────────────────────────────────┘
每一级的容量和访问能耗相差约 1–2 个数量级 [定性]。加速器设计的核心工作之一就是做 Tiling(分块):把大张量切成刚好能装进每一级存储的小块,最大化数据复用、最小化高层存储访问。
脉动阵列(Systolic Array)
最具代表性的卷积加速器微架构之一。Google TPU v1(2017 年公开论文)采用的即为 256×256 的脉动阵列 [Google ISCA 2017 论文],每个单元执行乘累加,数据像”心跳”一样从一端流入、在相邻单元间传递:
权重流方向 →
┌────┐ ┌────┐ ┌────┐
输入 │PE₀₀├──→│PE₀₁├──→│PE₀₂│ → 部分和
流入 └──┬─┘ └──┬─┘ └──┬─┘
│ │ │
┌───▼─┐ ┌───▼─┐ ┌──▼──┐
│PE₁₀├──→│PE₁₁├──→│PE₁₂│ → 部分和
└──┬──┘ └──┬──┘ └──┬──┘
│ │ │
┌──▼───┐ ┌──▼───┐ ┌─▼────┐
│PE₂₀ ├──→│PE₂₁ ├──→│PE₂₂ │ → 部分和
└──────┘ └──────┘ └──────┘
优势: 数据在 PE 间直接传递,无需每次都读写全局寄存器/缓存,极大降低了控制逻辑和存储带宽需求。
局限: 对非规则形状的张量(如不规则卷积核、动态 shape)利用率可能显著下降。
卷积优化算法层
在硬件执行之前,软件/编译器层也会做优化:
| 优化技术 | 原理 | 效果 |
|---|---|---|
| im2col | 把卷积转化为大矩阵乘法(GEMM) | 复用成熟 GEMM 库,但额外占用内存 |
| Winograd 变换 | 利用多项式变换将 K×K 卷积分解为逐元素乘 | 理论上减少乘法次数(如 3×3 卷积可减少约 2.25×),但增加加法和精度敏感 |
| FFT 卷积 | 频域做逐元素乘 | 适合大卷积核,小核反而有开销 |
| 分组卷积/深度可分离卷积 | 减少通道间连接 | 大幅减少计算量和参数量(MobileNet 系列常用) |
技术原理(最深机制)
卷积在硬件上展开的数学
一个标准卷积层可以用 7 层嵌套循环表示(伪代码):
// N=batch, C_out=output channels, C_in=input channels
// H_out, W_out = output spatial dims
// K = kernel size
for (n = 0; n < N; n++)
for (co = 0; co < C_out; co++)
for (ci = 0; ci < C_in; ci++)
for (oh = 0; oh < H_out; oh++)
for (ow = 0; ow < W_out; ow++)
for (kh = 0; kh < K; kh++)
for (kw = 0; kw < K; kw++)
output[n][co][oh][ow] +=
input[n][ci][oh*S+kh][ow*S+kw] * weight[co][ci][kh][kw];
核心问题: 这 7 层循环的遍历顺序决定了哪些数据被复用、哪些数据被搬运。加速器的”数据流”本质上就是硬件层面固定了这个遍历顺序,并将其映射到 PE 阵列的空间维度和时间维度上。
Roofline 模型与算术强度
判断卷积层是计算受限还是带宽受限的关键指标是算术强度(Arithmetic Intensity):
AI = 计算量 (FLOPs) / 数据搬运量 (Bytes)
- 当 AI > 硬件的 Op:Byte 比(由峰值算力/峰值带宽决定)→ 计算受限
- 当 AI < Op:Byte 比 → 带宽受限
卷积加速器设计的一个核心目标是通过数据复用人为提高有效 AI,把本来带宽受限的工作负载转化为计算受限。
Tiling 策略示意
// 概念性示意(简化为 2D)
// 原始问题: Output[Co][Oh][Ow] += Input[Ci][Oh*S+Kh][Ow*S+Kw] * W[Co][Ci][Kh][Kw]
// Tiling: 把 Co 维切分为 Co_tile, 把空间维度切分为 Sp_tile
for (co_blk in Co_tile) // 外层: 权重块可驻留在片上
for (sp_blk in Sp_tile) // 空间块可复用同一个权重块
for (ci_blk in Ci_tile) // 输入通道块
// 加载 input[ci_blk][sp_blk+K] 到片上
// 加载 weight[co_blk][ci_blk][:][:] 到片上
// 在 PE 阵列上完成乘累加
// 累积到 output[co_blk][sp_blk] 的部分和
Tiling 的好坏直接决定利用率。 编译器/映射工具(如 Timeloop/Accelergy、TVM)的任务之一就是自动搜索最优 Tiling 策略。
后量化与低精度计算
现代卷积加速器普遍支持 INT8、INT4 甚至二值/三值推理。将 FP32 降到 INT8:
- MAC 单元面积和功耗约降低 4–8× [定性,与实现方式相关]
- 可以在相同面积下塞下 更多 MAC 单元,峰值吞吐量等比提升
- 但需要量化感知训练(QAT)或训后量化(PTQ)来控制精度损失
部分加速器支持混合精度:对精度敏感的层用较高精度,其余用低精度。
技术演进史
| 时间 | 里程碑 | 意义 |
|---|---|---|
| ~2010–2012 | 学术界开始探索 GPU 加速 CNN(AlexNet 用 GTX 580) | 证明 GPU 并行适合 CNN,但功耗高、效率非最优 |
| 2014 | DaDianNao(中科院计算所/寒武纪前身) | 学术界较早的专用 CNN 加速器,多芯片 NoC 架构 |
| 2015 | Eyeriss(MIT) | 提出 Row Stationary 数据流,系统性分析了数据复用对能效的影响,成为后续研究基准 |
| 2016 | Intel 收购 Nervana | 产业资本开始重注 AI 专用芯片 |
| 2017 | Google TPU v1 论文公开 [ISCA 2017] | 256×256 脉动阵列,INT8 推理,标志性产品 |
| 2017–2018 | 寒武纪 MLU100 / Cambricon-1A 部署 | 国产 AI ASIC 进入商用 |
| 2018 | NVIDIA Turing 架构引入 Tensor Core(第二代) | GPU 内嵌专用矩阵计算单元 |
| 2019–2020 | 边端 AI 芯片爆发:地平线征程2/3、瑞芯微 RK 系列 | 卷积加速器成为 SoC 内标配 IP |
| 2020+ | Transformer 兴起,纯卷积加速器面临适应性挑战 | 矩阵乘(GEMM)和注意力计算成为新重心 |
| 2023+ | 混合架构兴起:CNN+Transformer 统一加速器 | 架构开始兼容卷积和自注意力计算模式 |
技术路线对比
| 维度 | GPU + Tensor Core | 专用 ASIC(脉动阵列为主) | CGRA / 可重构 | FPGA |
|---|---|---|---|---|
| 峰值算力 | 极高(千级 TFLOPS,H100 Tensor Core FP16 约 989 TFLOPS [NVIDIA 官方]) | 中高(视设计,单芯片数十~数百 TOPS INT8 [估算]) | 中 | 中低 |
| 能效 (TOPS/W) | 中(GPU 整体功耗高) | 高(专注推理场景可达数十 TOPS/W 量级 [估算]) | 中高 | 中 |
| 灵活性 | 高(CUDA 生态、任意算子) | 低(针对特定算子优化) | 中 | 中高 |
| 编程难度 | 中(有成熟框架) | 高(需专用编译器/工具链) | 高 | 中高 |
| 适用场景 | 云端训练/大规模推理 | 边缘推理、嵌入式 | 研究/小批量定制 | 原型验证、中小规模推理 |
| 成本 | 高(单卡数千美元级别) | NRE 高但量产单价可控 | NRE 中等 | 中 |
注意: 具体型号的 TOPS/W 差异极大,上表为架构级定性比较,不涉及精确产品规格。
上下游
上游(供给侧)
| 环节 | 关键要素 | 代表 |
|---|---|---|
| EDA 工具 | 综合、布局布线、时序优化 | Synopsys、Cadence、华大九天 |
| IP 核 | 存储控制器、SerDes、ARM/RISC-V CPU 核 | ARM、Synopsys、芯来科技 |
| 工艺代工 | 卷积加速器芯片的制造(成熟制程 28nm–12nm 在边端广泛使用,云端芯片多用先进制程) | 台积电、中芯国际 |
| 存储 | 片上 SRAM、片外 DRAM/HBM | 兆易创新(设计)、三星/SK海力士(HBM) |
| 设计工具/映射器 | 自动将模型映射到硬件 | Timeloop/Accelergy、TVM、厂商自研编译器 |
下游(需求侧)
| 领域 | 典型应用 | 算力需求级别 |
|---|---|---|
| 智能手机 | 拍照增强、语音助手、AI美颜 | 数 TOPS [估算] |
| 自动驾驶 | 感知(目标检测、语义分割) | 数十~数百 TOPS [估算] |
| 安防监控 | 视频结构化、人脸识别 | 数 TOPS [估算] |
| 云端推理 | 图像/视频理解、推荐系统 | 百~千级 TOPS [估算] |
| 机器人 | 视觉伺服、SLAM | 数~数十 TOPS [估算] |
关键指标
| 指标 | 含义 | 重要性 |
|---|---|---|
| 峰值算力 (TOPS) | 每秒万亿次操作(通常以 INT8 计) | 衡量理论上限 |
| 实测吞吐量 | 实际模型在硬件上跑出的 FPS 或推理延迟 | 衡量实际表现(利用率才是关键) |
| 利用率 (Utilization) | 实测算力 / 峰值算力 | 加速器设计质量的核心指标,优秀设计可达 70%–90%+ [估算] |
| 能效 (TOPS/W) | 每瓦算力 | 边缘/移动场景的首要约束 |
| 片上 SRAM 容量 | 决定 Tiling 粒度和数据复用上限 | 越大越好,但面积/成本代价高 |
| 片外带宽 (GB/s) | DRAM/HBM 接口带宽 | 大模型/大特征图时可能成为瓶颈 |
| 支持精度 | FP32/FP16/BF16/INT8/INT4 等 | 决定可部署的模型范围 |
| 算子覆盖度 | 硬件原生支持的算子种类 | 覆盖不够则需回退到 CPU/GPU,效率断崖 |
供需与市场数据
市场规模
- 全球 AI 芯片市场(含训练和推理)在 2023 年估计约 数百亿美元 [多家行业报告口径,具体数字因定义范围差异较大,此处不引用单一来源]
- 其中推理侧增速快于训练侧,而推理芯片中大量采用卷积/矩阵加速架构
- 端侧 AI 芯片(手机、IoT、汽车)是增量最大的细分市场之一
供需格局
- 云端训练/推理: NVIDIA GPU 绝对主导,Google TPU/Amazon Trainium 等自研芯片为第二梯队
- 边端推理: 竞争格局分散——高通、联发科、地平线、寒武纪、瑞芯微、算能等均在争夺
- 中国国产替代: 受供应链约束,国产 AI 芯片(含卷积加速 IP)需求旺盛,但先进制程获取受限
产能瓶颈
- 先进制程(7nm 及以下)代工产能在 2023–2024 年整体趋紧后有所缓解,但 HBM 产能成为新瓶颈
- 端侧芯片多使用成熟制程(28nm/16nm/12nm),产能相对充裕
代表公司与资本映射
| 公司/实体 | 产品/方案 | 产业链位置 | 关联标的(示例,非投资建议) |
|---|---|---|---|
| NVIDIA | GPU Tensor Core (A100/H100/B200) | 云端训练/推理 | NVDA(纳斯达克) |
| TPU v4/v5 | 云端自研 | GOOGL(母公司) | |
| 寒武纪 | MLU 系列、思元系列 | 云端/边缘 AI ASIC | 688256.SH |
| 地平线 | 征程系列 | 自动驾驶 SoC | 9660.HK |
| 华为海思 | 昇腾(Ascend)系列 | 云端/边缘 | 非上市(华为子公司) |
| 算能科技 | BM 系列 | 边缘 AI | 非上市 |
| 瑞芯微 | RK NPU | 端侧 SoC | 603893.SH |
| 安霸 (Ambarella) | CV 系列 | 车载/安防边缘 | AMBA(纳斯达克) |
| Hailo | Hailo-8 | 边缘推理加速器 | 非上市 |
| Mythic | 模拟存内计算加速器 | 边缘(前沿路线) | 非上市(已大幅裁员,命运不确定) |
注意: 以上公司关联仅为产业定位说明,不构成任何投资建议。
投资逻辑
长期逻辑
- 推理需求随 AI 应用落地持续爆发: 每多一个 AI 应用(自动驾驶、AI 手机、AI PC、机器人),就需要更多卷积/矩阵加速算力
- 端侧 AI 是增量空间: 数十亿台终端设备中的每一台都可能需要一颗 AI 芯片或 AI IP
- 国产替代: 中国 AI 芯片企业受供应链政策影响,在可控范围内存在巨大替换需求
风险与争议
- 架构迭代风险: Transformer/注意力机制兴起后,纯卷积加速器的适用范围在缩窄;未来赢家必须是 CNN+Transformer 通吃的统一架构
- 生态壁垒: NVIDIA 的 CUDA 生态护城河极深,硬件性能之外的软件栈同样关键
- 专用 vs 通用的钟摆: 当年”通用 GPU 不够高效→做专用加速器”的逻辑,可能在新算法(如 Mamba/SSM)出现后再次被颠覆
- 竞争烈度: 端侧 AI 芯片门槛相对低,参与者众多,价格战风险高
常见误读纠偏
误读 1:「卷积加速器 = AI 芯片」
纠偏: 卷积加速器是 AI 芯片中负责卷积计算的子模块或架构范式。完整的 AI 芯片(如 SoC)还包括通用 CPU 核、GPU、ISP、视频编解码、内存控制器等。很多”AI 芯片”的竞争力恰恰在于这些非加速器部分的集成度和系统级优化。
误读 2:「TOPS 数越高,芯片越强」
纠偏: TOPS 是理论峰值,实际性能取决于利用率。一颗 100 TOPS 的芯片如果在目标模型上利用率只有 30%,实际表现不如一颗 60 TOPS 但利用率达 80% 的芯片。利用率受到数据流设计、Tiling 策略、片上缓存大小、编译器优化质量等多重因素影响。看实测 benchmark 比看 TOPS 数靠谱得多。
误读 3:「卷积加速器在 Transformer 时代已经过时」
纠偏: Transformer 的核心计算——自注意力中的 QKV 矩阵乘和 FFN 层——本质上也是矩阵乘法(GEMM),与卷积可转化为 GEMM(im2col)后的计算模式高度相似。成熟的脉动阵列/卷积加速器架构经过适当扩展(如增加对不规则数据搬运的支持),完全有能力处理 Transformer 推理。事实上,Google TPU 本身就是为矩阵乘设计的”广义卷积加速器”。真正过时的不是硬件架构本身,而是过于局限于特定卷积模式(如固定 3×3 卷积核硬编码)的设计思路。
误读 4:「存内计算可以完全消除数据搬运瓶颈」
纠偏: 存内计算(CIM/PIM)确实在概念上减少数据搬运,但面临模拟精度有限、外围电路开销、工艺兼容性、良率等诸多工程挑战。目前尚无大规模商用的纯存内计算卷积加速器。该技术更可能是补充路线而非替代路线。
学习路径
入门
- 理解 CNN 基础和卷积运算的数学定义(Andrew Ng 的 Deep Learning 课程前几周)
- 了解 GPU 并行计算基础概念(CUDA 编程入门即可)
进阶
- 阅读 Eyeriss 论文(Chen et al., ISCA 2016)——理解数据流和能量效率的经典论文
- 阅读 Google TPU 论文(Jouppi et al., ISCA 2017)——脉动阵列与推理 ASIC 的工业实践
- 学习 Roofline Model(Williams et al., CACM 2009)——评估硬件利用率的分析框架
高级
- 学习 Timeloop/Accelergy(MIT/NVidia)——自动映射与建模工具
- 阅读 DaDianNao / Cambricon ISA 论文——理解学术界对指令集层面的设计探索
- 跟踪 ISCA/MICRO/HPCA/Hot Chips 等顶会最新论文——掌握前沿架构方向(如稀疏加速、混合精度、CNN-Transformer 统一架构)
实践
- 用 TVM 在 FPGA 上部署一个简单 CNN,理解编译器到硬件的映射全流程
- 尝试 Timeloop 对一个给定加速器架构做 Tiling 搜索实验
一句话总结
卷积加速器的本质是把 CNN 中海量的”滑动窗口乘累加”操作,通过精心设计的数据流和存储层次,映射到硬件空间阵列上高效执行——它是 AI 从算法走向物理世界的第一座桥梁,但真正的技术护城河不在 TOPS 数上,而在利用率、能效和软件生态的综合较量中。
延伸阅读与来源
| 来源 | 说明 |
|---|---|
| Chen et al., “Eyeriss: An Energy-Efficient Reconfigurable Accelerator for Deep Convolutional Neural Networks”, IEEE JSSC & ISSCC 2016/2017 | 数据流分类与能效分析的经典工作 |
| Jouppi et al., “In-Datacenter Performance Analysis of a Tensor Processing Unit”, ISCA 2017 | Google TPU v1 的公开论文,脉动阵列参考 |
| Williams et al., “Roofline: An Insightful Visual Performance Model for Multicore Architectures”, CACM 2009 | Roofline 模型原始论文 |
| Parashar et al., “Timeloop: A Systematic Approach to DNN Accelerator Evaluation”, ISPASS 2019 | 加速器映射搜索工具 |
| NVIDIA H100 Tensor Core GPU Architecture Whitepaper, 2022 | NVIDIA Tensor Core 架构说明 [NVIDIA 官方文档] |
| Sze et al., “Efficient Processing of Deep Neural Networks: A Tutorial and Survey”, Proceedings of the IEEE, 2017 | 综述性质,覆盖硬件到算法全栈 |
| 寒武纪招股说明书及年报 | 国产 AI 芯片产业信息 [公开披露文件] |
声明: 本页中未标注来源的数字为基于产业常识的定性估算或典型量级范围,不构成精确技术规格。具体产品参数请以厂商官方数据表为准。投资相关内容仅供学习参考,不构成投资建议。