
AI Infra 地基篇从“显存墙”出发理解大模型为什么必须分布式0. 一句话结论大模型之所以必须分布式训练根本原因不是“算力不够”而是单卡显存装不下训练所需的全部状态。理解这一点你就掌握了 AI Infra 的第一性原理——所有并行策略本质上都是在回答同一个问题如何用多卡协作绕过单卡显存的天花板。而 2026 年正在发生的一件事让这个问题从理论变成了切肤之痛。1. 背景与问题如果你刚开始接触 AI Infra大概率会遇到这样一条学习路径先学数据并行、再学张量并行、然后流水线并行、ZeRO、MoE……每个概念单独看都懂但合在一起就不知道它们之间是什么关系也不知道实际工程中该怎么选。问题的根源在于大多数教程从“并行策略”出发而不是从“约束”出发。这就像学操作系统时先背进程调度算法却不知道为什么要调度。正确的入口应该是先搞清楚硬件给了你什么约束再去理解为什么需要这些策略。而这个最核心的约束就是显存。1.1 一个你正在经历的现实如果你最近在关注显卡市场大概率见过这样的新闻RTX 4090 魔改 48GB第三方把原卡显存颗粒拆掉、换焊大容量颗粒、改 PCB 配置电阻、刷定制 vBIOS一张消费级旗舰被“物理升级”成 AI 推理卡。二手平台上4090 48G 涡轮卡清一色挂到两万多。更夸张的是2080Ti 22G这张 2018 年的老卡被扩容到 22GB 显存后成品普遍 2800~3200 元折合约130~145 元/G。而新卡每 G 显存卖到875~1278 块。有人从报废的 RX 6900 XT 上拆下显存芯片重新植球后焊到 RTX 3070 上把 8GB 变成 16GB还加了一个物理开关在两种模式间切换。这些操作看起来像“硬核 DIY 玩具”但背后的驱动力非常严肃AI 开发者需要更大的显存来跑模型而新卡太贵、显存颗粒太缺。GDDR6 颗粒的现货价格已从每 GB 约 2.5 美元飙升至 7.5 美元涨幅高达 3 倍。整体 DRAM 价格从 2025 年三季度到 2026 年二季度累计上涨约4.5 倍。如果你是一个要训练模型的开发者你会怎么做买新卡太贵。租云算力也贵而且数据要传出去。那能不能把手里这张卡的显存“焊大一点”这就引出了本文的核心问题为什么大家如此执着于显存2. 核心概念显存墙2.1 显存到底被什么吃掉了训练一个模型时GPU 显存主要被四部分占用占用项说明典型占比模型权重参数本身fp32 下每个参数 4 字节~15%梯度反向传播计算的梯度与参数量等大~15%优化器状态Adam 需要 momentum 和 variance 两份副本~30%激活值前向传播的中间结果用于反向传播计算~40%一个被广泛引用的估算公式是显存需求 模型权重 Batch Size × (前向激活 反向梯度)这个公式看起来简单但它揭示了一个反直觉的事实在大模型训练中激活值和优化器状态才是显存的主要消费者而不是模型权重本身。2.2 一个具体的数字直觉以 LLaMA-7B 为例约 70 亿参数模型权重fp327B × 4 字节 ≈28 GB梯度fp32同样 ≈28 GBAdam 优化器状态momentum variance各 28 GB ≈56 GB激活值取决于 batch size 和序列长度通常在10–40 GB量级合计约 120–150 GB。而一张 A100 只有 80 GB 显存。一张 A100连 7B 模型的训练状态都装不下。这就是“显存墙”。你可能说“那用 fp16 呢” 确实混合精度训练可以把权重和激活降到 2 字节显存需求大约减半。但即便降到 60–80 GB也依然卡在 A100 的极限边缘batch size 只能设得极小训练效率极低。而到了 70B、175B 甚至更大的模型无论怎么降精度单卡都远远不够。2.3 显存缺口正在被“焊接”填上回到那个魔改现象。为什么有人愿意花两万多买一张 4090 48G因为显存容量直接决定了你能在本地跑多大的模型。魔改卡的技术流程大致是这样的拆掉原卡上的 12 颗 2GB GDDR6X 颗粒换上特制的双面“蚌壳式”PCB正反两面各焊 12 颗 2GB 颗粒凑出 24 颗共 48GB。然后刷入经逆向调试的定制 VBIOS强制启用 AD102 核心上原本未开放的第二组显存通道。但这里有一个关键问题显存扩容了带宽并没有扩容。RTX 4090 原生的显存控制器只设计支持 24GB21Gbps总带宽 1008GB/s。魔改到 48GB 后物理带宽未变等效带宽仍受限于原有的 384-bit 总线宽度和内存控制器调度逻辑。实测在 Llama-3-70B 推理中48GB 版本持续运行 30 分钟后因显存温度超 95℃ 触发降频FP16 吞吐量下降23%。大显存 ≠ 高效率。这是一个非常重要的工程认知。魔改的本质是“物理绕过”——用焊接和 BIOS 逆向绕过厂商设定的显存上限。而分布式训练的本质是“系统绕过”——用多卡协作和通信调度绕过单卡的物理天花板。两者都在回答同一个问题当一张卡装不下时怎么办魔改选择了最危险的那条路。而分布式训练选择了更工程化的那条路。3. 原理剖析3.1 所有并行策略的本质切什么怎么切既然显存装不下就必须把训练状态切分到多张卡上。不同的切分方式就对应了不同的并行策略数据并行DP每张卡都保留完整的模型副本但各自处理不同的数据。每张卡上的显存占用和单卡训练完全一样——所以 DP 并不能解决显存问题它解决的是吞吐量问题。真正让 DP 能用于大模型的是 ZeRO它把优化器状态、梯度、甚至权重也切分到各卡上每张卡只存 1/N。张量并行TP把单层内部的权重矩阵切开。比如一个[d, 4d]的线性层权重按列切分给两张卡每张卡只存[d, 2d]。这样单层的显存压力直接减半。但代价是每层计算前后都需要通信——切分后的结果需要 All-Reduce 或 All-Gather 来合并。流水线并行PP按层切分模型。100 层 Transformer 分给 4 张卡每张卡只负责 25 层。每张卡的显存占用降到 1/4。但代价是流水线气泡——前面的卡算完了后面的卡还在等。这三个策略的通信模式完全不同DPAll-Reduce通信量约为2 × (N-1)/N × 参数大小。N 增大时趋近于 2 倍参数量不受卡数激增影响。TPAll-Gather / All-Reduce每层都要通信频率极高优先放在机内 NVLink 上。PP点对点 Send/Recv只在层边界通信频率低但存在无法消除的流水线气泡。3.2 为什么 AllReduce 是 AI Infra 的“心跳”在 DP 训练中每张卡算出自己的梯度后需要把所有卡的梯度求和取平均再更新权重。这个操作就是AllReduce。NCCL 默认使用Ring AllReduce算法把 GPU 组织成逻辑环分两个阶段执行Scatter-Reduce 阶段每张卡把自己的梯度分成 N 份沿环传递并累加最终每张卡持有一个 chunk 的完整归约结果。All-Gather 阶段把归约后的 chunk 沿环广播最终每张卡都拿到完整的归约梯度。它的精妙之处在于每个 GPU 只需要和左右邻居通信总通信量不随 GPU 数量线性增长。理解 AllReduce 为什么高效你就能理解为什么 DP 是工业界最先采用、也最基础的并行策略。AllReduce 是分布式训练的通信底座它的效率直接决定了 DP 的可扩展性上限。3.3 为什么不能只用一种并行策略每种策略都有明确的瓶颈只用 DP虽然 AllReduce 通信效率高但每张卡仍存完整模型显存不够。只用 TP通信频率太高跨机通信会严重拖慢训练所以 TP 通常限制在单机 8 卡以内。只用 PP气泡导致 GPU 利用率下降而且模型层数有限不能无限切分。所以工业界的实际方案是组合使用。典型配置单机内用 TP利用 NVLink 高带宽跨机用 DP利用 AllReduce 的高效通信层数多时叠加 PP。对于参数量超过 100B 的模型通常需要 3D 并行DP TP PP甚至 5D 并行加上序列并行和专家并行。3.4 从魔改卡到分布式为什么“焊接”不是答案现在你可以理解为什么魔改卡虽然能在短期内解决“显存不够”的问题但它不是 AI Infra 的正确方向带宽瓶颈没有解决扩容后带宽不变大模型推理的吞吐量反而可能下降。稳定性风险高非官方固件、非认证驱动PyTorch 2.3 默认禁用非标显存映射策略需要手动编译 CUDA 扩展并关闭显存压缩功能。无法规模化焊接一张卡的显存需要 8 小时以上失败率约 17%不能支撑“几十张卡同时扩容”的需求。可靠性未验证不在 NVIDIA Studio 或 CUDA Toolkit 兼容列表中长期高负载下的稳定性没有保障。分布式训练走的是另一条路不改变单卡的物理结构而是用软件和通信协议把多张标准卡组织成一个逻辑上的“大卡”。这条路的前提是标准化的硬件、成熟的通信库NCCL、以及可复现的并行策略。它不如“焊接”看起来硬核但它是可规模化、可维护、可复制的。4. 实验与数据一张表看懂三种并行的权衡维度数据并行 (DP)张量并行 (TP)流水线并行 (PP)切分对象数据层内权重层间显存降低无ZeRO 后有效显著显著通信频率每步一次每层多次层边界通信量中等高低主要瓶颈显存通信带宽流水线气泡推荐网络跨机可用机内 NVLink跨机可用典型场景中小模型大模型单机超大模型跨机一个真实的价格对比方案显存价格约每 GB 成本可靠性新卡 RTX 5090D 32G32 GB~40,896 元~1,278 元/G官方质保魔改 4090 48G48 GB~23,000 元~479 元/G灰色市场无官方支持魔改 2080Ti 22G22 GB~2,800-3,200 元~130-145 元/G灰色市场部分可用官方驱动数据来源2026 年 9 月市场行情。注意一个反直觉的结论每 GB 成本最便宜的是最老的 2080Ti 魔改卡130-145 元/G而不是最新的 4090 魔改卡479 元/G。这是因为 2080Ti 的 Turing 架构和专业卡共享核心改完能直接用官方驱动改造成本低、技术成熟度高。而 4090 魔改需要双面 PCB、定制 BIOS工程复杂度高得多。性价比最高的方案往往不是“最新的硬件”而是“最成熟的改造路径”。这个逻辑在分布式训练中同样成立不要盲目追求最新的并行策略而是选择你的模型规模和硬件条件下通信开销最小、实现最成熟的组合。5. 动手验证用纸笔做一次显存估算这是本文最建议你动手做的一件事。拿一张纸按以下步骤估算一个模型的训练显存需求假设模型参数量 P精度 fp324 字节使用 Adam 优化器 Step 1: 权重显存 P × 4 字节 Step 2: 梯度显存 P × 4 字节 Step 3: 优化器状态 P × 4 × 2 字节momentum variance Step 4: 激活值 ≈ 与 batch size × 序列长度 × hidden_dim 成正比 Step 5: 总显存 Step1 Step2 Step3 Step4 Step 6: 对比单卡显存上限判断需要几张卡才能装下以 LLaMA-7B 为例Step123 282856 112 GB激活值另算。一张 80GB A100 装不下。你需要至少 2 张 A100 做 ZeRO-3 切分或者用 TP2 来分担。加分练习如果你手头只有一张 24GB 的消费级卡比如 4090算一算你能在本地跑多大的模型能训练吗只能推理吗推理时显存需求降到多少6. 常见坑坑 1以为数据并行能省显存。DP 不省显存省的是训练时间。只有 ZeRO 系列才真正把 DP 变成了省显存的方案。坑 2以为 TP 可以跨机部署。TP 通信频率极高跨机 RDMA 的延迟会成为瓶颈。工业界 TP 几乎只在单机 NVLink 域内使用。坑 3忽略流水线气泡的影响。PP 的气泡无法完全消除只能通过微批次micro-batch来压小。选 PP 时需要同时评估气泡带来的 GPU 利用率损失。坑 4只算权重不算激活值和优化器状态。这是初学者最常见的错误。7B 模型权重只有 28GB但加上优化器状态和激活值实际需求可能翻 4 倍。坑 5认为“焊大显存”是解决显存问题的可行方案。魔改卡能扩容但不能扩带宽。在持续负载下带宽瓶颈和散热问题会导致性能不升反降。作为技术学习案例可以看作为工程方案不可取。7. 参考资料Li Bojie,深入理解 AI Infra第 1–3 章数量级估算与系统设计NCCL User Guide: Collective OperationsMegatron-LM Parallelism GuideHuggingFace,超大规模实战指南在 GPU 集群上训练大语言模型Igor’sLAB,RTX 4090 with 48 GB VRAM – an unusual but functional upgrade什么值得买显存危机把魔改卡推向台前2026-09-128. 更新记录日期更新内容2026-09-30初稿。结合 2026 年显存涨价与魔改卡热点引入“显存缺口”的现实背景。 下一步建议完成上面的显存估算练习后下一篇可以读《从 Ring AllReduce 到 NCCL通信原语的源码级理解》把今天看到的 AllReduce 概念落实到具体实现。