数据流架构(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 芯片”
纠偏:
- 经典学术意义上的”纯数据流”(每个指令的数