一、先理解清楚概念:GPU、显卡、显存与大模型参数
1. GPU 是芯片,显卡是板子,显存是显卡上专用的内存
很多人把 GPU 和显卡混着叫。其实严格说,它们是三样不同的东西,而且和一台主机里的部件一一对应:
| CPU主机 | GPU主机 | 各自的职责 |
|---|---|---|
| CPU(芯片) | GPU 芯片 | 大脑,负责算 |
| 内存 | 显存(VRAM) | 给「算」的那颗芯片放数据 |
| 主板 | 显卡 PCB 板 | 把芯片、存储装在一起 |
所以可以这样理解:
- GPU是一块专门负责并行计算的芯片,相当于主机里的 CPU;
- 显卡是一块把 GPU、显存、供电、散热装在一起的电路板,相当于一台完整的「主机」;
- 显存是显卡上专用的内存,用来给 GPU 放要算的数据,相当于主机里的内存。
也就是说:GPU 是芯片,显卡是板子,显存是显卡上专用的内存。
所谓 GPU 主机,就是插了很多张专业 GPU 显卡的服务器。它同样有 CPU、内存、硬盘、网络,重点在于插了 1 张、4 张、8 张甚至更多 GPU 卡。平时说「这台机器配置了 8 卡」,意思就是里面插了 8 块 GPU 显卡。
2. CPU 主机 vs GPU 主机,差在核心与存储的配比
| 对比 | CPU 主机 | GPU 主机 |
|---|---|---|
| 计算核心 | 几十个,擅长复杂逻辑 | 几千个,擅长并行计算 |
| 存储 | 内存,容量大但带宽相对低 | 显存,容量有限但带宽极高 |
| 适合任务 | 调度、逻辑、串行 | 矩阵乘法、AI 训练 / 推理 |
| 跑大模型 | 能跑但极慢 | 适合,但要看显存和多卡 |
| 显存 | 没有独立显存,或共享内存 | 每张卡有自己的显存 |
| 多卡扩展 | 一般不靠多 CPU 并行 | 多 GPU 分片、并行 |
| 典型场景 | 办公、数据库、普通服务 | 大模型、渲染、科学计算 |
用这个视角,几个老问题就顺了:
为什么 GPU 比 CPU 快这么多?架构是同一套,差在配比:CPU 是「少数强核 + 中等带宽的内存」,GPU 是「几千个弱核 + 高带宽的显存」。
为什么显存这么重要?就像内存决定你的电脑能同时开多少程序,显存决定能放多大的模型。内存不够,程序会卡甚至崩;显存不够,模型根本装不进去。
核显和独显的区别,也用这个视角一眼能看懂:
- 集成显卡(核显):把一块小 GPU 直接塞进 CPU 芯片里,它没有自己的显存,只能和 CPU 共用主机内存;
- 独立显卡(独显):单独一块卡,自带显存,插在主板插槽上,自己干自己的活。
很多人说「我这电脑没 GPU」,通常真正意思是:没有独立显卡,只有集成显卡。但现代电脑几乎都有 GPU,否则连桌面显示、视频播放、浏览器加速都会很吃力。
3. 显存里到底装了什么?
显存就是 GPU 的工作台。大模型跑起来,显存里主要放三样东西:
- 模型权重:模型本身的「知识」,最大头;
- KV 缓存:聊天记忆,越聊越长;
- 中间激活值:计算过程中的临时结果。
对应到普通电脑上,这三样大致像「程序本体」「运行时的数据」和「临时的中间变量」。显存大小决定能放多大模型,显存带宽决定 GPU 取数据算得快不快。
所以 GPU 主机跑大模型,不是只看「有没有 GPU」,而是看三件事:显存够不够大、带宽够不够高、多卡之间通信快不快。
4. 大模型552B 和 552GB,两个 B 不是一回事
552B 里的 B 是 Billion,十亿。所以 552B = 5520 亿个参数。参数可以理解成模型里的「旋钮」或「记忆单元」—— 参数越多,模型通常越大越强,但也越吃显存。
GB 里的 B 是 Byte,字节。GB = Gigabyte,十亿字节,是存储容量单位。
所以:552B数的是参数「个数」,552GB数的是「占多少空间」。两者根本不是一回事,千万别混。
5. 552B 参数到底占多少显存?
这要看每个参数用多少字节来存。同样是 552B 参数,换一种精度存,显存需求能差 4 倍:
| 精度 | 每个参数占 | 552B 参数大约占 |
|---|---|---|
| FP16 | 2 字节 | 约 1104 GB,也就是约 1.1 TB |
| FP8 / INT8 | 1 字节 | 约 552 GB |
| FP4 | 0.5 字节 | 约 276 GB |
注意,这只是模型权重。实际跑起来还要放 KV 缓存、中间结果、框架开销,所以真实占用更大。
一张常见的企业卡是 80GB 显存。552B 参数用 FP8 存,光权重就要约 552GB,至少 7 张 80GB 卡;实际还要留余量,通常 8 张或更多。用 FP16,至少 14 张,实际可能 16 张。这就是为什么大模型要「多卡部署」。
6. 大模型跑起来时,到底是 CPU 还是 GPU 在算?
这里纠正一个常见误解:不是 CPU 从 GPU 显存里取模型内容去算,而是 GPU 自己直接从显存里取模型内容去算。
一次调用大概是这样:
- 用户发来一句话;
- CPU 和推理程序把这句话处理成 token;
- 这些 token 被送到 GPU 显存里;
- GPU 开始计算:读显存里的模型权重和之前的 KV 缓存(聊天记忆),做矩阵乘法,生成下一个 token;
- 结果写回显存,再传回内存,返回给用户。
多卡时同理:每张卡只读自己显存里的那部分权重,卡与卡之间再通信交换结果。主机里是 CPU 从内存取数据来算,显卡里就是 GPU 从显存取数据来算 —— 结构一样,只是主角换了。
二、为什么大模型需要部署在 GPU 主机上?
概念都清楚了,答案其实就藏在两个词里:装得进和算得快。
1. 装得进:显存容量是硬前提
一个 552B 参数的大模型,光模型权重用 FP16 存就要约 1.1TB 显存,用 FP8 也要约 552GB。而一张企业级显卡的显存通常只有 80GB——一张卡连模型都装不进去,更别提跑了。
CPU 主机没有独立显存,模型要么放内存里让 CPU 慢慢取,要么根本放不下。所以第一步的「装得进」,就把大模型指向了带大显存的 GPU。
2. 算得快:并行算力决定速度与吞吐
就算把模型勉强放进 CPU 主机,大模型的核心计算是海量矩阵乘法,天生适合并行。CPU 只有几十个核心,逐个算下去极慢;GPU 有几千个核心,可以同时开工,速度差出几个数量级。
落到实际使用上就是:CPU 跑大模型生成一个 token 可能要很久,同时服务不了几个用户;GPU 才能做到低延迟、高吞吐。对生产环境来说,算得慢就等于成本高、体验差。
三、那 CPU 主机到底行不行?
能,但要分情况。
小模型、量化模型可以跑在 CPU 上。比如小参数模型、经过高度量化的模型,配上 llama.cpp 之类的 CPU 推理框架,在个人测试、边缘设备、极低成本场景下,CPU 主机确实能跑,只是速度慢、吞吐低。
大模型跑在 CPU 主机上,问题很大。如果模型很大,比如 552B 这种级别,CPU 主机基本不现实 —— 显存放不下、并行能力弱,落到使用上就是:速度极慢、吞吐低、生产环境不划算(延迟高、成本高、体验差)。
四、总结
大模型需要部署在 GPU 主机上,核心就两个原因:显存足够大,模型才「装得进」;核心足够多,并行算力才「算得快」。单张卡装不下就多卡分片协同,跑起来也是 GPU 自己从显存取数来算。CPU 主机能跑小模型,但跑不快;大模型的生产部署,必须靠 GPU 主机。