显存明明够大,AI 大模型跑起来还是慢吞吞,很多人卡在这一步找不出原因。答案通常藏在参数表另一栏:显存带宽。这篇讲清它管什么,为什么它被称为速度的第二要素。
带宽是管道的粗细
显存带宽衡量的是每秒能从显存搬多少数据到计算核心,单位是 GB/s。显存容量决定能装多少,带宽决定能运多快,两者是体积和流速的关系。容量像蓄水池的大小,带宽像出水管的粗细:池子再满,管子细,水流照样细。
数量级上感受一下:普通内存的带宽是每秒几十 GB,中端显卡的显存带宽三四百 GB/s,高端卡逼近每秒 1TB。相差的这几倍到十几倍,就是推理速度差距的主要来源之一。
推理时数据怎么流
大模型生成一个字的过程,可以简化成一条流水线:计算核心按顺序读取模型的一部分参数,算出中间结果,再读下一部分,循环几十层,最后得到这个字。每一层都在重复「取参数、做计算」两件事,取参数占用的时间占比在推理场景里相当高。
假设一个 7B 模型按 8 位精度存放,参数共 7GB,生成每个字都要把这 7GB 基本过一遍。若带宽是 400GB/s,光取参数就要约二十分之一秒,理论上限就是每秒二十个字上下;换成 100GB/s 的窄通道,直接掉到每秒几个字。计算核心本身的快慢,反而排在后面。
大模型为什么卡带宽
根本原因在于逐字生成的工作方式:每写一个字,参数都要重新读一遍,读的总量是「参数大小乘以字数」。回答越长,搬运量越大。计算核心的运算速度这些年涨得快,带宽的涨幅却慢得多,于是活越干越快、料越来越供不上,瓶颈就落在带宽上。这也是为什么有些参数表上算力惊人的卡,跑大模型的速度并不突出——核心在等料。
缓解办法也有几条:量化把参数压小,同样的管道搬运量减少;批处理把多个请求拼在一起算,一趟搬运服务多个提问,摊薄单位成本;还有对参数做分块缓存的技术,减少重复读取,细节以各家框架的技术说明为准。
带宽速查三行
- 估算上限:每秒生成字数约等于带宽除以模型大小(8 位口径)
- 300GB/s 带宽跑 7B(8 位):理论上限每秒四十个字上下
- 嫌慢先查三样:量化位数、批处理设置、带宽是不是瓶颈
速度慢时,先算一算自己是不是卡在管道上。
看参数别只看算力
把三样参数放在一起看才完整:显存容量决定模型装不装得下,带宽决定喂料快不快,算力决定算得快不快。推理场景里,前两者经常比第三个更先成为瓶颈。选购或租用显卡时,除了 FLOPS,把带宽那一栏找出来对比,会避开很多坑。这也是消费级和专业卡拉开差距的关键维度之一,具体差异在专业卡那篇里展开。
三样参数各管一段,缺哪样就卡在哪。
| 参数 | 管什么 | 不够时的表现 | 选购时怎么读 |
|---|---|---|---|
| 显存容量 | 模型装不装得下 | 装不下,直接跑不起来 | 先保证容量够装,这是能不能跑的问题 |
| 显存带宽 | 喂料快不快 | 计算核心在等料,逐字生成掉速 | 除了 FLOPS,把带宽那一栏找出来对比 |
| 算力(FLOPS) | 算得快不快 | 峰值再高也可能发挥不出来 | 推理场景里常排在容量和带宽之后 |
一条公式记回家
记住一条经验公式:每秒生成字数约等于带宽除以模型大小。模型不变、想提速时,要么换更宽的管道,要么把模型压小,二选一往往比堆算力更见效。想回到显存容量本身,读什么是显存?跑模型的第一道门槛;它与算力如何配合,见什么是 FLOPS?算力的计量单位;压小模型的常用手段在什么是量化部署?压缩后再上卡,一个例子讲透;一张卡装不下要拆开跑,看什么是模型切分?一个模型多张卡。
关于显存带宽,问得最多的三个
- 带宽和容量哪个优先?:先保证容量装得下,这是能不能跑的问题;再谈带宽,这是快不快的问题,顺序不能反。
- 为什么生成第一个字比后面的字慢?:开头要处理整段输入的上下文,计算量集中;后续逐字生成时每步只算增量,速度通常更稳。
- 两块带宽不同的卡跑同一模型差多少?:可以用带宽相除粗估速度比,比如 600GB/s 对 300GB/s,理论上限差一倍,实际受其他因素影响略低于这个值。


