物理层(硬件):AI 的芯片与算力底座

一句话定义: OSI /ˌoʊ ɛs ˈaɪ/ ( Open Systems Interconnection /ˈoʊpən ˈsɪstəmz ɪntərkəˈnekʃn/ ,开放系统互连)七层里的 L1 物理层,在 AI 栈中对应 承载模型权重、真正执行张量运算的那一层硅与电 —— 芯片、显存、卡间互联、服务器与机房集群。它不关心"模型答得好不好",只关心"能不能、多快、多省地把矩阵乘完"。

在上一篇 01-AI技术体系与OSI七层映射 中,L1 被概括为"模型与算力层",重点落在权重文件与推理框架;但"算力"二字的物理实体——也就是硬件——几乎没展开。本文专门补这一块:把 L1 真正落到 芯片与机器 上。

为什么硬件值得单独一个单元

软件视角下,我们说"vLLM 在 GPU 上跑""显存不够就量化"。但这句话背后藏着一连串物理事实:

  • 为什么是 GPU /ˌdʒiː piː ˈjuː/ ( Graphics Processing Unit /ˈɡræfɪks prəˈsesɪŋ ˈjuːnɪt/ ,图形处理器)而不是 CPU /ˌsiː piː ˈjuː/ ( Central Processing Unit /ˈsentrəl prəˈsesɪŋ ˈjuːnɪt/ ,中央处理器)在跑大模型?本质不是"快一点",而是 内存带宽并行结构 的代差。
  • 为什么 70B 模型必须多卡?因为单卡 显存(VRAM) /vɪ ˈræm/ ( Video Random Access Memory /ˈvɪdiəʊ ˈrændəm ˈækses ˈmeməri/ ,显存)装不下权重,物理层直接决定了软件能「装什么」。
  • 为什么多卡有时反而更慢?因为卡间 互联带宽 成了新瓶颈——硬件拓扑决定了并行效率。

类比:OSI 物理层是"比特流跑在光纤还是双绞线"。AI 物理层是"token 的概率分布算在 H100 还是 4090,卡与卡之间是 NVLink 还是 PCIe"。硬件规格不是细节,而是能力上限本身。

硬件栈自底向上四层

L1.4 集群 / 机房   : 多台服务器组网,调度、弹性、能效
L1.3 服务器 / 节点  : 主板 + 多卡 + CPU + 内存 + 电源
L1.2 加速卡         : GPU / TPU / NPU + 片上 HBM 显存 + 卡间互联
L1.1 芯片微架构      : 计算单元、Tensor Core、显存颗粒、制造工艺

软件(推理框架、模型)只在 L1.2 以上"看到"一个设备;但 L1.1 的微架构与 L1.3/1.4 的拓扑,最终决定了延迟、吞吐与成本。

L1.1 芯片微架构:算力从哪来

大模型推理本质是海量 GEMM /ˌdʒiː iː ɛm ˈem/ ( General Matrix Multiply /ˈdʒenrəl ˈmeɪtrɪks mˈʌltaɪ/ ,通用矩阵乘法)与注意力算子。芯片为这件事做了三类专门设计:

  • SIMT /ˌɛs aɪ ɛm ˈtiː/ ( Single Instruction Multiple Threads /ˈsɪŋɡl ɪnˈstrʌkʃn ˈmʌltɪpl ˈθredz/ ,单指令多线程)海量核心:成千上万小核心同时算一个矩阵的不同格子,吞吐优先于单点延迟。
  • Tensor Core /ˈtensə kɔːr/ (张量核心):NVIDIA 等加速卡内专门做混合精度矩阵乘加的单元,是 FP16/BF16/FP8 算力的主力。
  • 高带宽显存(HBM) /ˌeɪtʃ biː ˈem/ ( High Bandwidth Memory /haɪ ˈbændwɪdθ ˈmeməri/ ,高带宽内存):堆叠在芯片封装内的 3D 显存,带宽远高于插在主板上的 GDDR /ˌdʒiː diː diː ˈɑːr/ ( Graphics Double Data Rate /ˈɡræfɪks ˈdʌbl ˈdeɪtə reɪt/ ,图形双倍速率显存)。

关键指标不是"有多少 FLOPS"一个数字,而是三组:

指标 英文 决定什么 直觉
算力峰值 FLOPS /ˈflɒps/ ( Floating Point Operations Per Second /ˈfləʊtɪŋ pɔɪnt ˌɒpəˈreɪʃnz pɜː ˈsekənd/ ,每秒浮点运算数) 理论上限 大炮口径
显存带宽 Bandwidth 数据喂不喂得饱算力 炮弹运输速度(常是瓶颈)
显存容量 VRAM 能装多大模型/多少并发 KV 弹药库大小

算力浪费定律 :大模型推理常见"算力饿死"——FLOPS 很高,但数据从显存搬到核心太慢,Tensor Core 在等数据。所以 带宽往往比峰值算力更关键 ,这也是 HBM 比堆核心更重要的原因。

L1.2 加速卡:AI 工厂的"工人"

类型 代表 定位 互联
GPU NVIDIA A100 / H100 / H200、消费级 4090 / 5090 通用加速卡,生态最成熟(CUDA) NVLink / NVSwitch
TPU /ˌtiː piː ˈjuː/ ( Tensor Processing Unit /ˈtensə prəˈsesɪŋ ˈjuːnɪt/ ,张量处理单元) Google TPU v4/v5 谷歌云内专为张量/注意力设计 ICI 光互联
NPU /ˌɛn piː ˈjuː/ ( Neural Processing Unit /ˈnjʊərəl prəˈsesɪŋ ˈjuːnɪt/ ,神经网络处理器) 华为昇腾、Apple MLX 后端、端侧芯片 嵌入式/国产/能效路线 芯片内或板级
LPU /ˌɛl piː ˈjuː/ ( Language Processing Unit /ˈlæŋɡwɪdʒ prəˈsesɪŋ ˈjuːnɪt/ ,语言处理单元) Groq 等 推理专用、极低延迟 片上 SRAM 为主

判断一张卡"能不能跑某模型",先算权重体积(参数 × 精度字节),再比 VRAM 容量 ;要判断"跑得快不快",看 HBM 带宽Tensor Core 算力 ,最后还要看卡间互联(见下)。

补充(Python,用于直观理解带宽代差):

# 各类存储的带宽量级(GB/s),仅作数量级直觉
bandwidth = {
    "DDR5 内存": 80,
    "GDDR6X(4090)": 1000,
    "HBM2e(A100)": 2000,
    "HBM3(H100)": 3350,
}
# 显存带宽是主存的数十倍——这正是 GPU 能喂饱矩阵运算的根本
fastest = max(bandwidth, key=bandwidth.get)
print(f"最快的是 {fastest}: {bandwidth[fastest]} GB/s")

L1.3 服务器 / 节点:卡怎么插在机器里

单台 AI 服务器常见拓扑:

[CPU]──PCIe──[GPU0]──NVLink──[GPU1]
  │            │              │
  └──内存       └──HBM        └──HBM
  └──网卡(100/200GbE 或 IB)
  • 多卡互联 :同机多卡若走 PCIe /ˌpiː siː ˈaɪ iː/ ( Peripheral Component Interconnect Express /pəˈrɪfərəl kəmˈpəʊnənt ɪnkəˈkɒnekt ɪkˈsprɛs/ ,高速外设总线),带宽有限;NVIDIA 用 NVLink /ˌɛn viː lɪŋk/ ( NVIDIA 高速 GPU 互联)/ NVSwitch 组成全互联胖树,卡间通信可达 PCIe 的数倍到十倍。
  • 张量并行(TP) 对互联最敏感:切在一台机器内(NVLink)远快于跨机(网络)。
  • 流水线并行(PP) /ˌpiː ˈpiː/ ( Pipeline Parallelism /ˈpaɪplaɪn ˈpærəlelɪzəm/ ,流水线并行)容忍较低带宽,适合跨机分摊层数。
  • 其他约束:整机的 TDP /ˌtiː diː ˈpiː/ ( Thermal Design Power /ˈθɜːml dɪˈzaɪn ˈpaʊə/ ,热设计功耗)、电源、散热,直接限制能插几张卡、能跑多久不降频。

L1.4 集群 / 机房:把机器变成"算力池"

当单台服务器放不下或扛不住:

  • 计算集群 :数十到数千张卡通过 IB /ˌaɪ ˈbiː/ ( InfiniBand /ˌɪnfɪniˈbænd/ ,无限带宽网络)或 RoCE 组网,由 调度器 分配任务。
  • 多租户与弹性K8s /ˌkeɪ eɪt ˈes/ ( Kubernetes /ˌkjuːbənˈɛtiːz/ ,容器编排系统) + 设备插件管理 GPU 资源;推理框架(如 vLLM)常被装进容器,按卡申请。
  • 能效(PUE) /ˌpiː juː ˈiː/ ( Power Usage Effectiveness /ˈpaʊə ˈjuːzɪdʒ ɪkˈspɛktɪvnəs/ ,电源使用效率):机房总耗电 / IT 设备耗电,越接近 1 越省电;模型推理的"真成本"是 tokens/瓦 而非单纯 tokens/秒。
  • 国产与异构路线 :昇腾 + 昇思、海光 DCU、寒武纪等,软硬件栈与 CUDA 不同,但物理层职责一致——供算力、供带宽、供容量。

L1.4 补:光模块——多机集群的"网络瓶颈"刚需

前面说集群靠 IB /ˌaɪ ˈbiː/ ( InfiniBand /ˌɪnfɪniˈbænd/ ,无限带宽网络)或 RoCE 组网,但"组网"落到物理层,真正的瓶颈部件是 光模块 /ˈɒptɪkl ˈmɒdʒuːl/ ( Optical Module /ˈɒptɪkl ˈmɒdʒuːl/ ,光电转换模块)。

传统服务器:与交换机少量通信,流量以存储、业务请求为主,压力不极端。AI 分布式训练完全不一样 ——大模型不是单机跑完,要几十到上千台 GPU 服务器凑成集群:

  1. 每张 GPU 要和其他 GPU 交换 梯度 /ˈɡreɪdiənt/ ( gradient /ˈɡreɪdiənt/ ,梯度)与权重;
  2. 是服务器‑服务器之间的 海量高频交互 ,不只是"上联交换机";
  3. 数据量极大,通信跟不上,GPU 就空等数据,算力直接浪费 —— 这叫 通信瓶颈 /kəˈmjuːnɪkeɪʃn ˈbɒtlnek/ ( communication bottleneck /kəˌmjuːnɪˈkeɪʃn ˈbɒtlnek/ ,通信瓶颈)。

光模块在这里的角色:

  • GPU 服务器 → 交换机、交换机 ↔ 交换机,全靠高速光模块做光电转换;
  • 当前主流 800G (800 吉比特每秒),下一代 1.6T 、未来 3.2T ;铜线电口距离短、带宽上不去、发热巨大,集群规模一大完全扛不住。
  • 集群规模越大,光模块的数量与速率要求成倍上涨 :高端 AI 服务器一台就要 4/8 个 800G 光模块;集群扩一倍,光模块需求往往不止翻一倍。

实务视角:训练集群对光模块刚需最强;推理集群需求弱些,但规模上来同样需要。光模块是算力上游的 景气先行硬件 ——AI 资本开支节奏放缓时,它会最先承压。

L1.2 补:主机 DRAM 与 PCIe 瓶颈——单机内部的"存储瓶颈"

GPU 自带 HBM 显存,容量有限;AI 时代服务器还要狂堆 DDR5 /ˌdiː diː ˈɑːr faɪv/ ( Double Data Rate 5 /ˈdʌbl ˈdeɪtə reɪt faɪv/ ,第五代双倍速率内存)主机内存,原因在分布式训练的"状态爆炸":

  • 训练不只存权重,还要存 梯度、优化器状态、激活张量 ,总显存消耗是参数量的十几倍;
  • 千亿参数模型即便多张 H100,HBM 也塞不下全部状态,框架(如 DeepSpeed‑ZeRO /ˈdiːpsiː ˈzɪərəʊ/ )会把优化器状态/部分张量 卸载(Offload) /ˌɒfˈləʊd/ ( offload /ˌɒfˈləʊd/ ,卸载)到 CPU 主机内存,算时再经 PCIe 拷进 GPU;
  • 推理侧 KV Cache 长上下文爆炸时,溢出部分也落到主机 DRAM;多用户并发、数据集预处理、调度、检查点快照、向量检索都吃主机内存。
  • 普通服务器内存几百 GB, AI 服务器单台常配 1‑2TB DDR5 ,是普通服务器的数倍。

PCIe 是硬传输瓶颈 :HBM 内部带宽 2‑5 TB/s,而 PCIe5.0 x16 仅约 64 GB/s,差几十倍。于是工程取舍明确:能放 HBM 就放 HBM(性能王道),塞不下才扔主机 DRAM(付出拷贝代价)。CXL /ˌsiː ɛks ˈel/ ( Compute Express Link /kəmˈpjuːt ɪkˈsprɛs lɪŋk/ ,计算高速互联)正是试图让 GPU 直接访问远端大内存、绕开部分 PCIe 限制的技术。

内存涨价的两层逻辑(需求 + 供给挤压)

  • 需求端:AI 服务器 DRAM 单台用量远高于传统机,直接拉涨总需求;
  • 供给端:HBM 与普通 DDR5 源自同一种 DRAM 晶圆 ,只是封装不同。同等比特 HBM 消耗晶圆是 DDR5 的 3‑4 倍、良率更低。三星/海力士/美光优先切产能做 HBM 供 GPU,留给普通 DDR5 的晶圆被挤压,于是服务器 DDR5 乃至消费级内存一起涨——即"比特蚕食"。

比喻:面包厂优先做利润极高的高端蛋糕,面粉总产能有限,普通面包就减产变贵。

三层瓶颈与存储层级:空间换时间的游戏

把前面三节串起来,AI 分布式训练 三层瓶颈同时存在

GPU 卡内部   : HBM 容量/带宽瓶颈
单机内部     : CPU ↔ GPU 的 PCIe 存储瓶颈(主机 DRAM)
多机之间     : 光模块 + 光纤网络 通信瓶颈

GPU 只是计算单元, 存储与通信全是约束 ;算力能不能跑满,被 HBM、主机内存、光模块三重锁死。

存储层级:越往下越便宜越大,但越慢

层级 英文 带宽量级 容量 角色
显存 HBM 2‑5 TB/s 小、贵 核心计算、高频张量
主机内存 DDR5 DRAM ~数百 GB/s 大(TB 级) Offload 溢出、预处理
扩展内存 CXL 介于 DRAM 与 SSD 间 较大 缓解 PCIe 瓶颈
固态盘 SSD ~数 GB/s 很大、便宜 磁盘 Offload 兜底
机械盘 HDD 更低 超大、最便宜 演示/冷存

每往下一层: 单位成本降、容量做大,但延迟暴涨、IO 压力上来——拿时间换空间

  • 全部放 HBM:全速,GPU 打满;
  • Offload 到 DDR:速度降一部分,可接受;
  • Offload 到 SSD:速度砍到几分之一;
  • Offload 到 HDD:慢到几乎不可用于正式训练,仅能跑通演示。
  • 现成技术:ZeRO‑Offload(CPU 内存)、DeepSpeed Disk‑Offload / vLLM 磁盘 KV 缓存 / llama.cpp 磁盘 offload(SSD)。

训练 ≠ 可以不在乎时间:分场景看时间容忍度

常见误区:"训练又不是模型调用,不用太考虑时间"。准确说法是 训练的时间容忍度比推理高,但不能无限摆烂

  • 推理(模型调用) :活人实时等结果,硬延迟要求几百毫秒级,超时体验崩盘——"人等机器",不能慢。
  • 大规模预训练 :无活人实时等,但时间 = 硬件成本 + 迭代速度 + 容错风险,反而要极力避免 IO 拖慢 GPU:
    1. 硬件按小时计费,GPU 利用率从 70% 掉到 20‑30%,原 30 天训完拖到 90 天,总开销反而更高;
    2. 基座要调数据/架构/超参跑几十轮,一轮从 3 天变 15 天,迭代落后竞品;
    3. 训练越久,宕机/网络故障导致中途崩掉、从 checkpoint 回滚的概率越高,沉没成本越大。
  • 小团队/科研实验 :几块 GPU 调参验证,一次跑 3‑7 天完全接受,显存不够直接 disk‑offload,"能跑通优先"——真正可以牺牲时间换硬件成本。
  • 微调(中间地带) :适度 Offload 到主机内存(DDR)收益划算;直接下磁盘一般只用于调试,非生产方案。

一句话:推理"人等机器"不能慢;大规模训练"钱和迭代在等机器"也不能随便慢;只有小体量研究才真正做到用时间换空间。商业 AI 的核心矛盾,就是 愿意花多少钱买多快的空间,来减少等待时间

一张表:硬件如何直接约束软件

软件想做的事 被哪个硬件事实约束
跑 70B 模型 单卡 VRAM 容量(需多卡 TP 或量化)
TTFT 低 HBM 带宽 + 预填充内核 + 卡内算力
高并发吞吐 显存总量(KV Cache 池)+ 互联(continuous batching 跨卡)
多卡不反比慢 卡间互联带宽(NVLink vs PCIe vs 网络)
私有化成本低 整机 TDP、电价、PUE、卡利用率
端侧/离线 NPU、统一内存(Apple Silicon)、CPU 大内存

与 OSI 映射的衔接

回到 01-AI技术体系与OSI七层映射 的 L1:

  • L1 的"模型与算力层" = 本文硬件(L1.1–L1.4) 之上 + 权重文件 + 推理框架。
  • 推理框架(vLLM 等)本质是硬件的 软件抽象层 :它把"哪张卡、多少 HBM、怎么并行"封装成 base_url 后面的服务。
  • 微调(改变权重这个物理实体)发生在 L1;但权重能否训得动,同样由本层的 FLOPS/VRAM/互联决定。

纵向深入:

注意:本文是 posts/AI/AI知识库/ 下的普通 post(非 README),故跨目录链接使用 .html 写法。若直接在 GitHub 源仓阅读 .md ,请将 .html 改回 .md

本文缩写

缩写 音标 全拼 中文
OSI /ˌoʊ ɛs ˈaɪ/ Open Systems Interconnection 开放系统互连
GPU /ˌdʒiː piː ˈjuː/ Graphics Processing Unit 图形处理器
CPU /ˌsiː piː ˈjuː/ Central Processing Unit 中央处理器
VRAM /vɪ ˈræm/ Video Random Access Memory 显存
TPU /ˌtiː piː ˈjuː/ Tensor Processing Unit 张量处理单元
NPU /ˌɛn piː ˈjuː/ Neural Processing Unit 神经网络处理器
LPU /ˌɛl piː ˈjuː/ Language Processing Unit 语言处理单元
HBM /ˌeɪtʃ biː ˈem/ High Bandwidth Memory 高带宽内存
GDDR /ˌdʒiː diː diː ˈɑːr/ Graphics Double Data Rate 图形双倍速率显存
GEMM /ˌdʒiː iː ɛm ˈem/ General Matrix Multiply 通用矩阵乘法
SIMT /ˌɛs aɪ ɛm ˈtiː/ Single Instruction Multiple Threads 单指令多线程
FLOPS /ˈflɒps/ Floating Point Operations Per Second 每秒浮点运算数
NVLink /ˌɛn viː lɪŋk/ (NVIDIA 高速 GPU 互联) NVIDIA 高速互联
PCIe /ˌpiː siː ˈaɪ iː/ Peripheral Component Interconnect Express 高速外设总线
PP /ˌpiː ˈpiː/ Pipeline Parallelism 流水线并行
TP /ˌtiː ˈpiː/ Tensor Parallelism 张量并行
TDP /ˌtiː diː ˈpiː/ Thermal Design Power 热设计功耗
IB /ˌaɪ ˈbiː/ InfiniBand 无限带宽网络
K8s /ˌkeɪ eɪt ˈes/ Kubernetes 容器编排系统
PUE /ˌpiː juː ˈiː/ Power Usage Effectiveness 电源使用效率
Optical Module /ˈɒptɪkl ˈmɒdʒuːl/ Optical Module 光模块(光电转换模块)
DDR5 /ˌdiː diː ˈɑːr faɪv/ Double Data Rate 5 第五代双倍速率内存
CXL /ˌsiː ɛks ˈel/ Compute Express Link 计算高速互联
SSD /ˌɛs ɛs ˈdiː/ Solid-State Drive 固态硬盘
HDD /ˌeɪtʃ diː ˈdiː/ Hard Disk Drive 机械硬盘
DeepSpeed‑ZeRO /ˈdiːpsiː ˈzɪərəʊ/ DeepSpeed Zero Redundancy Optimizer 零冗余优化器(显存分摊框架)
Offload /ˌɒfˈləʊd/ offload 卸载(把状态搬出 GPU 显存)