01 GPU 硬件基础与核心概念(零基础起点)
01 GPU 硬件基础与核心概念(零基础起点)
你声明对硬件和 AI 都几乎零基础。这一章从最底层讲起,分两部分:先补一节 AI/ML 基础概念(什么是模型、训练、推理、神经网络——不懂这些,GPU 知识就悬在半空),再讲 GPU 到底是什么、为什么 AI 离不开它、内部有哪些关键构件、在一次训练和推理中它具体在干什么。这是后面所有内容的根。
💡 给你的话:这一章会出现很多新名词。本套资料的规矩是——每个技术名词第一次出现都解释,并用 💡 标注类比。看不懂某个词别跳过,回《术语表》查或重读对应段落。慢就是快。
1.0 AI / ML 基础概念速成(必读,为你而补)
在讲 GPU 之前,必须先搞懂 AI 计算到底在算什么。否则你学完 GPU 也只是「知道硬件」,却不知道它为什么被这么设计。
1.0.1 什么是「模型」和「神经网络」
人工智能(AI, Artificial Intelligence) 是个大概念,让机器表现出智能。当下主流路径是机器学习(ML, Machine Learning)——不靠人手写规则,而是让机器从数据中「学」出规律。
神经网络(Neural Network, NN) 是机器学习里最成功的一类模型,灵感来自大脑神经元:把大量简单的「计算单元」层层连接,输入数据从一层层「过滤」后输出结果。
💡 类比:把神经网络想象成一个有千万个旋钮的「调音台」。输入是一段声音,每经过一层就调一下音色,最后输出「这是猫叫还是狗叫」。训练就是反复听、反复拧旋钮,直到判断准确。
大语言模型(LLM, Large Language Model) 如 ChatGPT、DeepSeek、Qwen,本质是一个超大的神经网络,参数(旋钮)达到几十亿到几千亿。你听到的「7B」「70B」就是参数量——B = Billion = 10 亿,7B = 70 亿参数。
1.0.2 什么是「训练」和「推理」
这是 AI Infra 最核心的一对概念,贯穿全书:
| 训练(Training) | 推理(Inference) | |
|---|---|---|
| 做什么 | 从数据里「学」出模型参数(拧旋钮) | 用学好的模型对新输入做预测(用调好的调音台) |
| 计算量 | 极大,反复迭代成千上万次 | 小,一次前向就出结果 |
| 显存占用 | 极大(参数+梯度+优化器+激活) | 小(只要参数+少量缓存) |
| 关注点 | 吞吐(多快训完) | 延迟(多快出响应)+ 吞吐(一秒几请求)+ 成本 |
| GPU 用法 | 成组卡长时间高负载跑满 | 单卡或多卡服务化、可弹性伸缩 |
⭐ 重点:你以后做平台,训练和推理是两套完全不同的工作负载,调度、资源、优化策略都不同。记住这个对比表,它会影响你后面所有的决策。
1.0.3 训练在算什么:前向、损失、反向、更新
一次训练由反复的「step(步骤)」组成,每个 step 干四件事:
- 前向传播(Forward Propagation):输入数据→一层层算→得到预测输出。本质是海量的矩阵乘法和加法。
- 算损失(Loss):比较预测输出和正确答案差多远,得到一个「Loss 值」(误差)。
- 反向传播(Backpropagation):从 Loss 往回算,求出每个参数该往哪个方向调、调多少——这叫梯度(Gradient)。
- 更新参数(Optimizer Step):用优化器(Optimizer,如 AdamW) 按梯度调整参数(拧旋钮)。
💡 关键认知:神经网络的计算本质就是大规模矩阵乘法(Matrix Multiplication,简称 MatMul)。一句话记住:AI 计算 = 海量矩阵乘加。这正是 GPU 擅长的——下一节解释为什么。
1.0.4 几个你会反复遇到的基础词
- 参数(Parameter / Weight):神经网络里要学的数值(旋钮的刻度)。模型大小通常用参数量描述。
- 张量(Tensor):多维数组(标量是 0 维、向量 1 维、矩阵 2 维、张量多维)。GPU 计算的基本数据单元。PyTorch 就叫「Tensor」。
- batch(批 / 批量):一次喂给模型的一组样本。batch 大→吞吐高但更吃显存。
- epoch(轮):把训练数据完整过一遍叫一个 epoch。
- checkpoint(检查点):训练中途把模型状态存盘,崩了能从这恢复,不用从头训。
- token(词元):大模型处理文本的最小单位(一个词或几个字)。你看到的「上下文长度」就是能处理多少 token。
这些词后面不再重复解释,请先记住。下面正式进入 GPU。
1.1 一句话理解 GPU
GPU(Graphics Processing Unit,图形处理器)原本是为图形渲染设计的并行处理器,在 AI 时代变成了「大规模并行计算器」。
- CPU(Central Processing Unit,中央处理器):少量(几核~几十核)但极强的核心,擅长复杂逻辑、分支判断、串行任务。就像几个天才数学家,每人能解极难的题,但人少。
- GPU:成千上万个「小核心」,单个弱、但并行起来算力恐怖,擅长对大量数据做同一种简单运算(这正是矩阵乘法/神经网络的本质)。就像一万个只会做加减乘的小学生,同时开工,总吞吐秒杀几个数学家。
💡 为什么 AI 用 GPU:神经网络本质是海量矩阵乘法和加法。GPU 几千个核心同时算,比 CPU 快几十到上百倍——这就是「AI 用 GPU」的根本原因。不是 GPU 聪明,而是它「人多力量大」且「干的是同一种活」。
1.2 CPU vs GPU 架构差异
| 维度 | CPU | GPU |
|---|---|---|
| 核心数 | 少(8–64 核常见) | 极多(几千~上万 CUDA Core,见 1.3) |
| 单核能力 | 强,有大缓存、分支预测 | 弱,逻辑简单 |
| 擅长 | 串行、复杂控制流、操作系统 | 并行、规则计算(矩阵/向量) |
| 内存 | 系统内存(DRAM,动态随机存取内存),带宽较低 | 专用高带宽显存(HBM,见 1.3),独立 |
| 典型任务 | Web 服务、数据库、调度 | 训练/推理、图形、科学计算 |
名词解释:
- 分支预测(Branch Prediction):CPU 猜「if 判断会走哪条路」来提前执行,猜错就回滚。这是 CPU 应对复杂逻辑的看家本领,GPU 不怎么做这个(因为 GPU 假设大家走同一条路)。
- DRAM(动态随机存取内存):就是你电脑里插的内存条,便宜但相对慢。
- HBM(High Bandwidth Memory,高带宽内存):GPU 专用的「叠层」显存,把多层内存芯片堆叠起来紧贴 GPU,带宽远高于 DRAM。后面会反复出现。
SIMT 概念(理解意思即可,不用背术语):GPU 把线程分组「束」(warp,一个 warp 通常是 32 个线程),一组线程同步执行同一条指令、但各自处理不同数据——这叫单指令多线程(SIMT, Single Instruction Multiple Threads)。正因为「大家都做同一件事」,并行效率极高。
⭐ 重点:AI 计算 = 大规模规则并行计算 → 天然适合 GPU。你作为 AI Infra 工程师,核心工作是「让成千上万张 GPU 高效、隔离、按需地跑 AI 任务」,而不是设计 GPU 芯片本身。
1.3 GPU 内部关键构件(必懂)
| 构件 | 是什么 | 为什么重要 |
|---|---|---|
| CUDA Core | GPU 的通用计算核心,做浮点/整数运算 | 基础算力单元(对标 CPU 核心,但海量)。CUDA 是 NVIDIA 的并行计算平台 |
| Tensor Core | 专为矩阵乘加(MMA, Matrix Multiply-Accumulate) 设计的核心 | AI 的灵魂:一条指令完成一个小矩阵乘加,支持 TF32/FP16/BF16/FP8 等精度(精度见 03) |
| 显存(VRAM / HBM) | GPU 专属高速内存 | 容量决定能放下多大的模型;现代 AI 卡用 HBM |
| 显存带宽 | 每秒能在显存与核心间搬多少数据 | 常是真实瓶颈——算力强但数据喂不上来 |
| L2 Cache | GPU 片上缓存(比显存更快但更小) | 减少反复访问显存 |
| NVLink / NVSwitch | GPU 之间的高速互联 | 多卡训练时卡间通信快慢的关键(见 09) |
| 制程 / 功耗(TDP) | 芯片工艺(如 4nm)、整卡功耗 | 影响密度、散热、电费(TCO,见 03) |
名词解释:
- CUDA(Compute Unified Device Architecture):NVIDIA 的并行计算平台和编程模型。可以理解为「NVIDIA GPU 的编程语言/生态入口」。几乎所有 AI 框架都先适配 CUDA——这是 NVIDIA 的护城河(详见
02)。- 矩阵乘加(MMA):计算
C = A×B + C,这是神经网络一层的核心运算,Tensor Core 一条指令搞定。- TDP(Thermal Design Power,热设计功耗):芯片散热要应对的最大功耗,单位瓦特(W)。TDP 越高,单卡越费电、越要散热,影响机柜密度。
- NVLink:NVIDIA 卡间高速直连(数百 GB/s),比走 PCIe 快很多倍。NVSwitch 是把节点内多张卡全互联的交换芯片。
⭐ 重点(面试常考):显存容量决定「能不能放下模型」,显存带宽决定「放下了跑得快不快」,Tensor Core / 算力决定「算得快不快」,互联带宽决定「多卡扩展好不好」。这四者共同决定一张卡的定位。记住这「四要素」,看任何卡都能分析。
1.4 训练 vs 推理中 GPU 在干什么(呼应 1.0)
训练(Training)
- 输入数据 → 前向传播(一层层算输出)→ 算 Loss → 反向传播(从输出往回算每层梯度)→ 更新参数(梯度下降)。
- 全是矩阵运算,且要反复迭代成千上万次。
- 显存里同时住着:模型参数 + 梯度 + 优化器状态(如 Adam 的动量)+ 激活值。所以训练吃显存极狠。
名词解释:
- 梯度(Gradient):反向传播算出来的「参数该往哪调、调多少」的方向。
- 优化器状态(Optimizer State):优化器(如 AdamW)为每个参数额外存的中间量(动量、方差),用来决定怎么更新。这是训练显存的大头,见 1.5。
- 激活值(Activation):前向传播时每一层的中间输出,反向传播要靠它算梯度。梯度检查点(Gradient Checkpointing) 是一种用时间换显存的技术:不存全部激活,需要时重算。
推理(Inference)
- 只有前向传播:输入 → 模型 → 输出。
- 不存梯度/优化器状态,显存压力小,但对**延迟(响应慢不慢)和吞吐(一秒处理多少请求)**敏感。
- 常见优化:量化(用更低精度 FP8/INT8 省显存提速)、批处理(一次算多个请求)、KV Cache(缓存注意力历史,见
10)。
💡 这就是为什么「训练卡」和「推理卡」不一样(详见
03):训练要大显存+高带宽,推理要性价比+高并发。
1.5 一个训练 step 里发生了什么(链路 + 显存拆解)
① 数据加载(CPU/磁盘)→ ② 数据送入 GPU 显存
→ ③ 前向传播(GPU 算,占激活显存)
→ ④ 算 Loss
→ ⑤ 反向传播(GPU 算梯度,占梯度显存)
→ ⑥ 优化器更新参数(占优化器状态显存)
→ ⑦ 参数回写,进入下一个 step
显存占用拆解(以全参微调一个 7B 模型为例,混合精度 AdamW,已核实):
| 占用项 | 说明 | 7B 模型大小 |
|---|---|---|
| 模型参数(FP16) | 模型本体 | ~14 GB |
| 梯度(FP16) | 反向传播算出 | ~14 GB |
| 优化器状态(Adam FP32 主副本 + 一阶/二阶矩) | 占大头 | ~84 GB |
| 激活值 | 取决于 batch/序列长度(梯度检查点可大幅压缩) | 数 GB~数十 GB |
| 合计(未计激活) | ≈ 112 GB |
这就是著名的「16 字节/参数」经验值(7B × 16 ≈ 112 GB)的来源。
⭐ 纠错(重要):原资料写「50–70 GB」是偏低/错误的。7B 全参微调单张 A100 80G 根本放不下,必须靠 ZeRO-3 / FSDP 多卡分片(见
09),或改用 LoRA / QLoRA(只训一个小「适配器」,显存降到 ~14–20 GB 量级,单卡可跑)。名词解释:
- 全参微调(Full Fine-Tuning):训练模型全部参数。
- LoRA(Low-Rank Adaptation):冻结原模型,只训练一个很小的「低秩适配器」,显存大幅下降。QLoRA 是 LoRA + 4-bit 量化基座,更省显存。
- 混合精度(Mixed Precision):训练时用 FP16/BF16 算 + FP32 存主副本,兼顾速度和稳定性。
⭐ 重点:你作为 AI Infra 工程师,要能回答「这张卡为什么跑不下这个模型」——答案基本在上面的显存拆解里。做容量规划务必用「参数 × 16 字节」估算全参微调,别被乐观数字骗去 OOM(Out of Memory,显存溢出)。
1.6 为什么「带宽/显存」常比「算力」更是瓶颈
现代 GPU 算力增长远快于显存带宽增长。结果是:
- 很多时候核心在「等数据」,而不是在「算」。
- 例子:矩阵乘理论算力 1000 TFLOPS(每秒万亿次浮点运算),但数据搬不过来,实际只跑到 300 TFLOPS。
- 因此 AI Infra 的大量优化(算子融合、FlashAttention、vLLM 的 PagedAttention)本质都是在减少数据搬运、提高显存利用率。
名词解释:
- TFLOPS(Tera FLOPS):每秒万亿次浮点运算,算力单位。1 TFLOPS = 每秒 10¹² 次浮点运算。
- 算子(Operator / Op):神经网络里的一个计算操作,如矩阵乘、激活、归一化。算子融合(Operator Fusion):把多个小算子合成一个,减少显存读写往返。
- FlashAttention:对注意力(Attention) 计算做 IO 感知重写,显存随序列长度线性而非平方增长,且更快(详见
11)。注意力(Attention) 是 Transformer 架构的核心机制,让模型「关注」输入里重要的部分。
记住一句话:算力的瓶颈往往在「搬运」,不在「计算」。这会影响你后面学调度、学推理优化的所有决策。
1.7 厂商与品类速览(引出 02)
| 类别 | 代表 | 说明 |
|---|---|---|
| 国际训练卡 | NVIDIA H100/H200/B200、AMD MI300X | AI 集群主力 |
| 国际推理/性价比卡 | NVIDIA L4/L40S/T4 | 推理、小模型友好 |
| 消费卡 | RTX 4090/5090 | 个人学习/小模型可,但不支持 MIG、有驱动限制、不适合生产集群 |
| 国产训练卡 | 华为昇腾 910B/910C、寒武纪 MLU590 | 信创/国产替代主力 |
| 国产推理卡 | 昇腾 310/710、昆仑芯 | 推理场景 |
| 中国特供版 | NVIDIA H20/L20/L2(2025 年底 H200 也放行) | 因出口管制降规版 |
⚠️ 2026 内幕(详见
02):受美国出口管制,NVIDIA 在中国份额从约 95% 暴跌后又随 H20/H200 放行回升到约 55%,国产芯片已拿下约 41%。你在中国做 AI Infra,必然面对「N 卡 + 国产卡 + 特供版」混合集群。
下一份
02会把每一家、每一款产品的细节、架构、市场地位、2026 内幕讲透。
1.7 实战:GPU 显存计算器
1.7.1 Python 显存计算器
# 保存为 ~/ai-lab/gpu_memory_calc.py 并运行
python3 -c "
def calc(params_b, precision=2):
weight = params_b * precision
train = params_b * 16
return weight, train
for name, p in [('7B',7),('13B',13),('70B',70),('175B',175)]:
w, t = calc(p)
print(f'{name}: 推理FP16={w}GB, 全参微调={t}GB')
"
1.7.2 查看 GPU 信息(Mac/Linux)
# Mac (Apple Silicon)
system_profiler SPDisplaysDataType | grep -A5 Chipset
# Linux (有 N 卡时)
nvidia-smi
nvidia-smi topo -m
目的:建立参数量->显存的直觉。7B FP16=14GB(推理),全参微调=112GB。
1.8 自测题(阶段一入门)
- 用自己的话解释:训练和推理有什么本质区别?它们对 GPU 资源的需求有何不同?
- 神经网络的计算本质是什么?为什么这决定了 AI 用 GPU 而非 CPU?
- CUDA Core 和 Tensor Core 的区别?AI 为什么离不开 Tensor Core?
- 训练 7B 模型时显存里主要放哪四类东西?为什么全参微调约需 112 GB?
- 显存容量和显存带宽分别决定什么?为什么说「带宽常比算力更是瓶颈」?
- NVLink 解决什么问题?没有它多卡训练会怎样?
- (概念题)什么是 LoRA?它和全参微调在显存上的区别?
能口头答上这些题,说明硬件基础已建立,可进入
02。