資料流架構(Dataflow Architecture)
3 秒看懂
資料流架構:程式的執行不由”程式計數器”順序驅動,而由資料是否就緒驅動——誰的資料先準備好,誰就先執行。天然適配深度學習中”計算圖”的工作模式,是當前 AI 晶片設計的重要範式之一。
3 分鐘產業解釋
為什麼需要重新思考晶片架構?
傳統 CPU 是”控制流”(Control Flow)架構:指令按程式計數器(PC)逐條執行,遇到資料沒準備好就等。這在 AI 時代暴露出兩個核心矛盾:
- 深度學習本質是資料流圖(DAG):運算元之間的依賴關係天然構成有向無環圖,大量節點可並行,但 CPU 的順序執行模型無法有效利用這種並行性。
- 算力需求爆炸 vs 功耗牆:大型模型訓練需要的算力每兩年增長一個數量級 [OpenAI 歷年分析, 定性趨勢],但 CPU/GPU 的”搬運-計算-等待”迴圈導致大量能量浪費在資料搬運和控制開銷上。
資料流架構的核心邏輯:把計算圖直接對映到硬體上——每個運算元對應一個硬體處理單元,資料從上游”流”向下遊,資料到達即觸發計算,沒有空轉、沒有控制開銷。
產業現狀
- 學術端:資料流概念源於 1970 年代 MIT 的 Dennis 模型,幾十年來一直是平行計算的經典研究方向 [學科共識]。
- 產品端:近幾年出現了一批以資料流為核心賣點的 AI 晶片公司:
- SambaNova:產品命名直接叫 RDU(Reconfigurable Dataflow Unit,可重構資料流單元),是將資料流理念商業化最徹底的代表 [廠商公開材料]。
- Groq:其 LPU 採用確定性執行模型,編譯器靜態排程所有資料移動,具有顯著的資料流特徵 [廠商公開材料]。
- Cerebras:晶圓級晶片(WSE)上數十萬核心通過片上網路互連,以空間資料流方式執行計算 [廠商公開材料]。
- Graphcore:IPU 採用細粒度並行 + BSP 執行模型,設計理念與資料流哲學高度相關 [廠商公開材料]。
- 對比標的:Google TPU 的脈動陣列(Systolic Array)也是一種資料在固定硬體結構中”流動”的架構,但更偏向固定資料流模式,可程式設計性受限 [公開技術論文]。
一句話產業判斷:資料流架構不是”取代 GPU”的革命,而是 AI 晶片設計光譜上一個越來越重要的方向,尤其在推論場景和特定訓練負載中展現出效率優勢。
15 分鐘專家深入
從”控制流”到”資料流”的範式轉換
┌─────────────────────────────────────────────────────────────┐
│ 控制流 (Von Neumann) │
│ │
│ PC ──→ 取指 ──→ 譯碼 ──→ 執行 ──→ 寫回 │
│ ↑ │ │
│ └────────────────────────────────────┘ │
│ (順序驅動,依賴 PC 遞增) │
│ │
│ 指令1: a = b + c ← 必須等 b, c 就緒 │
│ 指令2: d = a * e ← 必須等指令1完成 │
│ 指令3: f = g + h ← 與指令1無關,但可能被阻塞 │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ 資料流 (Dataflow) │
│ │
│ [b] [c] [g] [h] │
│ \ / \ / │
│ [ + ]←a [ + ]←f │
│ | | │
│ [ * ]←d ... │
│ [a] [e] │
│ │
│ "b 和 c 到達" → 立即觸發 [+] │
│ "g 和 h 到達" → 立即觸發 [+](與上一行並行!) │
│ "a 和 e 到達" → 立即觸發 [*] │
│ │
│ (資料驅動,無PC,天然並行) │
└─────────────────────────────────────────────────────────────┘
關鍵機制詳解
1. 激發規則(Firing Rule)
資料流架構中最核心的概念:一個節點(指令/運算元)當且僅當其所有輸入令牌(token)都到達時才被激發執行。
- 靜態資料流:每個節點同時只允許存在一個令牌(簡化硬體,但限制了圖的吞吐量)。
- 動態資料流:令牌攜帶標籤(tag),區分不同迭代/呼叫的資料,允許同一節點同時處理多組資料(更復雜,吞吐量更高)。
2. 令牌匹配單元(Matching Unit)
在動態資料流中,硬體需要一個匹配單元來判斷”同一操作的所有輸入是否已到齊”:
- 本質上是一個**關聯儲存器(CAM)**或雜湊表
- 是純資料流處理器中最昂貴、最耗能的部件之一
- 現代資料流加速器通常用編譯器靜態排程來規避或大幅簡化這個開銷
3. 資料流圖到硬體的對映
這是資料流架構從學術走向產品的關鍵工程問題:
┌──────────────────────────────────────────────────────┐
│ 神經網路計算圖 物理硬體對映 │
│ │
│ Layer1 (Conv) ───→ PE 陣列 區域A │
│ │ │
│ Layer2 (ReLU) ───→ PE 陣列 區域B │
│ │ │
│ Layer3 (MatMul) ───→ PE 陣列 區域C │
│ │ │
│ Layer4 (Softmax) ───→ PE 陣列 區域D │
│ │
│ 資料在 PE 之間流動,由編譯器決定版面配置和路由 │
│ 同一層內的並行操作對映到多個 PE 並行執行 │
└──────────────────────────────────────────────────────┘
現代產品(如 SambaNova RDU、Cerebras WSE)不是用經典的”令牌匹配”方式,而是由編譯器在編譯期將整個計算圖對映到硬體資源上,執行時資料按編排好的路徑流動。這大幅降低了硬體開銷,但犧牲了一定的執行時靈活性。
資料流 vs 相關架構的精確區分
這是一個容易混淆的領域,必須釐清:
| 架構範式 | 核心驅動 | 典型代表 | 資料流純度 | 可程式設計性 |
|---|---|---|---|---|
| 純資料流 | 資料就緒即觸發 | MIT Dennis 模型、Manchester Dataflow Machine(學術) | 最高 | 低(程式設計模型複雜) |
| 可重構資料流 | 編譯器對映計算圖到硬體 | SambaNova RDU | 高 | 中 |
| 確定性空間架構 | 編譯器靜態排程資料移動 | Groq LPU(TSP) | 中高 | 中 |
| 脈動陣列 | 資料在固定陣列中流動 | Google TPU | 中(固定模式) | 低 |
| 細粒度並行 BSP | 執行緒級並行 + 同步屏障 | Graphcore IPU | 中 | 中高 |
| CGRA | 可重構處理單元互連 | 學術界多,部分創業公司 | 中 | 中 |
| SIMT (GPU) | Warp 排程器 + 程式計數器 | NVIDIA GPU | 低 | 高(CUDA 生態) |
關鍵認知:幾乎所有現代 AI 晶片都借鑑了資料流思想(資料在哪裡就計算在哪裡),但只有少數產品將資料流作為一等程式設計範式暴露給使用者。
技術原理
1. 經典資料流計算模型
1.1 有向圖表示
一個數據流程式表示為有向圖 G = (N, E):
- N(節點):代表操作(加、乘、卷積等)
- E(邊):代表資料令牌的傳遞路徑
- 控制令牌(Control Token):用於條件分支和迴圈
資料流圖示例: z = (a + b) * (c - d)
[a] [b] [c] [d]
\ / \ /
[ ADD ] [ SUB ]
\ /
\ /
[ MUL ]
|
[z]
每個節點: {操作碼, 輸入弧佇列, 輸出弧}
1.2 激發規則(嚴格定義)
對於節點 n, 設其有 k 個輸入弧:
Firing Rule:
IF 每條輸入弧 i (1≤i≤k) 上都有一個令牌等待
THEN 從每條輸入弧各取一個令牌
執行節點 n 的操作
將結果令牌放入輸出弧
在靜態資料流中:
- 每條弧同一時刻只允許一個令牌
- 節點執行後,結果被消費才能允許新輸入
在動態資料流中:
- 令牌攜帶標籤 (context_id, iteration_count)
- 同一弧上可有多個不同標籤的令牌並存
- 匹配單元按標籤分組,同組令牌齊全則激發
1.3 迴圈與條件的處理
純資料流中沒有 goto / for,迴圈通過反饋弧 + 開關節點實現:
迴圈實現 (動態資料流):
[init]──→[計算節點]──→[結果]
↑ │
│ [θ: 開關節點, 由控制令牌決定是否反饋]
└──────────┘
條件分支:
[條件計算]──→[T/F 標籤]
│
┌─────┴─────┐
[T: 門控] [F: 門控]
│ │
[分支A執行] [分支B執行]
2. 現代資料流加速器的硬體實現
現代產品(學術與工業)通常不是純資料流,而是空間資料流(Spatial Dataflow)——大量可程式設計處理單元(PE)通過片上網路(NoC)互連,資料在 PE 之間流動:
┌──────────────────────────────────────────────────────┐
│ 現代資料流加速器的典型架構 │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ PE_0 │←→│ PE_1 │←→│ PE_2 │←→│ PE_3 │ │
│ └──┬───┘ └──┬───┘ └──┬───┘ └──┬───┘ │
│ ↕ ↕ ↕ ↕ │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ PE_4 │←→│ PE_5 │←→│ PE_6 │←→│ PE_7 │ │
│ └──┬───┘ └──┬───┘ └──┬───┘ └──┬───┘ │
│ ↕ ↕ ↕ ↕ │
│ .... NoC 互連 .... │
│ │
│ 每個 PE 內部: │
│ ┌──────────────────────┐ │
│ │ ALU / MAC 單元 │ │
│ │ 區域性暫存器 / SRAM │ │
│ │ 輸入/輸出緩衝區 │ │
│ │ 路由邏輯 │ │
│ └──────────────────────┘ │
│ │
│ 編譯器負責: │
│ 1. 將計算圖的每個運算元對映到一個或多個 PE │
│ 2. 確定資料在 PE 之間的路由路徑 │
│ 3. 靜態排程資料移動時機(消除執行時匹配開銷) │
└──────────────────────────────────────────────────────┘
關鍵設計引數(定性):
| 引數 | 含義 | 影響 |
|---|---|---|
| PE 數量與規模 | 決定可對映的最大並行度 | PE 越多, 可同時執行的運算元越多 |
| PE 內部 SRAM 容量 | 決定資料複用能力 | 越大, 減少片外訪問, 降低延遲 |
| NoC 頻寬與拓撲 | 決定資料在 PE 間的傳輸效率 | 是效能瓶頸的主要來源 |
| 編譯器能力 | 決定計算圖到硬體的對映質量 | 直接決定實際利用率 |
3. 與深度學習的天然契合
深度學習計算具有以下特徵,使之成為資料流架構的”理想負載”:
- 計算圖為 DAG:前向傳播天然構成有向無環圖,可直接對映到資料流硬體
- 運算元間資料依賴明確:編譯器可在編譯期確定所有資料流路徑
- 運算元內高度並行:矩陣乘法、卷積等運算元內部可展開為大規模並行操作
- 可預測的資料流模式:推論時計算圖固定,訓練時計算圖在迭代間重複,均適合靜態排程
- 資料複用模式規整:權重、啟用值、中間結果的複用模式可被編譯器提前最佳化
技術演進史
| 年代 | 里程碑 | 關鍵意義 |
|---|---|---|
| 1960s | Karp & Miller 提出資料流計算圖模型 | 理論奠基 |
| 1970s | MIT Jack Dennis 教授提出資料流架構模型 | 經典資料流架構的原型(靜態資料流) |
| 1980s | MIT Tagged Token 資料流架構; Manchester Dataflow Machine; 日本 SIGMA 專案 | 動態資料流成熟; 多國投入大量研究資源 |
| 1982 | Denelcor HEP(早期並行處理器,含資料流元素) | 少數推向商業的產品之一 |
| 1990s | 資料流熱潮降溫; VLIW/超標量成為主流 | 純資料流的匹配開銷和程式設計複雜度問題暴露 |
| 2000s | FPGA 資料流設計用於訊號處理/網路 | 資料流思想在特定領域延續 |
| 2016 | Google TPU v1 釋出(脈動陣列架構) | 資料流思想以脈動陣列形式迴歸,證明 DL 加速器可行性 |
| 2017-18 | SambaNova、Graphcore 成立/融資 | 資料流/細粒度並行架構進入 AI 晶片創業潮 |
| 2019 | Cerebras WSE-1 釋出 | 晶圓級資料流架構,約 40 萬核心 [廠商公開資訊] |
| 2020 | Groq 首次展示 TSP 架構 | 確定性資料流執行,推論延遲極低 [廠商公開資訊] |
| 2022 | Cerebras WSE-2 | 核心數進一步增加 [廠商公開資訊] |
| 2023-24 | SambaNova 推出面向大型模型推論的方案; Groq LPU 推論服務引發關注 | 資料流架構在 LLM 推論場景獲得更多驗證 [行業公開報道] |
| 2024 | Cerebras WSE-3 釋出 | 晶圓級資料流架構持續迭代 [廠商公開資訊] |
歷史規律:資料流架構在”通用計算”時代因程式設計複雜度和硬體開銷而衰落,但在”計算圖已知、並行度極高”的 AI 時代重獲生命力。
技術路線對比
資料流 vs 主流計算架構(面向 AI 負載)
| 維度 | 資料流架構 | GPU (SIMT) | 通用 CPU | 脈動陣列 (Systolic) | FPGA |
|---|---|---|---|---|---|
| 並行粒度 | 指令級/運算元級 | Warp 執行緒級 | 指令級(受限) | 矩陣塊級 | 自定義 |
| 資料驅動 | 是(核心特徵) | 否(排程器驅動) | 否(PC 驅動) | 部分(資料在陣列中流動) | 可設計為是 |
| 峰值能效 | 高(少控制開銷) | 中高 | 低 | 很高(固定模式) | 中高 |
| 靈活性/可程式設計性 | 中(依賴編譯器) | 高(CUDA 生態) | 最高 | 低(固定計算模式) | 中高(RTL 級) |
| 不規則計算適應性 | 中 | 中 | 高 | 低 | 中高 |
| 程式設計模型成熟度 | 低-中 | 高(CUDA/ROCm) | 最高 | 低(廠商專用) | 中(HLS/RTL) |
| 規模化成本 | 中 | 高(先進製程) | 高 | 中-高 | 低(小規模) |
| 適合的 DL 場景 | 推論/訓練(圖結構明確) | 訓練 + 推論(通用) | 不適合大規模 DL | 推論(固定網路) | 邊緣/定製 |
不同資料流實現路線對比
| 路線 | 核心思路 | 代表產品/公司 | 優勢 | 挑戰 |
|---|---|---|---|---|
| 可重構資料流 | 編譯器將整個計算圖對映到可重構 PE 陣列 | SambaNova RDU | 靈活性+效率平衡 | 編譯器複雜度極高 |
| 確定性空間執行 | 編譯器靜態排程所有資料移動 | Groq LPU | 極低延遲、確定性 | 程式設計模型受限,編譯器門檻高 |
| 晶圓級資料流 | 超大規模片上核心 + NoC 互連 | Cerebras WSE | 超高並行度、大數據頻寬 | 製造成本、良率、系統整合 |
| 細粒度 BSP | 大量小核心 + 同步屏障 | Graphcore IPU | 靈活、支援更多並行模式 | 需要大量片上儲存 |
| 脈動陣列 | 資料在固定 PE 陣列中定向流動 | Google TPU | 效率極高、硬體簡單 | 可程式設計性差、只適合特定運算元 |
上下游
上游
| 環節 | 內容 | 關鍵依賴 |
|---|---|---|
| EDA 工具 | 晶片設計(Cadence、Synopsys 等) | 資料流架構的 PE/NoC 設計需要定製化 EDA 流程 |
| 晶圓代工 | 先進製程製造 | 資料流加速器通常需要 7nm 及以下製程以實現足夠 PE 密度 [行業慣例] |
| 先進封裝 | 多晶片/晶圓級封裝 | Cerebras 採用晶圓級製造,其他產品可能需要 CoWoS 等先進封裝支援多 die 整合 [行業慣例] |
| 儲存 | HBM / 大容量 SRAM | 資料流架構通常追求大容量片上儲存以減少片外訪問 [架構設計趨勢] |
| 編譯器/工具鏈 | 計算圖對映、排程、最佳化 | 是資料流架構的”靈魂”——編譯器質量直接決定硬體利用率 |
下游
| 場景 | 需求特徵 | 資料流架構適配度 |
|---|---|---|
| 大型模型推論 | 計算圖固定、延遲敏感、吞吐量要求高 | 高——圖可靜態對映,確定性執行低延遲 |
| 大型模型訓練 | 計算圖重複、資料並行+張量並行 | 中高——需要編譯器支援複雜並行策略 |
| 傳統 ML 推論 | 小模型、低功耗 | 中——資料流優勢不明顯 |
| 科學計算/HPC | 不規則計算、需高靈活性 | 中低——圖結構可能不規則 |
| 邊緣推論 | 功耗受限、模型固定 | 中——需考慮產品化成本 |
關鍵指標
評估資料流架構產品時應關注的核心指標:
| 指標 | 定義 | 為什麼重要 |
|---|---|---|
| 實際利用率 | 實際吞吐 / 理論峰值 | 資料流架構的核心賣點就是高利用率,這是驗證其架構優勢的第一指標 |
| 片上儲存容量與頻寬 | SRAM 總量 + 內部頻寬 | 決定資料複用效率; 資料流架構的能效優勢很大程度來自減少片外訪問 |
| PE 間通訊頻寬 | NoC 總頻寬 | 資料流架構中資料在 PE 間流動,通訊瓶頸直接限制性能 |
| 編譯器對映時間 | 將計算圖對映到硬體所需時間 | 影響開發迭代效率; 某些方案編譯時間很長 |
| 支援的運算元/模型範圍 | 能對映的運算元型別和網路架構 | 編譯器能力限制可能導致部分模型無法高效執行 |
| 推論延遲(首 Token / 逐 Token) | 實測延遲 | 推論場景的核心使用者體驗指標 |
| 能效比 (TOPS/W) | 每瓦特算力 | 資料流架構理論上能效高,需實測驗證 |
| 可擴充套件性 | 多晶片互連後的效能擴充套件效率 | 決定能否用於超大規模訓練 |
供需與市場資料
⚠️ 注意:以下為定性趨勢描述,因檢索未獲得最新資料,具體數字需參考最新行業報告。標註 [需查證] 的資料請查閱 Gartner/IDC/McKinsey/中信證券/國盛證券等機構最新報告。
需求側
- AI 推論算力需求正以 [具體增速需查證] 的年複合增長率增長,大型模型推論成為增量最大的場景 [行業共識趨勢]。
- 客戶端(雲端廠商、企業 AI 部門)對推論延遲和價效比的追求,為資料流架構創造了差異化切入機會。
- 訓練市場目前仍由 NVIDIA GPU 主導,資料流架構在訓練場景的滲透率 [需查證]。
供給側
| 公司 | 融資/估值 | 產品 | 市場狀態 |
|---|---|---|---|
| SambaNova | 累計融資超 $10 億(據此前公開報道 [需查證]) | SN 系列 RDU | 企業級 AI 推論/訓練方案 [行業公開資訊] |
| Graphcore | 累計融資超 $7 億(據此前公開報道 [需查證]) | IPU (Bow 等) | 面臨市場挑戰 [行業公開報道] |
| Groq | 累計融資超 $6 億(據此前公開報道 [需查證]) | LPU | 推論服務獲關注 [行業公開報道] |
| Cerebras | 累計融資超 $4 億(據此前公開報道 [需查證]) | WSE + CS 系統 | 晶圓級方案,科研/大型模型訓練 [行業公開資訊] |
以上融資資料為此前公開報道的大致規模,具體金額和最新估值請以各公司最新揭露為準。
代表公司與資本對映
純資料流/強資料流屬性
| 公司 | 架構 | 一級/二級 | 關鍵標籤 |
|---|---|---|---|
| SambaNova | RDU(可重構資料流) | 一級(未上市) | 資料流最純正的商業實現;企業 AI 市場 |
| Groq | LPU(確定性執行) | 一級(未上市) | 極低推論延遲;確定性資料流 |
| Cerebras | WSE(晶圓級資料流) | 一級(未上市) | 超大規模片上並行;已申請 IPO [公開報道] |
強資料流相關屬性
| 公司 | 架構 | 一級/二級 | 關鍵標籤 |
|---|---|---|---|
| Graphcore | IPU(細粒度並行/BSP) | 一級(未上市) | 細粒度並行哲學與資料流高度相關 |
| TPU(脈動陣列) | 二級(Alphabet 子業務) | 脈動陣列是資料流的一種特化形式 |
生態關聯
| 層面 | 參與者 |
|---|---|
| 編譯器架構 | Apache TVM(開源,支援多種後端對映); 各廠商自研編譯器 |
| 運算元庫/模型適配 | 各資料流公司均需自建模型適配層,是核心競爭壁壘 |
| 系統整合 | 資料流加速器通常以”加速卡/整機櫃”形式交付,與雲端平台整合 |
投資邏輯
看多邏輯
- 推論需求爆發是結構性機會:大型模型推論的規模化對延遲和成本提出極致要求,資料流架構在確定性、低延遲和能效上有理論優勢。
- GPU 不是唯一答案:NVIDIA 的統治地位(CUDA 生態壁壘)是事實,但雲端廠商和大型模型公司都有”去 NVIDIA 化”的動機,多元化晶片方案需求客觀存在。
- 資料流架構有正統技術路線:不是”PPT 造芯”,MIT/Japan 等幾十年的學術積累 + 近年工業驗證,技術成熟度在提升。
- 編譯器是護城河:誰的編譯器能把計算圖高效對映到硬體上,誰就有持久競爭力——這是一條很深的技術護城河。
風險與看空邏輯
- 程式設計模型/生態壁壘遠低於 CUDA:NVIDIA 的核心壁壘不是硬體而是 CUDA 生態,資料流架構公司的軟體生態差距巨大。
- 編譯器是雙刃劍:編譯器複雜度極高,對映質量差則硬體利用率驟降,對團隊要求極高。
- 規模化難題:單一客戶(如某大雲端廠商)可能撐不起一個晶片公司的營收基礎,Graphcore 的挑戰已證明這一點。
- NVIDIA 反攻:NVIDIA 自身也在不斷最佳化架構(如 Transformer Engine、FP8 支援),擠壓差異化空間。
- 純資料流公司多數未上市:流動性風險高,IPO 路徑不確定。
關鍵判斷節點
- 編譯器能否支援主流 LLM 架構的高效對映? → 決定市場空間
- 推論延遲/吞吐的實測對比資料? → 決定技術可信度
- 能否獲得大客戶(雲端廠商/大型模型公司)的採購? → 決定商業化前景
常見誤讀糾偏
❌ 誤讀 1:“資料流架構就是脈動陣列(Systolic Array)”
糾偏:兩者有相似之處(資料在硬體中”流動”),但本質不同——
- 脈動陣列:資料在固定拓撲的 PE 陣列中沿固定方向流動(如 Google TPU 的矩陣乘法陣列),硬體結構固定,只能高效執行特定型別的計算(如矩陣乘法)。
- 資料流架構:計算圖可動態/可重構地對映到 PE 網路上,資料路由由編譯器決定,靈活性遠高於脈動陣列。
- 類比:脈動陣列像”工廠流水線”(固定工位、固定傳送帶方向),資料流架構像”可重組生產線”(工位和傳送路徑都可以重新配置)。
❌ 誤讀 2:“資料流架構能輕鬆替代 GPU 訓練大型模型”
糾偏:
- 資料流架構的理論並行效率高不等於實際產品已成熟到替代 GPU。
- GPU 有全球最成熟的軟體生態(CUDA、cuDNN、TensorRT、Triton 編譯器等),資料流架構公司的生態差距以”年”為單位計算。
- 目前資料流加速器在推論場景的商業化進展明顯優於訓練場景,訓練場景中張量並行/流水線並行等策略的實現複雜度極高。
- 已有案例表明,部分資料流架構公司在大客戶驗證中面臨軟體適配的挑戰 [行業報道]。
❌ 誤讀 3:“純資料流架構就是最理想的 AI 晶片”
糾偏:
- 經典學術意義上的”純資料流”(每個指令的數