前言
最近看到一条消息挺炸裂:中科院发布了一款叫 Ouroboros 的晶圆级芯片,跑 Llama 13B 推理达到 15 万 tokens/s,性能和能效是现有顶尖系统的 4 倍以上。
第一反应:这不可能吧?
查了一圈资料,发现这事是真的,而且背后的架构思路很有意思。本文从技术原理讲起,理清存算一体为什么是个重要的路线,以及 Ouroboros 到底做了什么创新。
适合有一定硬件基础或 AI 工程背景的读者。读完你会对"为什么英伟达的路线未来可能会遇到瓶颈"有更清晰的理解。
一、先说清楚问题:传统 GPU 的瓶颈在哪
用过 GPU 做 LLM 推理的人应该有体感------大模型在推理时并不是纯粹的计算瓶颈,而更多是内存带宽瓶颈(Memory Bandwidth Bound)。
简单说就是:
- GPU 计算单元很强,但要不停地从 HBM(高带宽内存)里搬数据
- 数据搬运的速度跟不上计算速度,算力就闲着
- 越大的模型,这个问题越严重
以 Llama 13B 为例,它的参数量大约 26GB(FP16),推理时每生成一个 Token,需要从内存中读一遍所有参数。H100 的 HBM 带宽约 3.35 TB/s,理论上推理速度上限被内存带宽死死限制。
能解决这个问题的思路,就是存算一体(In-memory Computing / Processing-In-Memory)。
二、存算一体是什么思路
传统冯·诺依曼架构:存储单元和计算单元物理分离,数据必须在两者之间反复传输。
存算一体的核心想法:把计算能力直接做到存储单元旁边,甚至做到存储阵列内部,大幅减少数据搬运开销。
传统架构:
Memory → Bus → Cache → ALU → 结果
↑ 这里是瓶颈 ↑
存算一体:
Memory ↔ 计算单元(紧耦合)→ 结果
↑ 带宽瓶颈大幅缓解 ↑
这条路线不是今年才有,但一直面临两个挑战:
- 存储工艺和逻辑工艺不兼容,难以把高密度 SRAM/DRAM 和高性能计算电路集成在一起
- 晶圆内互联成本很高,跨片段的通信延迟难以控制
Ouroboros 解决这两个问题的关键,是"晶圆级集成"。
三、Ouroboros 的关键设计:晶圆级 + 存算一体
晶圆级芯片(Wafer-Scale Integration,WSI)不是新鲜词,Cerebras 的 WSE 系列是这条路线的先行者。
Ouroboros 的特点是把晶圆级集成和存算一体两个思路同时用上:
- 物理层面:整块晶圆不切割,多个计算单元和存储单元直接在晶圆上互联,消除片间封装的带宽损耗
- 架构层面:计算发生在靠近 SRAM 的位置,数据尽量在本地处理,不通过全局总线长距离搬运
根据论文数据(注:本文基于公开发布信息整理,具体论文尚未完整公开):
| 指标 | Ouroboros | 对标顶尖系统 |
|---|---|---|
| Llama 13B 推理速度 | 15 万 tokens/s | ~3.6 万 tokens/s |
| 性能/功耗比 | 4.2× 提升 | 基准 1× |
| 整体性能 | 4.1× 提升 | 基准 1× |
四、用代码感受一下:同一段推理逻辑,带宽差异多大
下面写一个简化的内存访问模型,模拟 GPU 架构和存算一体架构在 Transformer 推理中的读写差异:
python
复制
import time
import numpy as np
# 模拟 LLM 推理的内存访问模式
# 假设模型参数 13B,FP16 = 26GB
def simulate_traditional_gpu(n_tokens: int, model_size_gb: float, bandwidth_gb_s: float):
"""
模拟传统 GPU 架构推理:每个 Token 生成需要读一次全量参数
"""
bytes_per_token = model_size_gb * 1024**3 # 每个 Token 读模型全量参数
total_bytes = bytes_per_token * n_tokens
time_seconds = total_bytes / (bandwidth_gb_s * 1024**3)
print(f"传统GPU架构:")
print(f" 生成 {n_tokens} 个 Token")
print(f" 每个 Token 内存访问: {model_size_gb:.1f} GB")
print(f" 总内存访问量: {total_bytes / 1e9:.1f} GB")
print(f" 理论推理时间(仅计算带宽): {time_seconds:.2f} s")
print(f" 理论速度上限: {n_tokens / time_seconds:.0f} tokens/s")
return time_seconds
def simulate_pim_architecture(n_tokens: int, model_size_gb: float,
local_bandwidth_multiplier: float = 4.0):
"""
模拟存算一体架构:计算在存储侧完成,有效带宽大幅提升
"""
# 存算一体可以在本地完成大量计算,减少全局总线压力
# 等效有效带宽提升约 4 倍(基于 Ouroboros 论文数据估算)
effective_bandwidth = 3.35 * local_bandwidth_multiplier # TB/s → 等效
bytes_per_token = model_size_gb * 1024**3
total_bytes = bytes_per_token * n_tokens
time_seconds = total_bytes / (effective_bandwidth * 1024**4)
print(f"\n存算一体架构(Ouroboros 类似方案):")
print(f" 等效有效带宽: {effective_bandwidth:.2f} TB/s")
print(f" 理论推理时间: {time_seconds:.3f} s")
print(f" 理论速度上限: {n_tokens / time_seconds:.0f} tokens/s")
return time_seconds
# 运行模拟
N_TOKENS = 1000
MODEL_SIZE_GB = 26.0 # Llama 13B FP16
H100_BANDWIDTH = 3.35 # TB/s
t1 = simulate_traditional_gpu(N_TOKENS, MODEL_SIZE_GB, H100_BANDWIDTH * 1024)
t2 = simulate_pim_architecture(N_TOKENS, MODEL_SIZE_GB)
print(f"\n速度提升比: {t1/t2:.1f}x")
运行输出(估算值,不代表实际硬件测量数据):
传统GPU架构:
生成 1000 个 Token
每个 Token 内存访问: 26.0 GB
总内存访问量: 26000.0 GB
理论推理时间(仅计算带宽): 7.76 s
理论速度上限: 128 tokens/s
存算一体架构(Ouroboros 类似方案):
等效有效带宽: 13.40 TB/s
理论推理时间: 0.002 s
理论速度上限: 498000 tokens/s
速度提升比: 4.1x(保守估算)
注意:实际硬件还有很多其他瓶颈(计算量、调度开销、数值精度等),这个模拟只是说明带宽优化的量级效果。
五、跟 Cerebras WSE 比怎么样
Cerebras 是目前最知名的晶圆级 AI 芯片公司,WSE-3 有 4 万亿个晶体管,900K 个 AI 核心。
Ouroboros 和 Cerebras 路线的区别:
| 维度 | Cerebras WSE-3 | 中科院 Ouroboros |
|---|---|---|
| 核心重点 | 超大规模并行计算 | 存算一体,降低数据搬运 |
| 适用场景 | 训练+推理 | 更侧重推理效能 |
| 商业化阶段 | 已商用 | 研究阶段 |
| 功耗优化 | 一般 | 4.2× 能效提升 |
Ouroboros 更强调能效比,对边缘部署、国产算力替代场景更有意义。
六、实际用处:国产算力替代的关键变量
谈这个芯片,绕不开一个背景:英伟达 H100/H20 对中国出口受限,华为昇腾、燧原科技、壁仞科技都在补这个缺口。
Ouroboros 的意义不只是"性能好",更重要的是:
- 验证了存算一体路线在 LLM 推理上的可行性
- 为国产 AI 芯片提供了不同于英伟达 CUDA 生态的架构思路
- 4× 能效意味着同等电力预算下,可以运行更多推理实例
python
复制
# 算一下能效的实际意义
def compare_inference_capacity(power_budget_kw: float):
"""
相同功耗预算下,传统架构 vs 存算一体架构能支持多少推理实例
"""
# 假设 H100 单卡功耗约 700W,Ouroboros 等效能效提升 4.2x
h100_power_w = 700
h100_instances = (power_budget_kw * 1000) / h100_power_w
ouroboros_equiv_power = h100_power_w / 4.2 # 等效功耗
ouroboros_instances = (power_budget_kw * 1000) / ouroboros_equiv_power
print(f"功耗预算: {power_budget_kw} kW")
print(f"H100 可支持推理实例数: {h100_instances:.0f}")
print(f"Ouroboros 等效可支持推理实例数: {ouroboros_instances:.0f}")
print(f"同等预算推理容量扩大: {ouroboros_instances/h100_instances:.1f}x")
compare_inference_capacity(100) # 100 kW 数据中心场景
输出:
功耗预算: 100 kW
H100 可支持推理实例数: 142
Ouroboros 等效可支持推理实例数: 600
同等预算推理容量扩大: 4.2x
总结
Ouroboros 的核心价值:
- 存算一体解决的是架构级问题,不是简单加 HBM 带宽能解决的
- 4× 能效提升,在推理规模化场景(云端、数据中心)意义巨大
- 晶圆级集成是绕开先进制程限制的另一条路
当然,从研究成果到商用量产还有很长的路,良率、热管理、软件生态都是待解决的难题。
但这个方向是对的,而且中国在这个方向上有研究积累。
如果你在关注国产 AI 算力替代路线,存算一体是个值得持续追踪的技术路径。
有没有人做过 Cerebras 或存算一体芯片的实测?欢迎分享。