卷積加速器(Convolution Accelerator)
3 秒看懂
一句話: 卷積加速器是專門為 CNN 中”卷積運算”量身定製的硬體,核心是把大量乘累加(MAC)操作高效地鋪開執行,用”空間換時間”把吞吐量和能效拉到通用處理器的數個數量級之上。
關鍵詞: MAC 陣列 · 資料流架構 · 資料複用 · 卷積最佳化 · ASIC/可重構
3 分鐘產業解釋
為什麼需要卷積加速器?
一個典型 CNN 的卷積層,計算量可以佔到整個網路的 60%–90%([估算,視網路結構而定])。在一張影像上做一次前向推論,涉及的 MAC 操作可達數十億次;而在自動駕駛等即時場景中,每秒需要處理數十幀甚至上百幀。
通用 CPU 處理這些運算效率極低——大量指令週期消耗在取指、譯碼、分支預測等”非計算”環節上。GPU 通過大量並行核心改善了這一局面,但其架構是”通用並行”而非”卷積專用”,仍存在資料搬運開銷大、片上儲存利用不夠精細等問題。
卷積加速器的核心邏輯:把卷積的計算模式(巢狀迴圈、大量複用)直接”硬化”到晶片裡,減少通用邏輯開銷,讓幾乎每一個電晶體都在做有用的乘累加。
產業位置
卷積加速器並非一種獨立晶片品類,更多是一種計算架構範式,它體現在以下幾種形態中:
| 形態 | 典型代表 | 場景 |
|---|---|---|
| SoC 中的專用 NPU/AI Core | 地平線征程系列、高通 Hexagon、Apple 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 晶片產業資訊 [公開揭露檔案] |
宣告: 本頁中未標註來源的數字為基於產業常識的定性估算或典型量級範圍,不構成精確技術規格。具體產品引數請以廠商官方資料表為準。投資相關內容僅供學習參考,不構成投資建議。