百度智能云+大模型分布式训练性能优化与实践

大模型分布式训练基础原理百度智能云资深研发工程师 / 张恒华百度百舸 AIAK 加速套件01AIAK基础产品特性02演讲提纲易用的产品使用方式03Scaling Law:大模型训练需要足够的数据和算力模型演进对 AI 基础设施提出更高的需求模型演进:参数量越来越大模型Tokens训练卡数训练时长LLaMA-65B1.4万亿2048卡(A100-80G )21天GLM-130B4000亿768卡(A100-40G)60天BLOOM-176B3660亿384卡(A100-80G)105天稳定高效敏捷挑战:机器规模大、训练周期长、资源成本高昂模型能力与数据、参数、算力等正相关基础设施高性能计算(A800、H800、昆仑)高性能存储(PFS、BOS、RapidFS) 高速互联网络(NVLink,RDMA、VPC)百舸控制面控制台OpenAPISDK命令行工具配套服务Prometheus监控日志服务镜像服务账号&安全云原生AI套件AI基础组件异构资源调度高性能存储插件高性能网络插件K8S内核AI编排调度深度学习框架AI 任务编排任务工作流管理稳定性&容错健康检测多维故障感知自动任务容错训练&推理加速(AIAK)模型训练加速模型推理加速模型生态适配百度百舸·AI异构计算平台基础设施高性能计算(A800、H800、昆仑)高性能存储(PFS、BOS、RapidFS) 高速互联网络(NVLink,RDMA、VPC)百舸控制面控制台OpenAPISDK命令行工具配套服务Prometheus监控日志服务镜像服务账号&安全云原生AI套件AI基础组件异构资源调度高性能存储插件高性能网络插件K8S内核AI编排调度深度学习框架AI 任务编排任务工作流管理稳定性&容错健康检测多维故障感知自动任务容错训练&推理加速(AIAK)模型训练加速模型推理加速模型生态适配百度百舸·AI异构计算平台AIAK 训练加速套件小模型:AIAK-Training大模型:AIAK-Training-LLMAIAK-Training,加速常规 CV/NLP 等小模型训练AIAK-Training 统一加速接口数据 IO 优化模型算子优化Loss 计算优化优化器加速AIAK 编译基础设施主流训练框架数据并行通信优化Swin-Lyolov7CenterNetFCOS3DBEVFormer CenterPointPointPillarsTransFusion+81%+54%+119%+88%+49%+391%+117%+142%典型2D/3D/Lidar/融合等智驾CV 模型,加速 49%~391% 赋能智能驾驶场景客户用户自定义训练代码(模型组网+训练循环) 几行代码插入 全链路加速 插件化安装ChatGPT 引爆大语言模型发展,模型生态爆发参数量大于百亿的模型时间线开源模型为例:基于基座模型,微调领域专用模型•https://arxiv.org/abs/2303.18223AIAK-Training-LLM,加速主流开源大语言模型训练数据并行优化Tensor 并行优化Pipeline 并行优化Zero 通信优化低精度训练高性能融合算子优化器融合算子通信换显存策略重计算策略优化显存管理策略GPU训练能力增强: 不同场景性能优化GQA/Alibi等 Layer模型TokenizerCheckpoint转换(HF、Megatron、deepspeed)开源大模型(LLaMA 系列、GLM 系列、Galactica 系列、BLOOM 系列、MPT…)DataLoaderPretrain、PostPretrainAlignment(SFT、Lora、RLHF)模型和工具分布式框架硬件训练镜像开箱即用: 热门开源模型 常用训练模式 模型格式互转MegatronDeepSpeed并行策略 - 单卡到分布式,数据切分到模型切分单卡训练•模型参数少单卡可训练GPU0DataSet数据并行•训练数据多单"卡"太慢GPU0GPU1DataSet•模型参数多单卡放不下模型并行GPU0GPU1DataSet小模型:单卡或多卡数据并行大模型:混合并行训练并行策略 - Megatron Tensor 并行将模型权重切分到多卡进行计算,需保证数学上与单卡计算等价;减少权重、激活的显存占用GEMM 权重按行切分:*==*W0TallreduceX0W0Y0dY0X0TdX0dw0allgatherforward:Y=Y0 + Y1(allreduce)backward:dY,无操作XfX0X1X0W0X1W1Y0Y1gYforward:Xibackward:dX = [dX0, dX1] (allgather)Y = XW = [X0, X1] ϙ0ϙ1 = X0W0+X1W1GEMM权重按列切分:X* W0= Y0dY0=*W0T输入权重输出XTdX|0dw0allgatherallreduceXfXXXW0XW1Y0Y1gYforward:无操作,Xbackward:dX = dX|0 + dX|1(allreduce)forward:Y=[Y0, Y1](allgather)backward:dYi(split)Y = XW = X[W0, W1] = [XW0, XW1]权重分布:Embedding、L层Transformer Layer(Attention/MLP)、head,核心是矩阵乘法并行策略 - Megatron 流水线并行模型按 Layer 切分为多个stage,分配到不同设备计算,通过点对点 Send/Recv 同步激活与梯度Layer 0(前向)Layer 1(前向)Layer 2(前向)Layer 2(反向)Layer 1(反向)Layer 0(反向)Layer 0(前向)Layer 1(前向)Layer 1(反向)Layer 0(反向)Layer 2(前向)Layer 2(反向)GPU 0GPU 0GPU 1Send / RecvSend / Recv 流水线气泡(影响更大)、P2P 通信开销 如何切分,模型层数一定能均匀切分?多种切分方法:计算均衡、显存均衡计算与通信如何进行调度,缩减 GPU 空等?并行策略 – Megatron 流水线并行,优化 Bubble 的方案GPipe:将 mini-batch 切分成多个 micro-batch,将 micro-batch 的计算在 pp stage 之间进行流水1F1B:一个 micro-batch 前向计算结束后,直接进行反向计算,目标尽快将前向激活消耗掉warmup 和1F1B两阶段:设备最多缓存 p 个 micro-batch 激活;p 数值相对较小单卡 bubble时间 = (p-1)(tf+tb),占比 = p−1p−1+m 可通过调整 p 和 m 减少气泡interleaved 1F1B:每个stage分配多个不连续的 layer 段,更短的时间完成一次计算,缩减其他 stage等待时间1. Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-L

立即下载
信息科技
2023-10-11
24页
4.53M
收藏
分享

百度智能云+大模型分布式训练性能优化与实践,点击即可下载。报告格式为PDF,大小4.53M,页数24页,欢迎下载。

本报告共24页,只提供前10页预览,清晰完整版报告请下载后查看,喜欢就下载吧!
立即下载
本报告共24页,只提供前10页预览,清晰完整版报告请下载后查看,喜欢就下载吧!
立即下载
水滴研报所有报告均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
相关图表
2016 年至今 AMD 历史股价、Forward PE 和 Forward PS(数据截至 2023 年 9 月 20 日)
信息科技
2023-10-11
来源:科技行业:AI芯片风继续吹,群贤毕至,花落谁家?
查看原文
AMD 关键财务指标彭博一致预期 VS 华泰研究预测(单位:百万美元)
信息科技
2023-10-11
来源:科技行业:AI芯片风继续吹,群贤毕至,花落谁家?
查看原文
AI 芯片行业产业链的相关公司估值(数据截至 2023 年 9 月 20 日)
信息科技
2023-10-11
来源:科技行业:AI芯片风继续吹,群贤毕至,花落谁家?
查看原文
AMD 分板块盈利预测
信息科技
2023-10-11
来源:科技行业:AI芯片风继续吹,群贤毕至,花落谁家?
查看原文
ROCm 系统对应英伟达 CUDA 部分名称
信息科技
2023-10-11
来源:科技行业:AI芯片风继续吹,群贤毕至,花落谁家?
查看原文
英伟达 CUDA 软件库及应用场景
信息科技
2023-10-11
来源:科技行业:AI芯片风继续吹,群贤毕至,花落谁家?
查看原文
回顶部
报告群
公众号
小程序
在线客服
收起