第一章:大模型推理全景图——从训练到服务的最后一公里

大家好,我是你们这趟旅程的向导。做了这么多年大模型落地,我最大的感触就是:训练是造车,推理才是开车上路。很多团队模型训得不错,一上线就崩,说白了就是没搞懂推理这“最后一公里”到底该怎么走。

今天咱们就把大模型推理这件事,从头到尾拆个明明白白。我会结合自己踩过的坑,把那些纸上谈兵的东西落到硬件上。

1.1 推理流程总览:一个请求的奇幻漂流

你想想看,当用户在对话框里敲下一句话,点击发送,到模型吐出第一个字,中间到底发生了什么?

我习惯把推理流程分成三个阶段:

  • 预处理阶段:把用户输入的文本变成模型能理解的数字(Tokenization + Embedding)
  • 核心推理阶段:Transformer 一层层往前传,生成第一个 Token,然后循环生成后续 Token
  • 后处理阶段:把模型输出的数字变回人类能读懂的文本(Detokenization + 采样策略)

嗯,这里要注意,核心推理阶段才是真正的“吞金兽”。我见过不少团队在预处理上优化半天,结果发现推理阶段占了 95% 以上的耗时。

核心观点:大模型推理的本质,就是一个“自回归”过程。每次生成一个 Token,都要把之前所有的 Token 重新算一遍(虽然有 KV Cache 优化,但原理不变)。

让我用一张图把整个流程串起来:

大模型推理全流程 预处理阶段 Tokenization Embedding 核心推理阶段 Prefill(预填充) Decode(自回归生成) KV Cache 管理 循环生成 后处理阶段 Detokenization 采样策略(Top-p/Top-k) 输入文本 → 数字序列 → 逐 Token 生成 → 输出文本 各阶段耗时占比(典型场景) 预处理 2% 核心推理 95% 后处理 3% 优化重点:核心推理阶段

1.2 硬件选型核心指标:算力、显存、带宽

说到硬件选型,我见过太多人一上来就问“哪个 GPU 最强?”其实这是个伪命题。你得先搞清楚自己的瓶颈在哪。

我个人习惯把大模型推理的硬件需求拆成三个核心指标:

1.2.1 算力(Compute)

算力决定了模型能跑多快。单位通常是 TFLOPS(每秒万亿次浮点运算)。

但这里有个坑:算力利用率。我曾经在 A100 上跑一个 7B 模型,理论算力 312 TFLOPS,实际只用了不到 30%。为什么?因为模型太小,GPU 吃不饱,都在等数据搬运。

GPU 型号 FP16 算力 (TFLOPS) INT8 算力 (TFLOPS) 典型场景
A100 (80G) 312 624 大模型训练/推理
H100 989 1979 旗舰级推理
L40S 182 364 中等规模推理
RTX 4090 82.6 165.2 个人/小团队部署

我的经验:选算力时别只看峰值。如果你的模型是 7B 以下,RTX 4090 性价比反而更高。我有个项目用 4090 部署 13B 模型,量化到 INT4 后,延迟只比 A100 慢了 30%,但成本只有十分之一。

1.2.2 显存(Memory)

显存决定了你能装下多大的模型。这个很好理解——模型参数、KV Cache、中间激活值,全都要塞进显存里。

我给大家一个粗略的估算公式:

模型显存占用 ≈ 参数量 × 精度字节数 × 1.2(额外开销)

举例:
- 7B 模型,FP16(2字节):7B × 2 × 1.2 ≈ 16.8 GB
- 13B 模型,INT8(1字节):13B × 1 × 1.2 ≈ 15.6 GB
- 70B 模型,FP16(2字节):70B × 2 × 1.2 ≈ 168 GB

嗯,这里要注意,KV Cache 才是真正的“显存刺客”。我遇到过最夸张的一次,一个长对话场景下,KV Cache 占的显存比模型本身还大。

避坑指南:我曾经在一个项目中,用 A100 80G 部署 70B 模型,以为显存绰绰有余。结果上线后发现,用户对话一长,显存直接爆了。后来加了 KV Cache 的显存管理策略才解决。所以选显存时,一定要留出 20%-30% 的余量给 KV Cache 和动态请求。

1.2.3 带宽(Bandwidth)

带宽是很多人容易忽略的指标。说白了,算力再强,数据搬不过来也是白搭。

大模型推理有个特点:计算密度低。每次生成一个 Token,只需要做一次矩阵乘法,但要把整个模型的所有参数从显存搬到计算单元。这时候,带宽就成了瓶颈。

我给大家一个简单的判断方法:

  • 计算密集型:大 Batch Size(比如 Batch=64 以上),算力是瓶颈
  • 带宽密集型:小 Batch Size(比如 Batch=1 的在线推理),带宽是瓶颈

你想想看,为什么 H100 比 A100 强那么多?除了算力翻了三倍,HBM3 的带宽(3.35 TB/s)比 A100 的 HBM2e(2.0 TB/s)快了近 70%。

GPU 显存带宽 显存类型 适合场景
H100 3.35 TB/s HBM3 高并发、大模型
A100 2.0 TB/s HBM2e 通用推理
RTX 4090 1.0 TB/s GDDR6X 小模型、低并发

1.3 三个指标如何权衡?

说实话,没有完美的硬件,只有合适的搭配。我习惯用这个思路来做选型决策:

  1. 先看显存:能不能装下模型?装不下一切免谈
  2. 再看带宽:在线推理场景,带宽往往比算力更重要
  3. 最后看算力:如果前两个都满足,算力越高越好

我的建议:如果你刚开始做推理部署,别一上来就上 H100。先用 RTX 4090 或者 A10 把流程跑通,搞清楚你的瓶颈在哪,再决定要不要升级硬件。我见过太多人花大价钱买了 H100,结果发现瓶颈在数据预处理或者网络 IO 上。

好了,这一章我们理清了推理的全流程和硬件选型的三个核心指标。下一章,我会带大家深入 Prefill 和 Decode 这两个阶段,看看它们到底是怎么吃算力和显存的。


专注资料整理