今天聊聊分布式训练Distributed Training:分布式训练(Distributed Training) 就是"人多力量大"在AI领域的体现。当模型太大、数据太多,单张显卡(GPU/TPU)算不过来或者算得太慢时,我们就把任务拆分给多台机器或多张卡,让它们协同工作,一起完成训练。为什么要用分布式训练?模型太大:像 Llama-3 这种千亿参数的模型,单卡显存根本装不下。数据太多:几TB的训练数据,单卡跑完一个Epoch可能要几个月。时间成本:大模型训练动辄几个月,用几百张卡并行,可以缩短到几周。核心策略:怎么"分"?分布式训练主要有三种切分方式,通常还会组合使用:数据并行 (Data Parallelism, DP/DDP)最常用,入门首选。原理:每张卡上都有一份完整的模型副本,但拿到的数据不同流程:各卡用自己的数据算梯度(Gradient)。所有卡把梯度汇总(All-Reduce),算出平均梯度。各卡用平均梯度更新自己的模型。优点:实现简单,通信量相对小。缺点:显存必须能装下整个模型。模型并行 (Model Parallelism)解决显存不够的问题。张量并行 (Tensor Parallelism, TP):把一层里的矩阵运算切开。比如一个 1000×10001000×1000 的矩阵乘法,4张卡各算 250×1000250×1000 特点:通信极其频繁,通常只在同一台机器内(NVLink互联)使用。流水线并行 (Pipeline Parallelism, PP):把不同的层分给不同的卡。比如 1-10层在卡A,11-20层在卡B。特点:像工厂流水线,但容易出现"气泡"(前面的卡算完了,后面的卡还在忙,导致闲)。专家并行 (Expert Parallelism, EP)MoE(混合专家)模型专用。原理:模型有很多"专家"子网络,每次只激活其中几个。把不同的专家放在不同的卡上,根据路由(Router)把数据发给对应的卡进阶:3D 并行.现在的超大模型训练,通常是 3D 并行:3D=数据并行 (DP)+张量并行 (TP)+流水线并行 (PP)3D=数据并行 (DP)+张量并行 (TP)+流水线并行 (PP).典型配置:机内:8张卡用 TP(因为NVLink带宽高,适合高频通信)。机间:用 PP(跨机通信慢,适合流水线这种通信相对少的)。全局:用 DP(把上述的"机内TP+机间PP"看作一个大模型,再在数据维度并行)。显存优化技术(省显存就是省钱).除了"切"模型,还有几个省显存的"魔法".ZeRO (Zero Redundancy Optimizer):DeepSpeed 的核心。把优化器状态、梯度、参数切碎,每张卡只存 1/N1/N 。ZeRO-1:切优化器状态。ZeRO-2:切优化器 + 梯度。ZeRO-3:切优化器 + 梯度 + 参数(显存省到极致,但通信变多)。Gradient Checkpointing (梯度检查点):前向传播时不存中间激活值,反向传播时重算一遍。代价:用计算时间换显存空间(约省 20% 显存,多 20% 时间).Mixed Precision (混合精度):用 FP16/BF16 计算,FP32 累加。显存减半,速度变快。
相关推荐
乌恩大侠13 分钟前
从 5G 通信到厘米级感知:基于 NVIDIA Aerial、SRS 与 UL-TDOA 构建 6G 无线定位实验平台懂点Tech7 小时前
ctfshow misc28:GIF 高度修改解题与脚本实现comedate7 小时前
SMLib 的 Examples 导读:PyAPI / SM_API / SMLib 三组示例怎么读云和数据.ChenGuang7 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制西西木科技丨Shopify开发机构8 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收川石课堂软件测试8 小时前
学习软件测试需掌握的一些知识2601_965448878 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法美狐美颜SDK开放平台8 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南HRaitest8 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑天远数科8 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关