之前很多时候开发训练模型会直接使用显卡,但是对显卡本身的内容却知之甚少,这里趁着闲暇时间做了全面的调研学习记录,全面系统地讲解显卡(GPU)的技术体系,从发展历史到架构原理,从消费级到工业级,帮助AI/ML开发者建立完整的GPU知识体系。

目录
- 第一章:显卡是什么——从零开始理解
- 第二章:显卡发展历史——从图形渲染到AI计算
- 第三章:GPU架构深度解析
- 第四章:NVIDIA显卡系列全景图
- 第五章:消费级显卡详解
- 第六章:专业计算卡详解
- 第七章:显卡关键参数解读
- 第八章:显卡互联技术——NVLink、PCIe、InfiniBand
- 第九章:显卡在AI/ML中的选型指南
- 第十章:显卡使用与管理实践
- 附录:术语表与参考资料
第一章:显卡是什么——从零开始理解
1.1 CPU vs GPU——核心区别
CPU(中央处理器):
- 设计目标:快速执行复杂的串行任务
- 核心数少:4-64个核心
- 每个核心很强大:能处理复杂逻辑
- 适合:操作系统、程序逻辑、分支判断
GPU(图形处理器):
- 设计目标:同时执行大量简单的并行任务
- 核心数多:数千到数万个核心
- 每个核心较简单:只能做简单计算
- 适合:矩阵运算、图像处理、深度学习
类比理解:
CPU = 1个天才数学家,能解任何数学题,但一次只能解一道
GPU = 10000个小学生,每人只会做简单加减法,但同时做10000道
如果任务是"做10000道简单加法"→ GPU快10000倍
如果任务是"解1道复杂微积分"→ CPU更快
1.2 为什么深度学习需要GPU?
深度学习的核心计算 = 大规模矩阵乘法
例如:一个7B模型的一次前向传播
- 需要做数千次矩阵乘法
- 每次矩阵乘法涉及数百万次浮点运算
- 这些运算是"简单但大量"的——完美适合GPU!
CPU执行:矩阵乘法逐元素串行计算 → 慢
GPU执行:数千个核心同时计算 → 快100-1000倍
这也是为什么:
- PyTorch/TensorFlow默认使用GPU
- 没有GPU训练大模型几乎不可能
- GPU的性能直接决定了训练速度
1.3 显卡的基本组成
一张显卡的核心组成:
┌─────────────────────────────────────────────┐
│ 显卡 │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ GPU芯片 (Die) │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │SM 0 │ │SM 1 │ │SM 2 │ ... │ │
│ │ │(128 │ │(128 │ │(128 │ │ │
│ │ │核心) │ │核心) │ │核心) │ │ │
│ │ └──────┘ └──────┘ └──────┘ │ │
│ │ ┌──────────────────────────┐ │ │
│ │ │ L2 Cache │ │ │
│ │ └──────────────────────────┘ │ │
│ │ ┌──────────────────────────┐ │ │
│ │ │ 内存控制器 │ │ │
│ │ └──────────────────────────┘ │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 显存 (VRAM) │ │
│ │ GDDR6X / HBM2e / HBM3 │ │
│ │ 8GB / 24GB / 40GB / 80GB │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 供电模块 + 散热系统 │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ PCIe接口 + 显示输出 │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
核心组件说明:
GPU芯片:计算核心,执行所有运算
显存(VRAM):存储模型参数、中间计算结果、数据
内存控制器:管理GPU和显存之间的数据传输
供电模块:GPU功耗很大(300-700W),需要独立供电
散热系统:风冷/液冷散热
PCIe接口:连接主板,与CPU通信
1.4 显存——最常遇到的瓶颈
显存是AI开发者最关心的参数!
显存的作用:
1. 存储模型参数(权重)
2. 存储梯度
3. 存储优化器状态
4. 存储输入数据和中间计算结果(激活值)
显存不够会怎样?
→ CUDA Out of Memory 错误
→ 程序崩溃,无法继续训练
显存需求估算(训练时):
模型参数:参数量 × 每个参数的字节数
- FP32:4字节/参数
- FP16/BF16:2字节/参数
- INT8:1字节/参数
- INT4:0.5字节/参数
梯度:和参数一样大
优化器状态(Adam):参数量的2-4倍
激活值:取决于batch_size和序列长度
示例(7B模型,BF16训练):
参数:7B × 2B = 14GB
梯度:14GB
优化器:56GB
激活值:~20GB
总计:~104GB → 至少需要2张A100-80G
第二章:显卡发展历史——从图形渲染到AI计算
2.1 GPU的起源:图形渲染时代
1990年代:GPU诞生,用于游戏图形渲染
1995年:3dfx Voodoo — 第一块成功的3D加速卡
1999年:NVIDIA GeForce 256 — 第一块被称为"GPU"的芯片
2000年代:GPU快速发展,主要用于游戏和图形设计
这个时期的GPU:
- 只用于图形渲染
- 和AI/计算没有关系
- 通过DirectX/OpenGL编程
2.2 GPGPU革命:从图形到通用计算
2006-2010年:GPU通用计算(GPGPU)的兴起
2006年:NVIDIA推出CUDA编程框架
- 第一次让开发者可以用C语言编程GPU
- GPU不再只能做图形渲染
- 科学计算、密码学开始使用GPU
2007年:NVIDIA Tesla系列推出
- 第一个面向计算的GPU产品线
- 不带显示输出,纯粹用于计算
2010年:深度学习开始使用GPU
- Alex Krizhevsky用2块GTX 580训练AlexNet
- 2012年ImageNet竞赛大胜,深度学习革命开始
2.3 AI时代:GPU成为AI的核心
2012年至今:GPU成为AI训练的标配
2012年:AlexNet + 2×GTX 580 → 深度学习爆发
2014年:NVIDIA推出针对深度学习优化的cuDNN库
2016年:NVIDIA推出P100(Pascal架构),专为AI设计
2017年:NVIDIA推出V100(Volta架构),引入Tensor Core
2020年:NVIDIA推出A100(Ampere架构),AI训练标配
2022年:NVIDIA推出H100(Hopper架构),性能飞跃
2023年:NVIDIA推出H200,更大显存(141GB HBM3e)
2024年:NVIDIA推出B200(Blackwell架构),下一代旗舰
2025年:NVIDIA推出GB300,Blackwell Ultra
NVIDIA在AI计算领域的市场份额:>90%
原因:CUDA生态系统的垄断优势
2.4 竞争格局
2026年GPU市场竞争格局:
NVIDIA(主导地位 >90%市场份额)
├── 优势:CUDA生态系统成熟,软件工具链完善
├── 消费级:RTX 5090/5080/5070
├── 数据中心:H100/H200/B200/GB300
└── 软件:CUDA, cuDNN, TensorRT, NCCL
AMD(挑战者 ~5-8%市场份额)
├── 优势:性价比高,ROCm开源生态逐步完善
├── 消费级:RX 9070 XT / RX 9060 XT
├── 数据中心:MI300X (192GB HBM3)
└── 软件:ROCm, hipBLAS, RCCL
Intel(新兴参与者)
├── 优势:CPU+GPU一体化,价格有竞争力
├── 消费级:Arc B580/B570
├── 数据中心:Gaudi 3
└── 软件:oneAPI, Intel Extension for PyTorch
国产GPU(快速发展中)
├── 华为昇腾(Ascend 910B)
├── 寒武纪(MLU370/MLU590)
├── 海光(DCU)
├── 壁仞(BR100)
└── 摩尔线程(MTT S4000)
第三章:GPU架构深度解析
3.1 NVIDIA GPU的微架构演变
NVIDIA GPU架构代际演变(按时间顺序):
Fermi (2010) → 首个完整GPGPU架构
Kepler (2012) → 能效比提升
Maxwell (2014) → 能效比大幅提升
Pascal (2016) → NVLink, HBM2显存
Volta (2017) → Tensor Core, 混合精度
Turing (2018) → RT Core, 改进Tensor Core
Ampere (2020) → 第三代Tensor Core, TF32, Sparsity
Hopper (2022) → 第四代Tensor Core, FP8, Transformer Engine
Blackwell (2024) → 第五代Tensor Core, FP4, 更大显存
每一代的关键创新:
- Volta: 首次引入Tensor Core(矩阵运算加速核心)
- Ampere: 引入TF32格式,自动混合精度
- Hopper: FP8精度,Transformer Engine
- Blackwell: FP4精度,双芯片封装
3.2 SM(Streaming Multiprocessor)——GPU的核心计算单元
SM = 流式多处理器,是GPU的基本计算单元
一个SM的内部结构(以Ampere A100为例):
┌──────────────────────────────────────────────┐
│ SM (A100) │
│ │
│ ┌───────────────────────────────────────┐ │
│ │ 4个处理块 (Processing Blocks) │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌──┐│ │
│ │ │FP32核心│ │FP32核心│ │FP32核心│ │FP││ │
│ │ │×32 │ │×32 │ │×32 │ │32││ │
│ │ └────────┘ └────────┘ └────────┘ └──┘│ │
│ └───────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────┐ │
│ │ Tensor Core (矩阵运算加速) │ │
│ │ 4个第三代Tensor Core │ │
│ └───────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────┐ │
│ │ INT32核心(整数运算) │ │
│ └───────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────┐ │
│ │ 共享内存 / L1 Cache (192KB) │ │
│ └───────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────┐ │
│ │ 寄存器文件 (65536 × 32-bit) │ │
│ └───────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────┐ │
│ │ Warp Scheduler (线程束调度器) │ │
│ │ 4个调度器,每个管理32个线程 │ │
│ └───────────────────────────────────────┘ │
└──────────────────────────────────────────────┘
A100总共有108个SM,每个SM有128个FP32核心
总FP32核心数 = 108 × 128 = 13,824个
3.3 Tensor Core——AI加速的关键
Tensor Core是NVIDIA专门为矩阵运算设计的硬件单元
传统CUDA Core:
每个时钟周期做1次乘加运算(MAC)
1个FP32核心:1 FLOP/周期
Tensor Core:
每个时钟周期做大量的矩阵乘加运算
1个Tensor Core(A100):128 FP16 FLOP/周期
→ 比CUDA Core快128倍!
Tensor Core的工作方式:
D = A × B + C
其中A、B、C、D是小矩阵(如4×4)
一次操作完成4×4矩阵乘法
= 64次乘法 + 48次加法 = 112次运算/周期
Tensor Core的代际进化:
V100 (Volta, 1代):FP16矩阵运算
A100 (Ampere, 3代):FP16, BF16, TF32, INT8
H100 (Hopper, 4代):+ FP8
B200 (Blackwell, 5代):+ FP4
3.4 显存类型
显存类型及其特点:
GDDR6/GDDR6X:
- 消费级显卡使用
- 带宽:192-1008 GB/s
- 容量:8-24GB
- 成本低
- RTX 4090: 24GB GDDR6X, 1008 GB/s
HBM2/HBM2e:
- 专业计算卡使用
- 带宽:1.6-3.35 TB/s
- 容量:40-141GB
- 成本高
- A100: 80GB HBM2e, 2.0 TB/s
HBM3/HBM3e:
- 最新一代
- 带宽:3.35-8.0 TB/s
- 容量:96-288GB
- H100: 80GB HBM3, 3.35 TB/s
- H200: 141GB HBM3e, 4.8 TB/s
- B200: 192GB HBM3e, 8.0 TB/s
为什么AI需要大显存和高带宽?
大显存:存放更大的模型和更大的batch
高带宽:快速读写模型参数和中间结果
大模型的每一步计算都需要读取大量参数
→ 显存带宽是AI训练的关键瓶颈之一
3.5 FP32/FP16/BF16/TF32/FP8——数值精度
AI训练中使用的数值精度格式:
FP32 (单精度浮点):
- 32位:1位符号 + 8位指数 + 23位尾数
- 范围:±3.4×10^38
- 精度:最高
- 每个参数4字节
- 传统默认精度
FP16 (半精度浮点):
- 16位:1位符号 + 5位指数 + 10位尾数
- 范围:±65,504
- 精度:较低
- 每个参数2字节
- 节省50%显存
- 问题:指数范围小,容易溢出
BF16 (Brain Float 16):
- 16位:1位符号 + 8位指数 + 7位尾数
- 范围:和FP32相同(±3.4×10^38)
- 精度:比FP16低
- 每个参数2字节
- 优势:范围大,不容易溢出
- → AI训练的首选精度!
TF32 (TensorFloat-32):
- 19位:1位符号 + 8位指数 + 10位尾数
- 范围:和FP32相同
- 精度:和FP16类似
- Ampere架构引入
- Tensor Core内部使用
- 代码层面仍是FP32,硬件自动转为TF32
FP8 (E4M3/E5M2):
- 8位
- E4M3:4位指数+3位尾数(推理/前向传播)
- E5M2:5位指数+2位尾数(训练/梯度)
- Hopper架构引入
- 显存只需FP32的1/4
精度选择建议:
训练:BF16(首选)或 FP16
推理:FP8 或 INT8
微调:BF16
需要高精度的计算:FP32
第四章:NVIDIA显卡系列全景图
4.1 NVIDIA产品线概览
NVIDIA的GPU产品线(面向AI/ML):
┌─────────────────────────────────────────────────────┐
│ NVIDIA GPU产品线 │
│ │
│ 消费级 (GeForce) │
│ ├── RTX 5090 (2025) — Blackwell, 32GB GDDR7 │
│ ├── RTX 5080 (2025) — Blackwell, 16GB GDDR7 │
│ ├── RTX 4090 (2022) — Ada Lovelace, 24GB GDDR6X │
│ ├── RTX 4080 (2022) — Ada Lovelace, 16GB GDDR6X │
│ ├── RTX 3090 (2020) — Ampere, 24GB GDDR6X │
│ └── RTX 3080 (2020) — Ampere, 10GB GDDR6X │
│ │
│ 专业工作站 (RTX Professional / Quadro) │
│ ├── RTX 6000 Ada (2023) — 48GB GDDR6X │
│ ├── RTX A6000 (2020) — 48GB GDDR6 │
│ └── RTX A5000 (2021) — 24GB GDDR6 │
│ │
│ 数据中心 (Tesla / 数据中心GPU) │
│ ├── B200 (2024) — Blackwell, 192GB HBM3e │
│ ├── GB300 (2025) — Blackwell Ultra, 288GB HBM3e │
│ ├── H200 (2024) — Hopper, 141GB HBM3e │
│ ├── H100 (2022) — Hopper, 80GB HBM3 │
│ ├── A100 (2020) — Ampere, 40/80GB HBM2e │
│ ├── V100 (2017) — Volta, 16/32GB HBM2 │
│ └── L40S (2023) — Ada Lovelace, 48GB GDDR6X │
│ │
│ 推理专用 │
│ ├── L4 (2023) — Ada Lovelace, 24GB GDDR6 │
│ └── T4 (2018) — Turing, 16GB GDDR6 │
└─────────────────────────────────────────────────────┘
4.2 各系列定位
消费级 (GeForce RTX):
定位:游戏玩家、个人开发者、小型实验
价格:$500-$2,000
特点:性价比高,但显存有限,无NVLink
AI用途:小模型训练/微调、推理、LoRA微调
专业工作站 (RTX Professional):
定位:专业图形设计、视频编辑、中等规模AI
价格:$2,000-$7,000
特点:大显存(48GB)、ECC显存、ISV认证
AI用途:中等模型训练、大规模推理
数据中心 (A100/H100/B200):
定位:大规模AI训练和推理
价格:$10,000-$40,000+
特点:超大显存、NVLink、高可靠性、多卡互联
AI用途:大模型训练、分布式训练、高性能推理
第五章:消费级显卡详解
5.1 RTX 4090——消费级旗舰
RTX 4090 规格:
架构:Ada Lovelace (AD102)
CUDA核心:16,384个
Tensor Core:512个(第4代)
显存:24GB GDDR6X
显存带宽:1,008 GB/s
TDP功耗:450W
供电:16-pin (12VHPWR)
接口:PCIe 4.0 x16
发布日期:2022年10月
首发价格:$1,599
AI能力:
FP32性能:82.6 TFLOPS
FP16/BF16性能:165.2 TFLOPS (Tensor Core)
FP8性能:330.3 TFLOPS (Tensor Core)
实际AI训练能力:
- 7B模型LoRA微调:✓ 可以(QLoRA 4bit)
- 7B模型全量微调:✗ 显存不够
- 13B模型推理:✓ 可以(量化后)
- 3B模型训练:✓ 可以
5.2 RTX 3090——性价比之选
RTX 3090 规格:
架构:Ampere (GA102)
CUDA核心:10,496个
Tensor Core:328个(第3代)
显存:24GB GDDR6X
显存带宽:936 GB/s
TDP功耗:350W
发布日期:2020年9月
二手价格:$500-$800(2026年)
AI能力:
FP32性能:35.6 TFLOPS
FP16性能:71 TFLOPS (Tensor Core)
实际AI训练能力:
- 7B模型QLoRA:✓ 可以
- 3B模型LoRA:✓ 可以
- 推理:✓ 各种小模型
- 性价比极高,是个人开发者的首选
5.3 RTX 5090——最新一代
RTX 5090 规格(2025年发布):
架构:Blackwell (GB202)
CUDA核心:21,760个
Tensor Core:680个(第5代)
显存:32GB GDDR7
显存带宽:1,792 GB/s
TDP功耗:575W
发布日期:2025年1月
首发价格:$1,999
AI能力:
FP16性能:约209 TFLOPS (Tensor Core)
FP8性能:约418 TFLOPS
FP4性能:约836 TFLOPS(新特性)
对比RTX 4090的提升:
- 显存:24GB → 32GB(+33%)
- 带宽:1008 → 1792 GB/s(+78%)
- FP16性能:约+25%
- FP8性能:约+25%
5.4 消费级显卡对比表
┌────────┬────────┬────────┬────────┬────────┬────────┐
│ │RTX3090 │RTX4090 │RTX5090 │RTX5080 │RTX4080 │
├────────┼────────┼────────┼────────┼────────┼────────┤
│架构 │Ampere │Ada │Blackwl │Blackwl │Ada │
│显存 │24GB │24GB │32GB │16GB │16GB │
│显存类型 │GDDR6X │GDDR6X │GDDR7 │GDDR7 │GDDR6X │
│带宽GB/s │936 │1008 │1792 │960 │717 │
│FP16 TF │71 │165 │209 │113 │97 │
│功耗W │350 │450 │575 │360 │320 │
│首发价格 │$1499 │$1599 │$1999 │$999 │$1199 │
│2026二手 │~$500 │~$1000 │$1999 │$999 │~$800 │
│AI微调 │QLoRA │QLoRA │LoRA │QLoRA │QLoRA │
│7B QLoRA │✓ │✓ │✓ │✓ │✓ │
│7B LoRA │勉强 │✓ │✓ │✗ │✗ │
│13B推理 │量化 │✓ │✓ │量化 │量化 │
└────────┴────────┴────────┴────────┴────────┴────────┘
个人开发者推荐:
预算充足 → RTX 5090(32GB,最新架构)
性价比优先 → RTX 4090(24GB,成熟稳定)
预算有限 → RTX 3090 二手(24GB,约$500)
第六章:专业计算卡详解
6.1 A100——AI训练的经典之选
A100 规格:
架构:Ampere (GA100)
CUDA核心:6,912个
Tensor Core:432个(第3代)
显存:40GB 或 80GB HBM2e
显存带宽:1.6 TB/s (40GB) 或 2.0 TB/s (80GB)
TDP功耗:400W
NVLink:600 GB/s(第三代)
接口:PCIe 4.0 或 SXM4
发布日期:2020年5月
价格:$10,000-$15,000
AI能力:
FP32性能:19.5 TFLOPS
FP16/BF16性能:312 TFLOPS (Tensor Core)
TF32性能:156 TFLOPS (Tensor Core)
FP8性能:不支持
INT8性能:624 TOPS (Tensor Core)
为什么A100是AI训练标配?
- 80GB大显存:可以放得下7B模型训练
- 2 TB/s带宽:快速读写参数
- NVLink:多卡高效通信
- 成熟稳定:CUDA生态完善
- 性价比好:二手价约$5,000-$8,000
6.2 H100/H200——当前旗舰
H100 规格:
架构:Hopper (GH100)
CUDA核心:16,896个
Tensor Core:528个(第4代)
显存:80GB HBM3
显存带宽:3.35 TB/s
TDP功耗:700W
NVLink:900 GB/s(第四代)
接口:PCIe 5.0 或 SXM5
发布日期:2022年3月
价格:$25,000-$35,000
H200 规格:
架构:Hopper (GH200,H100升级版)
显存:141GB HBM3e(关键升级!)
显存带宽:4.8 TB/s
其他:和H100相同
发布日期:2024年
价格:$30,000-$40,000
H100 vs A100 对比:
FP16 Tensor:312 → 989 TFLOPS(3.2倍提升)
显存带宽:2.0 → 3.35 TB/s(1.7倍提升)
NVLink带宽:600 → 900 GB/s
FP8支持:无 → 有(新特性)
Transformer Engine:无 → 有(自动精度管理)
6.3 B200——最新一代
B200 规格(2024年发布):
架构:Blackwell (GB200)
设计:双芯片封装(两个GPU Die)
显存:192GB HBM3e
显存带宽:8.0 TB/s
TDP功耗:1000W
NVLink:1800 GB/s
发布日期:2024年
对比H100的提升:
- 显存:80GB → 192GB
- 带宽:3.35 → 8.0 TB/s
- FP8性能:约2倍
- FP4支持:新增(推理用)
6.4 数据中心卡对比表
┌──────────┬─────────┬─────────┬─────────┬─────────┐
│ │ A100 │ H100 │ H200 │ B200 │
├──────────┼─────────┼─────────┼─────────┼─────────┤
│ 架构 │ Ampere │ Hopper │ Hopper │Blackwell│
│ 显存 │ 80GB │ 80GB │ 141GB │ 192GB │
│ 显存类型 │ HBM2e │ HBM3 │ HBM3e │ HBM3e │
│ 带宽TB/s │ 2.0 │ 3.35 │ 4.8 │ 8.0 │
│ FP16 TF │ 312 │ 989 │ 989 │ ~2250 │
│ FP8 │ ✗ │ ✓ │ ✓ │ ✓ │
│ FP4 │ ✗ │ ✗ │ ✗ │ ✓ │
│ NVLink │ 600GB/s │ 900GB/s │ 900GB/s │1800GB/s │
│ 功耗W │ 400 │ 700 │ 700 │ 1000 │
│ 价格 │~$15K │~$30K │~$35K │~$40K+ │
│ 2026二手 │~$8K │~$20K │~$25K │ 新品 │
└──────────┴─────────┴─────────┴─────────┴─────────┘
6.5 L40S/L4——推理专用卡
L40S:
架构:Ada Lovelace
显存:48GB GDDR6X
定位:推理 + 轻量训练
特点:功耗低(350W)、性价比高
适合:大模型推理、中小模型训练
L4:
架构:Ada Lovelace
显存:24GB GDDR6
定位:推理专用
特点:功耗极低(72W)、单槽设计
适合:推理部署、边缘计算
第七章:显卡关键参数解读
7.1 CUDA核心数
CUDA核心 = GPU的基本计算单元
每个核心可以执行一次浮点运算(FLOP)
核心数越多 → 并行计算能力越强
RTX 4090: 16,384 个CUDA核心
A100: 6,912 个CUDA核心
H100: 16,896 个CUDA核心
注意:不同架构的CUDA核心不能直接比较!
新一代架构的每个核心通常更强。
7.2 Tensor Core数
Tensor Core = 矩阵运算加速单元
专门用于深度学习的矩阵乘法
Tensor Core数 × 每周期运算量 = 矩阵运算总性能
A100: 432个Tensor Core, 每个128 FP16 FLOP/周期
总FP16性能 = 432 × 128 × 1.41GHz = 78 TFLOPS
(实际Boost频率更高,所以标称312 TFLOPS)
7.3 显存容量和带宽
显存容量决定能放多大的模型
显存带宽决定计算速度(数据搬运速度)
类比:
显存容量 = 仓库大小(能放多少货物)
显存带宽 = 传送带速度(货物进出的速度)
容量大但带宽小 → 能放下模型但计算慢
带宽大但容量小 → 计算快但放不下大模型
实际影响:
7B模型推理(FP16)需要约14GB显存
每一步需要读取14GB参数 → 带宽决定推理速度
A100(2TB/s): 理论最快 2000/14 ≈ 143 tokens/s(纯带宽限制)
RTX4090(1TB/s): 理论最快 1000/14 ≈ 71 tokens/s
7.4 TDP功耗
TDP = Thermal Design Power = 热设计功耗
消费级:300-575W
数据中心:400-1000W
功耗的影响:
- 电费:1张H100(700W) 运行24小时 = 16.8度电
- 散热:需要强力散热系统
- 电源:需要足够的电源供应
- 机房:需要考虑供电和冷却能力
4张H100的服务器:
- GPU功耗:4 × 700W = 2800W
- CPU+其他:~500W
- 总计:~3300W
- 24小时电费:约80度电 × $0.1 = $8/天
7.5 计算能力(Compute Capability)
计算能力是NVIDIA定义的GPU功能版本号
sm_80: A100 (Ampere)
sm_86: RTX 3090 (Ampere)
sm_89: RTX 4090 (Ada Lovelace)
sm_90: H100 (Hopper)
sm_100: B200 (Blackwell)
为什么重要?
- 某些CUDA功能只在特定计算能力以上可用
- 编译CUDA代码时需要指定目标架构
- 某些库需要最低计算能力
例如:
- FP8需要sm_89+
- Transformer Engine需要sm_90+
- FP4需要sm_100+
第八章:显卡互联技术——NVLink、PCIe、InfiniBand
8.1 PCIe——基础互联
PCIe (Peripheral Component Interconnect Express)
- CPU与GPU之间的连接
- 也可以用于GPU之间(但速度慢)
PCIe各代带宽(x16):
PCIe 3.0: 16 GB/s
PCIe 4.0: 32 GB/s
PCIe 5.0: 64 GB/s
PCIe 6.0: 128 GB/s(即将推出)
消费级显卡只有PCIe,没有NVLink
→ 多卡训练时GPU间通信是瓶颈
8.2 NVLink——GPU间高速互联
NVLink是NVIDIA的GPU间直连技术
NVLink各代:
NVLink 1.0 (Pascal, 2016): 80 GB/s
NVLink 2.0 (Volta, 2017): 300 GB/s
NVLink 3.0 (Ampere, 2020): 600 GB/s
NVLink 4.0 (Hopper, 2022): 900 GB/s
NVLink 5.0 (Blackwell, 2024): 1800 GB/s
NVLink的重要性:
- 多卡训练时,梯度同步需要GPU间通信
- NVLink比PCIe快10-30倍
- 没有NVLink的消费级卡多卡训练效率低
4卡A100 NVLink拓扑(全互联):
每张卡有12条NVLink通道
每对GPU之间600 GB/s双向带宽
消费级显卡(RTX 3090/4090/5090)没有NVLink!
- 只能通过PCIe通信
- 多卡训练效率较低
- 不适合大规模分布式训练
8.3 NVSwitch——多卡全互联
NVSwitch是NVLink的交换芯片
让超过2张GPU可以全速互联
没有NVSwitch:GPU0只能直接连接GPU1和GPU2
有NVSwitch:所有GPU之间都可以全速通信
DGX A100: 6个NVSwitch,8张A100全互联
DGX H100: 4个NVSwitch,8张H100全互联
8.4 InfiniBand——服务器间互联
InfiniBand用于多台服务器之间的高速网络
HDR InfiniBand: 200 Gb/s (25 GB/s)
NDR InfiniBand: 400 Gb/s (50 GB/s)
XDR InfiniBand: 800 Gb/s (100 GB/s)
为什么需要InfiniBand?
- 大模型训练需要多台服务器(几十到几千张GPU)
- 服务器间通信需要极高速的网络
- 普通以太网(1-10 Gb/s)远远不够
DGX SuperPOD (1000+张GPU):
每台DGX内部用NVLink
DGX之间用InfiniBand连接
→ 整个集群像一台超级计算机
第九章:消费级vs数据中心级——架构同名但本质不同
9.1 同一型号是否参数一致?
答案:是的。同一型号的显卡(如RTX 5090),架构和参数配置完全一样。
所有RTX 5090都有:
- 相同的CUDA核心数(21,760)
- 相同的32GB GDDR7显存
- 相同的1,792 GB/s带宽
- 相同的Blackwell架构(GB202芯片)
不存在"同一型号不同架构"的情况。
9.2 "消费级架构算力不强"是什么意思?
这里说的"架构"不是指具体型号,而是指产品线定位。
同一个"Blackwell"架构名下,有完全不同的产品线:
┌─────────────────────────────────────────────────────────────┐
│ 消费级 Blackwell vs 数据中心 Blackwell │
│ (架构同名,但芯片设计完全不同!) │
│ │
│ ════ 消费级:RTX 5090 ════ │
│ 芯片:GB202(消费级芯片) │
│ 显存:32GB GDDR7(游戏显存) │
│ 显存带宽:1,792 GB/s │
│ NVLink:无(GPU间无法高速直连) │
│ FP16 Tensor:~209 TFLOPS │
│ 功耗:575W │
│ 价格:~$2,000 │
│ 设计目标:游戏、个人AI开发 │
│ │
│ ════ 数据中心:B200 ════ │
│ 芯片:GB200(数据中心芯片,双芯片封装) │
│ 显存:192GB HBM3e(专业显存) │
│ 显存带宽:8,000 GB/s(4.5倍于RTX 5090) │
│ NVLink 5.0:1,800 GB/s(高速互联) │
│ FP8性能:远超RTX 5090 │
│ 功耗:1,000W │
│ 价格:~$40,000+ │
│ 设计目标:大规模AI训练 │
│ │
│ 关键差异: │
│ • 显存类型:GDDR7 vs HBM3e(带宽差4.5倍) │
│ • 显存容量:32GB vs 192GB(差6倍) │
│ • NVLink:无 vs 1800GB/s(消费级完全无法多卡高速互联) │
│ • 价格:$2K vs $40K(差20倍) │
└─────────────────────────────────────────────────────────────┘
所以"消费级架构算力不强"的意思是:
RTX 5090虽然是2025年最新的消费级显卡,
但和数据中心卡(H100/B200)相比,
在显存带宽、多卡互联、显存容量等方面差距巨大,
在大规模AI训练场景下确实"算力不强"。
9.3 消费级 vs 数据中心级的核心差异
┌──────────────────────┬──────────────────┬──────────────────┐
│ 差异维度 │ 消费级 (RTX) │ 数据中心 (A/H/B) │
├──────────────────────┼──────────────────┼──────────────────┤
│ 显存类型 │ GDDR6X/GDDR7 │ HBM2e/HBM3/HBM3e│
│ 显存带宽 │ 936-1792 GB/s │ 2000-8000 GB/s │
│ 显存容量 │ 10-32GB │ 40-288GB │
│ NVLink │ ✗ 无 │ ✓ 有 │
│ 多卡互联效率 │ 低(PCIe瓶颈) │ 高(NVLink直连) │
│ ECC显存 │ ✗ 无 │ ✓ 有 │
│ 设计目标 │ 游戏/个人开发 │ 大规模AI训练 │
│ 可靠性要求 │ 消费级 │ 7×24小时运行 │
│ 价格 │ $500-$2000 │ $10K-$40K+ │
└──────────────────────┴──────────────────┴──────────────────┘
第十章:NVLink详解——GPU间高速互联
10.1 NVLink是什么
NVLink是NVIDIA的GPU间直连技术,让GPU之间可以高速交换数据。
为什么需要NVLink?
多卡训练时,每张GPU计算完梯度后需要和其他GPU"汇总平均"
这个过程叫AllReduce,需要大量GPU间通信
PCIe的带宽(32-64 GB/s)远远不够
NVLink提供10-50倍于PCIe的带宽
10.2 哪些显卡有NVLink?
有NVLink的显卡(数据中心/专业级):
┌──────────┬──────────────┬──────────┬──────────┐
│ 显卡 │ NVLink版本 │ 带宽 │ 价格 │
├──────────┼──────────────┼──────────┼──────────┤
│ V100 │ NVLink 2.0 │ 300 GB/s │ ~$10K │
│ A100 │ NVLink 3.0 │ 600 GB/s │ ~$15K │
│ A6000 │ NVLink 2.0 │ 112 GB/s │ ~$5K │
│ H100 │ NVLink 4.0 │ 900 GB/s │ ~$30K │
│ H200 │ NVLink 4.0 │ 900 GB/s │ ~$35K │
│ B200 │ NVLink 5.0 │1800 GB/s │ ~$40K+ │
└──────────┴──────────────┴──────────┴──────────┘
没有NVLink的显卡(所有消费级RTX):
┌──────────────┬──────────────────┬──────────┬──────────┐
│ 显卡 │ 互联方式 │ 带宽 │ 价格 │
├──────────────┼──────────────────┼──────────┼──────────┤
│ RTX 3090 │ 无NVLink,PCIe │ 32 GB/s │ ~$500 │
│ RTX 4090 │ 无NVLink,PCIe │ 32 GB/s │ ~$1,500 │
│ RTX 5090 │ 无NVLink,PCIe │ 64 GB/s │ ~$2,000 │
│ 所有RTX 30/ │ 无NVLink │ PCIe带宽 │ $500-2K │
│ 40/50系列 │ │ │ │
└──────────────┴──────────────────┴──────────┴──────────┘
10.3 为什么消费级不给NVLink?
原因1:商业策略
NVIDIA故意用NVLink区分产品线
消费级定位游戏和轻度AI,不需要多卡高速互联
数据中心级定位大规模训练,NVLink是刚需
如果RTX 5090有NVLink,就没人买$30K的H100了
原因2:物理限制
消费级显卡的PCB面积有限
NVLink需要额外的物理接口和电路
会增加成本和功耗
原因3:目标用户
游戏玩家只需要单卡,不需要NVLink
个人AI开发者通常只用1-2张卡
多卡高速互联是数据中心的刚需
10.4 NVLink对多卡训练的实际影响
4卡训练时的梯度同步通信对比:
有NVLink(A100/H100):
GPU0 ←600GB/s→ GPU1
GPU2 ←600GB/s→ GPU3
梯度同步极快,几乎无瓶颈
多卡效率:85-95%
无NVLink(RTX 4090):
GPU0 ←32GB/s→ GPU1 ← 慢18倍!
GPU2 ←32GB/s→ GPU3
梯度同步成为瓶颈
多卡效率:60-70%
实际影响:
2张RTX 4090做DDP训练 → 有效加速约1.2-1.4倍(而非理想的2倍)
2张A100做DDP训练 → 有效加速约1.7-1.9倍(接近理想的2倍)
结论:
消费级卡多卡训练效率低,主要就是因为没有NVLink
这也是为什么大规模训练必须用数据中心卡
第十一章:显卡在AI/ML中的选型指南
9.1 按使用场景选型
场景1:个人学习和实验
推荐:RTX 3090 (二手) 或 RTX 4090
理由:24GB显存,可以跑大部分小模型
可以做:LoRA微调、小模型训练、推理
场景2:中小公司AI开发
推荐:4×A100-80G 或 4×RTX 4090
理由:可以训练7B-13B模型
配合DeepSpeed使用
场景3:大模型训练
推荐:8×H100 或 8×H200 (DGX)
理由:80GB大显存 + NVLink + 高带宽
配合Megatron-LM + DeepSpeed
场景4:大模型推理部署
推荐:L40S 或 L4 或 H100
理由:推理不需要训练那么多显存
L4(24GB)足够跑7B模型推理
场景5:超大模型训练(>100B)
推荐:DGX H100集群 或 GB300 NVL72
理由:需要多机多卡 + 超大显存
9.2 性价比分析
性价比指标:每美元获得的TFLOPS
RTX 3090 (二手$500):71 TFLOPS / $500 = 0.142 TFLOPS/$
RTX 4090 ($1500):165 TFLOPS / $1500 = 0.110 TFLOPS/$
A100-80G ($10K):312 TFLOPS / $10K = 0.031 TFLOPS/$
H100 ($30K):989 TFLOPS / $30K = 0.033 TFLOPS/$
消费级的性价比远高于数据中心卡!
但数据中心卡有NVLink、大显存、高可靠性
选择建议:
- 能用消费级解决的问题,不要用数据中心卡
- 需要大显存或多卡互联时,才考虑数据中心卡
9.3 按模型大小选卡
模型大小 推荐显卡 推荐方案
───────────────────────────────────────────────────
< 1B参数 RTX 3060 12GB 单卡直接训练
1-3B参数 RTX 3090/4090 24GB 单卡BF16训练
3-7B参数 2×RTX 4090 24GB DDP + ZeRO-2
或 1×A100 80GB LoRA/QLoRA
7-13B参数 2-4×A100 80GB DeepSpeed ZeRO-2/3
13-70B参数 4-8×A100/H100 DeepSpeed ZeRO-3
70-180B参数 8×H100/H200 ZeRO-3 + 张量并行
> 180B参数 多节点DGX集群 3D并行
第十二章:显卡使用与管理实践
10.1 常用管理命令
# 查看GPU状态
nvidia-smi
# 查看详细信息
nvidia-smi -q
# 实时监控(每2秒刷新)
nvidia-smi -l 2
# 查看GPU拓扑(NVLink连接关系)
nvidia-smi topo -m
# 查看GPU进程
nvidia-smi --query-compute-apps=pid,name,used_memory --format=csv
# 指定使用特定GPU
export CUDA_VISIBLE_DEVICES=0,1 # 只使用GPU 0和1
# 运行时指定GPU
CUDA_VISIBLE_DEVICES=2 python train.py # 只使用GPU 2
10.2 GPU温度和功耗管理
# 查看温度
nvidia-smi --query-gpu=temperature.gpu --format=csv
# 设置功耗限制(降功耗降温)
sudo nvidia-smi -pl 300 # 设置为300W
# 查看当前功耗
nvidia-smi --query-gpu=power.draw --format=csv
# GPU健康检查
nvidia-smi -q -d HEALTH
# ECC错误检查(数据中心卡)
nvidia-smi -q -d ECC
10.3 多GPU环境管理
# 查看哪些GPU空闲
nvidia-smi --query-gpu=index,memory.used,memory.total,utilization.gpu \
--format=csv,noheader,nounits
# 脚本:找到空闲GPU并使用
#!/bin/bash
FREE_GPU=$(nvidia-smi --query-gpu=index,memory.used --format=csv,noheader,nounits | \
awk -F',' '$2 < 1000 {print $1}' | head -1)
echo "使用GPU: $FREE_GPU"
CUDA_VISIBLE_DEVICES=$FREE_GPU python train.py
10.4 常见问题
问题1:GPU利用率低(<50%)
可能原因:
- 数据加载太慢(CPU瓶颈)→ 增加num_workers
- batch_size太小 → 增大batch_size
- 模型太小 → 不足以充分利用GPU
- IO瓶颈 → 使用SSD存储数据
问题2:GPU显存泄漏
可能原因:
- 训练循环中有张量未释放
- loss.item()之前没有detach
解决:
- torch.cuda.empty_cache()
- 使用 with torch.no_grad() 包裹不需要梯度的计算
- 定期检查 torch.cuda.memory_allocated()
问题3:GPU之间不均衡
可能原因:
- 某些GPU分配了更多工作
- 数据不均衡
解决:
- 确保使用DistributedSampler
- 检查是否有if rank==0的不对称代码
附录:术语表与参考资料
术语表
GPU: Graphics Processing Unit,图形处理器
CUDA: Compute Unified Device Architecture,NVIDIA的GPU编程框架
SM: Streaming Multiprocessor,流式多处理器
Tensor Core: 矩阵运算加速硬件单元
VRAM/显存: Video RAM,GPU专用内存
HBM: High Bandwidth Memory,高带宽显存
NVLink: NVIDIA GPU间高速互联技术
PCIe: Peripheral Component Interconnect Express,总线接口
NCCL: NVIDIA Collective Communications Library,多卡通信库
TFLOPS: Tera FLoating-point Operations Per Second,万亿次浮点运算/秒
TDP: Thermal Design Power,热设计功耗
ECC: Error-Correcting Code,纠错码
FP16/BF16/FP8: 不同精度的浮点数格式
CUDA Core: GPU的基本计算核心
Warp: 32个线程的执行单位
参考资料
1. NVIDIA官方GPU架构白皮书(每代架构发布时发布)
2. CUDA Programming Guide: https://docs.nvidia.com/cuda/
3. NVIDIA GPU产品页面: https://www.nvidia.com/en-us/data-center/
4. Tensor Core技术文档: https://developer.nvidia.com/blog/
5. NVLink技术白皮书
1479

被折叠的 条评论
为什么被折叠?



