Cerebras 这个名字,很多不玩 AI Infra 的人可能有点陌生。它不是做 GPU 的,也不是做常规 AI 加速卡的,而是把整块 300mm 晶圆做成一个连续计算芯片的公司。最近 Cerebras CEO Andrew Feldman 在公开场合又聊到了晶圆级架构在推理上的优势,甚至给出了“快 2500 倍”这种给人印象很深的数字。
很多人的第一反应是:具体快在哪?是频率更高,还是核心更多?其实都不是。真正的核心是内存带宽和权重的搬运方式。如果你正在做大模型推理部署、选型、或者被显卡显存带宽卡得难受,这篇文章可以帮你理清楚,这个“2500 倍”是营销话术还是物理优势。
接下来我会先讲清楚 Cerebras 晶圆级引擎是什么,再拆开来说推理为什么会卡在内存带宽上,然后解释“快 2500 倍”这句话的成立条件,最后给出一套通用的推理性能验证思路,方便你拿到任何推理服务时都能自己算账。
1. Cerebras 与晶圆级架构核心能力速览
先给一个整体的能力速览。下面的信息主要来自公开技术资料和厂商发布,具体型号、参数和接口能力还是要以官方资料为准。
| 能力项 | 说明 |
|---|---|
| 公司 | Cerebras Systems,专注大模型训练与推理加速 |
| 核心产品 | 晶圆级引擎(Wafer-Scale Engine,WSE) |
| 设计思路 | 整片晶圆不切割,当作单一芯片连续使用 |
| 机器学习场景 | 大模型预训练、微调、推理服务 |
| 推理核心优势 | 减少外部内存搬运,提高单 token 生成吞吐 |
| 典型部署形态 | 数据中心设备、云端推理 API,不面向个人 PC |
| 接口能力 | 提供云端推理 API,业界常采用 OpenAI 兼容风格 |
| 批量任务 | 面向高并发、高吞吐推理场景,可支撑批量请求 |
| 硬件门槛 | 普通用户无法自行部署,需通过云 API 或整机方案接入 |
| 适合人群 | 推理服务架构师、大模型应用开发者、AI Infra 研究 |
Cerebras 在 2024 年发布了最新一代晶圆级引擎,公开信息显示其采用先进制程,单颗芯片包含约 90 万个 AI 核心,拥有数十 GB 的片上 SRAM,片上内存带宽达到 PB/s 级别。这个数量级和常规 GPU 的 HBM 带宽完全不在一个层面。注意,这里的核心不是“核心多”,而是“数据离计算单元足够近”。
晶圆级架构最核心的特点,不是把晶体管做多,而是把内存和计算放在同一个连续晶圆上,尽量消除片外数据搬运。传统 GPU 是显卡上放一个或几个 die,外面配 HBM 显存,中间通过封装基板和 I/O 走线通信。Cerebras 的思路则是整片晶圆直接作为计算连续体使用,大量 SRAM 和计算核之间的距离被压缩到了极致。
2. 为什么大模型推理会慢在内存上
很多人以为推理慢是因为算力不够,但实际情况更复杂。LLM 推理分为两个阶段:prefill(预填充)和 decode(逐 token 生成)。prefill 阶段要并行处理输入文本,计算量大但通常只做一次。decode 阶段才是真正拖时间的地方,因为每个 token 都是串行生成的。
decode 阶段有一个非常明显的特征:每次生成一个 token,都需要把模型权重重新访问一遍。模型权重不会因为上一次推理就被“记住”在计算单元里,每次都要重新从内存读取。
举个例子,一个 70B 参数的模型,如果用 FP16 精度保存权重,那么权重文件大约 140GB。在 decode 阶段,每次生成一个 token,理论上至少要读取这 140GB 的权重数据。如果算力足够,瓶颈就完全被内存搬运时间锁死了。
传统 GPU 的高端型号 HBM 带宽大约在 3TB/s 左右。即使按照 3.35TB/s 计算,纯理论状态下降 140GB 权重搬到计算单元,也需要:
时间 = 140GB / 3.35TB/s ≈ 41.8 毫秒
也就是,单个请求顺序生成时,光是权重读取这一项,理论上限也只有每秒 24 个 token 左右。实际还会受到注意力计算、KV Cache、调度开销、显存访问冲突等影响,最终吞吐只会更低。这就是为什么很多人在本地跑大模型时,明明 GPU 算力很强,但 token 生成速度依然不理想。
所以 LLM 推理的性能瓶颈,很大程度不在 GPU 的浮点算力,而在内存带宽。这也是“以内存换算力”的架构改动,能够改变推理体验的根本原因。
3. 晶圆级架构到底改了什么
Cerebras 的晶圆级引擎把内存带宽提升了一个数量级,关键是它改变了“权重放哪里”和“权重怎么访问”这两个问题。
传统 GPU 的架构里,HBM 显存通过较长的物理走线连接到 GPU die 上。虽然 HBM 的带宽已经比普通 DDR 内存高很多,但物理距离、IO 接口数量、封装功耗的限制都存在。每次读取权重,数据要走完“计算单元 → 片内缓存 → 存储控制器 → HBM 颗粒”整条路。数据量一大,延迟和功耗都会急剧上升。
Cerebras 的做法是把大量 SRAM 直接和计算核心放在同一片晶圆上。SRAM 的优点是速率快、延迟低、能与算力单元紧密耦合,缺点是单位容量成本高、密度低。在传统 GPU 上,SRAM 一般只用来做 cache,无法存放完整的大模型权重。但晶圆级架构通过整片晶圆的大面积,把 SRAM 容量做到了几十 GB 级别,让更多的权重可以长期驻留在片上。
这样的直接结果,是 decode 阶段每次读取权重时,不再需要跨越完整的 HBM 走线和存储控制器,而是从片内 SRAM 获取。再加上片内互连的带宽优势,每次权重读取的耗时被大幅压缩。
晶圆级架构还解决了多卡并行的问题。很多大模型在 GPU 集群上推理时,需要做张量并行或流水线并行,模型会被切到多张卡上,每生成一个 token,多张卡之间还要同步一层输出。这样跨卡通信的延迟会叠加在每 token 延迟上。Cerebras 单片晶圆面积够大,一个“逻辑芯片”上集成了极高数量的核心和互连,很多模型可以在单芯片内完成切分,不需要频繁通过外部网络传递中间结果。这等于同时减少了“内存搬运”和“卡间同步”两笔开销。
所以,晶圆级架构并不是简单地把 GPU 做大,而是把推理中最影响体感的两部分瓶颈,也就是内存带宽和卡间通信,分别在物理层面做了优化。
4. “快 2500 倍”这个数字是怎么来的
Cerebras CEO 多次提到的“2500 倍”,并不是所有场景下的通用结论。它应该被理解为一个特定项目、特定基线、特定测试条件下的比较结果。这个数字能成立,主要来自几个维度的叠加。
第一,不同硬件方案的“每 token 生成速度”差异极大。如果拿晶圆级架构和 CPU 推理比,或者和内存带宽受限明显的低功耗 GPU 平台比,由于基线本身很低,倍率自然会被拉得非常大。用户在本地用 CPU 跑 70B 模型时,每秒可能只有几个 token,而 Cerebras 的数据中心级方案可以达到每秒上千 token,倍率成百上千并不奇怪。
第二,Cerebras 在架构层面把权重的“重复读取”代价降下来了。GPU 上,每个 token 都要从 HBM 拉权重,一旦请求并发或者服务长文本,带宽会被迅速占满。而在晶圆级架构中,权重可能常驻芯片 SRAM,单 token 的生成延迟大幅缩短。也就是说,“2500 倍”这个数字,本质是“内存搬运”“卡间通信”“串行 decode”这三项开销同时被压缩之后的体现,而不是单靠某一项改出来的。
第三,厂商在宣传时往往会选择对自己最有利的对比基线。比如选择的模型大小、精度、batch size、并发数、输出长度、参考 GPU 型号等,都会影响倍率。以不同 baseline 做基准测试,可能得到几十倍、几百倍、甚至几千倍的不同结论。
从技术人的角度看,这个“2500 倍”的价值不在于精确的倍数,而在于它揭示了一个趋势:推理的下一阶段优化重点将从“增加算力”转为“减少数据搬运”。谁能把权重的物理距离拉得越近,谁就能在 token 生成场景中获得越明显的体验优势。
5. 适用场景与使用边界
晶圆级架构的特点是高吞吐、低延迟权重访问、大芯片一体化调度。因此它最适合以下场景。
一是高并发推理服务。很多 AI 应用需要同时处理大量独立的生成请求,晶圆级架构的大面积核心和片上网络可以更高效地处理并行任务,降低排队时间。
二是长文本生成。输出 token 越多,decode 阶段占总时间的比例越高,内存带宽瓶颈越明显。晶圆级架构在长输出场景下的相对优势更大。
三是对延迟敏感的生产环境。比如实时聊天、Agent 工具调用、程序生成等,用户希望首 token 快、后续 token 稳定。晶圆级架构的确定性调度比传统 GPU 更容易做到低抖动。
但它的边界也非常明显。
首先,这不是普通人能在自己电脑上部署的硬件。晶圆级引擎需要专门的主板、机柜、散热和供电方案,个人开发者只能通过云 API 接触。
其次,片上 SRAM 虽然容量不小,但和显存相比仍然有限。超大模型无法完整放入单颗晶圆级芯片时,依然要做模型切分、外部存储配合或者多芯片并行,这会降低一部分优势。不同官方资料给出的方案不同,实际性能需要按具体模型和环境测试。
再次,软件生态相对年轻。GPU 拥有 CUDA、PyTorch 高度适配的成熟生态,而晶圆级架构要发挥完整能力,需要编译器、推理框架、模型工具链的深度适配。新模型是否能快速上线,存在一定滞后风险。
最后,成本和采购门槛不低。晶圆级引擎的设备价格属于数据中心级投入,并不适合所有团队。对于大多数中小规模业务,继续使用 GPU 云服务可能是更经济的方案。
6. 性能验证思路与 token/s 实测脚本
不管选择什么推理服务,最终还是要用数据验证。如果你正好拿到了某个推理服务的 API 访问权限,无论它是 Cerebras 还是任何 GPU 推理平台,都可以用一个通用脚本测试端到端的生成性能。
测试时,至少需要关注三个指标:首 token 延迟、平均每秒 token 数、整体请求耗时。其中每秒 token 数是最直观的对比指标。
下面给出一段简单的测速脚本,使用 Python requests 直接请求兼容 OpenAI 风格的 chat completions 接口。注意,这只是一种通用测试模板,实际 API 路径、鉴权方式、参数名需要根据服务提供方的官方文档调整。
import time import requests # 请替换为你的推理服务端点、密钥和模型名 endpoint = "https://your-inference-service/v1/chat/completions" api_key = "YOUR_API_KEY" model = "your-model-name" payload = { "model": model, "messages": [ {"role": "system", "content": "你是一个输出稳定的助手。"}, {"role": "user", "content": "请写一段 200 字左右的技术说明。"} ], "max_tokens": 512, "temperature": 0.7, "stream": False } headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json", } start = time.perf_counter() resp = requests.post(endpoint, json=payload, headers=headers, timeout=180) latency = time.perf_counter() - start data = resp.json() if resp.status_code != 200: print("请求失败:", data) exit(1) content = data["choices"][0]["message"]["content"] usage = data.get("usage", {}) completion_tokens = usage.get("completion_tokens", 0) total_tokens = usage.get("total_tokens", 0) print(f"输出内容长度:{len(content)} 字符") print(f"总耗时:{latency:.2f} 秒") print(f"生成 token 数:{completion_tokens}") if completion_tokens > 0: print(f"平均生成速度:{completion_tokens / max(latency, 0.001):.2f} tokens/s") print(f"总 token 数(含输入):{total_tokens}")测试时要注意几个坑。
第一,如果 max_tokens 设置得过小,输出可能提前结束,测出来的 token 数会失真。
第二,如果是流式接口,总耗时和 token 生成速度的统计方式不同。流式接口需要自己处理增量内容并记录首 token 时间。
第三,同一服务的性能会随着并发数、输入长度、服务端负载而波动。要得到稳定对比,建议每个配置测多轮,取中位数或平均值,不要只跑一次。
如果你希望观察更细的指标,还可以使用time.perf_counter()分别记录首个 token 到达时间和剩余 token 的累计时间,这样能同时看到首 token 延迟和稳定生成阶段的速率。
7. 关于这个话题的常见问题与排查思路
很多人一看到“快 2500 倍”就开始争论,其实问题往往出在指标定义不一致。下面整理了几个常见的疑问和排查建议。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 为什么不同文章的倍数差异巨大 | 对比基线、模型、精度、batch 都不同 | 查看原文是否给出完整测试条件 | 自己拿同一脚本跑目标服务,再做对比 |
| CPU、GPU、晶圆级芯片测出不同 token 速度 | 内存带宽和权重驻留位置不同 | 分别记录 TTFT 和 decode 阶段耗时 | 重点看 decode 阶段的平均 token 生成耗时 |
| API 返回结果比本地推理慢 | 网络延迟、服务端排队、限流 | 用 curl 查看 HTTP 响应耗时和状态码 | 增加超时重试,并避开服务高峰 |
| 输出 token 数统计异常 | API 的 usage 字段可能不返回 | 检查返回字段结构 | 改为按输出字符数和采样算法估算,或用服务端日志统计 |
| 并发请求时性能大幅下降 | 服务端资源被占满或限流 | 观察每秒成功请求数 | 控制并发,加入退避重试,调整 batch |
| 某些模型新推出但无法在特定推理平台上使用 | 推理平台还没来得及适配模型 | 查看官方模型支持列表 | 改用已适配的模型或切换到其他平台 |
这里的最重要建议是:不要只看厂商宣传的倍率,要自己在具体业务场景里做回归测试。因为你的输入、输出、并发模型,和厂商测试环境很可能完全不同。
8. 做推理选型时,应该看哪些底层指标
看完 Cerebras 的晶圆级架构,回到普通开发者视角,我们依然可以从中学到一套选择推理硬件的逻辑。
第一看内存带宽。如果你的业务以长文本输出为主,比如文档生成、Agent 对话、代码补全,内存带宽比峰值算力更关键。带宽越高,每 token 生成延迟越稳定。
第二看内存容量。模型权重能放得下是第一步。如果单卡放不下,就要评估多卡并行时的通信开销。这也是为什么很多推理服务追求“单卡装下模型,不做张量并行”的原因,省掉跨卡同步的时间。
第三看批量处理能力。推理服务一般会通过 batch 动态合并提升吞吐,这时候要关注服务端是否能高效处理多个并发请求。Cerebras 在大批量场景的片上调度优势,对应到 GPU 平台就是 CUDA 的 batch manager、vLLM 的 continuous batching 等软件能力。
第四看软件栈。硬件只是底座,真正影响生产的是后端框架、量化工具、OpenAI 兼容 API、监控日志是否好用。如果每次上新模型都要烧一轮适配,架构优势都会被运维成本抵消。
9. 总结
Cerebras 的晶圆级架构从物理层面改变了权重搬运方式,这是它能在推理场景上跑出夸张倍率的根本原因。对于做应用层和推理服务的人,这个案例最大的参考价值不是“买不买 Cerebras”,而是让你重新审视自己项目的性能瓶颈到底在哪里。
如果你现在跑大模型推理,建议先做一个最简单的小测试:用脚本记录 prefill 和 decode 两个阶段的耗时,算一下每 token 平均生成速度。如果 decode 时间占比很高,那就说明问题很可能出在内存带宽和权重访问上。这时候再调整模型精度、batch 策略、并行方式,会比盲目升级显卡更有效。