数据/模型/张量并行:Maths, CS AI Compendium分布式训练原理图解
2026/9/16 12:49:07 网站建设 项目流程

数据/模型/张量并行:Maths, CS & AI Compendium分布式训练原理图解

【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium

Maths, CS & AI Compendium 是一本"直觉优先"的开源教科书,覆盖数学、计算机科学与 AI 的全栈知识。本文聚焦其中的分布式训练核心内容,用图解式思路拆解数据并行、模型并行、张量并行三大策略,帮你快速看懂大模型(LLM)为什么必须多卡训练、多张 GPU 之间如何分工与同步。

为什么大模型训练必须分布式?

单卡训练大型神经网络,迟早会撞上两堵墙:

  • 算力墙⚡:一个 dense 层单步训练约需 6·B·d_in·d_out 次浮点运算,反向传播成本约为前向的 2 倍,GPT 级模型动辄需要数千 GPU 时;
  • 显存墙📌:训练时 GPU 必须同时放下四样东西——参数、梯度、优化器状态、激活值。以 7B 模型 + FP32 + Adam 为例,仅前三项就合计 112 GB,还没算随 batch size 线性增长的激活值,一块 80 GB 的 A100 根本装不下。

结论见 05. distributed deep learning.md:分布式训练不是锦上添花,而是训练前沿模型的刚需。

混合精度训练:显存减半的第一道防线

  • FP16 / BF16跑前向与反向,同时保留一份FP32 主权重供优化器更新;
  • BF16 的指数范围与 FP32 相同,几乎不会溢出,已是现代 Transformer 训练的默认选择;
  • 效果:激活值与梯度这两块"大头"显存直接减半。

对应原理:05. distributed deep learning.md

数据并行:多卡训练最简单的入门方法

数据并行是最容易上手的分布式策略,分三步:

  1. 完整模型复制到 N 张 GPU 上;
  2. 把 mini-batch 切成 N 份,每张卡独立做前向 + 反向;
  3. All-Reduce对梯度求平均,各卡同步更新本地权重。

它的效果等效于用 N 倍的 batch size 在单卡上训练。同步 SGD 与单卡训练数学等价,但最慢的卡会拖住全员;异步 SGD 消除等待却引入"陈旧梯度"噪声,实践中更推荐"同步 + 高效通信"。详见 05. distributed deep learning.md。

梯度累积:小显存也能模拟大批量

不急着更新权重,先跑多轮前向/反向把梯度累加起来,再一次性更新——效果等同大 batch,而激活值显存只占一份。这是单卡玩家模拟大批量训练的实用技巧。

模型并行:模型太大装不进单卡怎么办

当模型本身超过单卡显存,就要把模型拆给多张卡,主要有两种拆法:

张量并行:把一层的矩阵乘法拆给多卡

把 Y = XW 按列切开:W 分成 [W₁, W₂] 放两张卡,并行算出 Y₁ = XW₁、Y₂ = XW₂ 再拼接。它适用于 Attention 的 Q/K/V 投影和 FFN 层,但每一层都要通信,必须搭配 NVLink 这类机内高速互联。

流水线并行:像流水线一样分阶段执行

GPU 0 跑第 1-4 层、GPU 1 跑第 5-8 层……数据像传送带依次流过。朴素做法存在"流水线气泡"(上游在算、下游空转),把 mini-batch 再切成多个微批依次流过,就能让各卡几乎全程忙碌。两种模型并行的对比见 05. distributed deep learning.md。

混合并行:大模型训练的真实组合拳

GPT-4、Llama 这类模型采用的是三层嵌套方案:

层级策略为什么
机内(8 卡)张量并行NVLink 带宽高,扛得住每层通信
跨机流水线并行层间通信量相对小
跨多组机器数据并行扩展 batch、提升吞吐

Ring All-Reduce:带宽最优的梯度同步

朴素做法是把所有数据集中到一台卡上求和再广播,根节点很快成为瓶颈。Ring All-Reduce把 N 张卡排成环、数据切成 N 块,经过 2(N−1) 步后每张卡都拿到完整的和——总通信量约 2 倍数据大小,且几乎不随卡数增长,是带宽最优方案,工业界普遍配合 NCCL 库按网络拓扑自动选择最优算法。原理见 05. distributed deep learning.md。

分布式训练速查表

技术作用代价
混合精度(BF16)激活/梯度显存减半轻微数值差异
数据并行多卡扩展 batch梯度同步通信开销
张量并行层内拆分矩阵需要高速互联
流水线并行层间切分模型流水线气泡
梯度累积模拟大批量训练更慢
梯度检查点降低激活显存约 +33% 计算
Ring All-Reduce高效梯度平均超大模型下带宽受限

延伸阅读:在 Compendium 中深入学习

  • 分布式训练完整章节(含 FLOPs 估算公式、数据并行与单卡等价性验证、MoE 层实现练习):05. distributed deep learning.md
  • GPU 架构与 CUDA 基础,理解 NVLink 与跨机带宽差异:04. GPU architecture and CUDA.md

🔑 一句话总结:前沿模型训练 = BF16 混合精度 + 机内张量并行 + 跨机流水线并行 + 数据并行 + 梯度检查点 + 定期 checkpoint 容错,系统工程与算法设计同样关键。

【免费下载链接】maths-cs-ai-compendiumBecome a cracked AI/ML researcher/engineer with this unconventional textbook covering maths, computing, and ML with intuition.项目地址: https://gitcode.com/GitHub_Trending/mat/maths-cs-ai-compendium

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询