大模型推理使用GPU而不是CPU,主要是因为GPU在处理大规模并行计算任务方面具有显著优势,而现代大模型(如Transformer架构的LLM)的推理过程本质上是高度并行的矩阵运算。以下是具体原因:
1. 并行计算能力:GPU远超CPU
- CPU:核心数量少(通常4~64核),设计用于通用、串行、低延迟任务,适合处理复杂逻辑和分支操作。
- GPU:拥有数千个核心(如NVIDIA A100有6912个CUDA核心),专为大规模并行计算设计,能同时处理成千上万的线程。
大模型推理中涉及大量矩阵乘法(如注意力机制中的QKV计算、前馈网络等),这些操作可以被分解为大量并行的小计算任务,GPU能高效执行。
2. 高吞吐量与内存带宽
- GPU拥有更高的内存带宽(如HBM显存),能快速加载模型参数和中间结果。
- 例如:NVIDIA A100 显存带宽可达 2TB/s,而高端CPU内存带宽通常在100GB/s左右。
- 大模型参数动辄几十亿到上千亿,需要频繁访问权重数据,高带宽能减少“等待数据”的时间。
3. 专用硬件提速支持
现代GPU(尤其是NVIDIA的Tensor Core)支持:
- 混合精度计算(FP16/BF16/INT8),大幅提升速度并降低显存占用。
- 张量核心(Tensor Cores):专门优化矩阵乘加运算(如GEMM),可实现比传统CUDA核心快数倍的性能。
推理时可通过量化技术(如INT8、FP8)进一步提速,而这些优化在GPU上有成熟支持,CPU支持较弱。
4. 批处理(Batching)效率更高
- 推理服务常需同时处理多个请求(batch inference)。
- GPU适合处理批量输入,能并行计算多个样本的输出,提升吞吐量。
- CPU在小批量或单请求下尚可,但批量增大后扩展性差。
5. 软件生态成熟
- 深度学习框架(PyTorch、TensorFlow)对GPU支持完善。
- 推理引擎(如TensorRT、ONNX Runtime、vLLM)针对GPU做了深度优化,能自动融合算子、调度内存、利用Tensor Core等。
6. 能效比更优
- 虽然GPU功耗高,但在单位能耗下完成的计算量(FLOPS/Watt)通常优于CPU,尤其在密集矩阵运算场景。
什么时候可以用CPU?
虽然GPU是主流,但在以下场景CPU仍有用武之地:
- 小模型部署(如BERT-base、TinyML)
- 低并发、低延迟要求的边缘设备
- 内存足够大且无法配备GPU的服务器
- 成本敏感、无需高吞吐的场景
但对大模型(如LLaMA、ChatGLM、GPT类),CPU推理往往太慢,难以满足实际需求。
总结
| 维度 | CPU | GPU |
|---|---|---|
| 核心数量 | 少(<100) | 多(数千) |
| 并行能力 | 弱 | 极强 |
| 内存带宽 | 较低 | 高(尤其HBM) |
| 矩阵运算效率 | 低 | 高(Tensor Core加持) |
| 推理吞吐量 | 低 | 高 |
| 适用模型规模 | 小模型 | 中大型模型 |
✅ 因此,大模型推理选择GPU,是为了充分发挥其并行计算、高带宽、专用提速和高吞吐的优势,从而实现快速、高效的响应。
如果你感兴趣,我还可以介绍如何通过量化、蒸馏等方式让大模型在CPU上运行得更快。
云计算导航