当前位置: 首页 > article >正文

细读经典: ZeRO

论文链接https://arxiv.org/pdf/1910.02054训练并行的几种方式1. Pipeline Parallelism (PP)2. Model Parallelism (MP)3. Data ParallelismSo, how can we overcome the limitations of existing solutions and train large models more efficiently? To answer this question, we first analyze the full spectrum of memory consumption of the existing systems on model training and classify it into two parts: 1) For large models, the majority of the memory is occupied by model states which include the optimizer states (such as momentum and variances in Adam [6]), gradients, and parameters. 2) The remaining memory is consumed by activation, temporary buffers and unusable fragmented memory, which we refer to collectively as residual states. We develop ZeRO— Zero Redundancy Optimizer — to optimize memory efficiency on both while obtaining high compute and communication efficiency. As these two parts face different challenges, we develop and discuss their solutions correspondingly该论文提供了一种新的数据并行的方式Zero-DP提出了Zero-R用于 optimize the residual memory consumed by these three factors respectively.1) For activations (stored from forward pass in order to perform backward pass), we noticed checkpointing [7] helps but not sufficient for large models. Thus ZeRO-R optimizes activation memory by identifying and removing activation replication in existing MP approaches through activation partitioning. It also offloads activations to CPU when appropriate. 2) ZeRO-R defines appropriate size for temporary buffers to strike for a balance of memory and computation efficiency. 3) We observe fragmented memory during training due to variations in the lifetime of different tensors. Lack of contiguous memory due to fragmentation can cause memory allocation failure, even when enough free memory is available. ZeRO-R proactively m最后放一段GPT的总结这篇论文是ZeRO: Memory Optimizations Toward Training Trillion Parameter Models作者Samyam Rajbhandari、Jeff Rasley、Olatunji Ruwase、Yuxiong He来自 Microsoft后来成为 DeepSpeed 的核心技术。这篇论文是大模型训练系统领域最重要的论文之一提出了ZeROZero Redundancy Optimizer核心目标是解决大模型训练的 GPU 内存瓶颈问题。(Hugging Face)下面我从问题 → 方法 → ZeRO 三个阶段 → 效果帮你系统讲清楚。一、论文要解决的问题随着深度学习模型规模快速增长BERT、GPT 等训练面临一个核心瓶颈GPU显存不够。在标准数据并行Data Parallelism中每个 GPU 都需要保存完整的模型状态模型训练时需要保存三类状态ParametersGradientsOptimizer states如 Adam 的 m / v其中optimizer state 是最大的。如果使用 Adammemory ≈ parameters gradients 2 × optimizer states也就是说每个参数需要 ~16 bytesFP16训练举例模型规模需要显存1B 参数~16GB10B 参数~160GB这就是为什么普通数据并行无法训练大模型。(Hugging Face)二、传统方法的局限论文分析了三种已有方案1 Data Parallelism特点每个 GPU 保存完整模型只分 batch问题memory O(model size)无法扩展。2 Model Parallelism代表Megatron-LMMesh TensorFlow方法把一个 layer 拆到多个 GPU。问题通信量巨大编程复杂多节点效率差论文实验40B 模型跨节点训练GPU 利用率 5% peak。 (Hugging Face)3 Pipeline Parallelism代表GPipe问题pipeline bubble实现复杂三、核心思想Zero Redundancy论文观察到一个关键事实数据并行存在大量“冗余状态”。在 DP 中GPU0 GPU1 GPU2 GPU3每个 GPU 都存parameters gradients optimizer states这些都是完全一样的副本。ZeRO 的思想消除数据并行中的冗余副本让不同 GPU只保存一部分状态。四、ZeRO 三个阶段最重要部分ZeRO逐步分片三类状态。Stage 1Optimizer State Partition只切分optimizer states例如GPU0 - optimizer 0-25% GPU1 - optimizer 25-50% GPU2 - optimizer 50-75% GPU3 - optimizer 75-100%而parameters - full copy gradients - full copy优点显存减少4×Stage 2Gradient Partition进一步切分gradients现在状态是否分片parameters❌gradients✅optimizer✅优点显存减少≈ 8×Stage 3Parameter Partition最后连参数也分片。每个 GPU 只保存1/N parameters 1/N gradients 1/N optimizer训练时forward 前all-gather 参数backward 后reduce-scatter 梯度这样memory O(model_size / N)这就是 ZeRO 的关键突破。五、ZeRO 的通信机制ZeRO 的核心通信模式ForwardAll-Gather parameters每层计算前收集参数。BackwardReduce-Scatter gradients梯度直接分片回收。相比传统AllReduce gradientsZeRO 更节省内存。六、论文实验结果实验规模400 GPUs结果100B 模型可训练15 PFLOPS throughputsuper-linear speedup对比 SOTA指标提升模型规模8×训练性能10×并成功训练17B Turing-NLG 模型。 (Hugging Face)七、论文的历史意义这篇论文几乎定义了现代大模型训练架构。之后很多技术都是它的延伸ZeRO-OffloadCPU 显存扩展。ZeRO-InfinityNVMe 扩展。PyTorch FSDPFully Sharded Data Parallel几乎就是ZeRO Stage3 的实现。八、一句话总结ZeRO 的核心贡献通过分片 optimizer / gradients / parameters消除数据并行的冗余显存实现O(model_size / N)的内存扩展能力。从而让Trillion parameter training成为可能。如果你愿意我可以再帮你深入讲一个工程层面非常关键的问题为什么 Adam optimizer 会占 3× 参数内存以及ZeRO 如何把它降到 1/N—— 这个其实和你之前问的Adam memory usage是完全相关的。

相关文章:

细读经典: ZeRO

论文链接:https://arxiv.org/pdf/1910.02054 训练并行的几种方式: 1. Pipeline Parallelism (PP) 2. Model Parallelism (MP) 3. Data Parallelism So, how can we overcome the limitations of existing solutions and train large models more eff…...

设备预测性维护服务商选择的关键维度

在工业4.0和智能制造背景下,预测性维护(PdM)成为企业降本增效的核心手段。选择优质服务商需从技术实力、行业经验、系统兼容性、数据安全及售后服务等多维度综合评估。技术架构与算法能力服务商需具备成熟的物联网(IoT&#xff09…...

一套全方位零售数字化经营系统:技术解析与业务赋能

摘要:本文详细介绍了一套集零售、订货、门店、采购、仓储、客户、财务、销售、营销及数据管理等功能于一体的综合性数字化经营系统。该系统采用 PHP8.2 MYSQL8.0 WEBMAN 作为核心框架技术,前端基于 uniapp 开发,具备高性能、跨平台等优势。…...

linux——目录及文件操作

linux目录及文件操作常用的linux指令cd文件夹名字: 访问某个文件夹ls:显示当前所在目录的文件touch文件名:创建文件rm文件名:删除文件mkdir目录名:创建目录rm -rf 目录名:删除目录TAB键:补全sudo 命令&am…...

【Python数据分析论文模版】基于Python的淘宝网手机销售数据分析与可视化

基于Python的淘宝网手机销售数据分析与可视化 摘 要 如今科技飞速发展,我国线上购物不断在拉动提高国民消费水平。在大环境下,人们对于以手机为代表的智能产品需求不断攀升,手机的更新换代越加频繁,如何选择一款适合自己的手机也…...

跨端融合,精准匹配:专业人才招聘管理App的技术创新与行业实践

摘要:本文聚焦于一款基于uni-app(Vue 2)开发的工程施工与设备作业领域专业人才招聘管理App,深入剖析其技术架构、核心功能及独特优势。通过多端统一开发、业务场景深度适配、轻量化部署等创新点,该平台有效解决了工程用…...

古装微短剧《嘉庆君游台湾》开机 霍政谚全力以赴演绎永琰

3月13日,由北京市人民政府台湾事务办公室官方新媒体平台“京彩台湾”出品,北京博羽齐文化传媒有限公司承制,由霍政谚、丁梓航、余玥、麦片(吴羽朔)等主演的古装微短剧《嘉庆君游台湾》在福建省泉州市百崎短剧园举行开机…...

智慧养殖鱼类病害的自动识别与分类 助水产养殖从业者及时诊断鱼病 鱼类疾病识别数据集 鱼类养殖检测数据集第10561期

一个用于鱼类病害识别的目标检测数据集,助力水产养殖智能化监测 一个用于鱼类病害识别的目标检测数据集,助力水产养殖智能化监测。数据集核心信息项目内容类别数量及中文名称7类:细菌性疾病-气单胞菌病、细菌性鳃病、细菌性红病、真菌病-水霉…...

基于Spring Boot的乡村信息管理系统设计与实践

第一章:系统设计目标与需求拆解 在乡村振兴战略推进与数字化治理深化的背景下,基于Spring Boot的乡村信息管理系统,核心目标是构建乡村信息“一站式”管理平台,解决传统乡村管理中数据分散、沟通滞后、服务低效等问题。从需求层面…...

3月16日直播丨面向新一代硬件,CANN技术架构的变与不变

B站/微信视频号搜索【昇腾CANN】观看直播,期待你的观看~ 点击预约直播:https://www.bilibili.com/opus/1179251767286693911?spm_id_from333.1387.0.0...

《Azul报告:62%的Java开发者已在写AI代码,这5个Java+AI实战场景你必须会》

文章目录写在前面:Java正在悄悄"收割"AI战场场景一:用大模型给客服系统装个"脑子"(Spring AI实战)啥情况需要这个?技术方案:Spring AI 函数调用核心就三步:第一步&#xf…...

制造业信息化系统开发工程师 - 学习资料汇总

制造业信息化系统开发工程师 - 学习资料汇总 一、MES(制造执行系统)学习资料 1.1 MES核心功能模块详解 根据工信部《制造执行系统(MES)规范》,合规MES必须具备10大核心功能: 📌 模块一:生产计划与排程 …...

PFM和FCCM的区别是什么?

PFM(脉冲频率调制)与 FCCM(强制连续导通模式)是 DC-DC 开关电源中两种核心工作模式,核心区别在于:PFM 是变频、轻载高效、纹波 / EMI 较差;FCCM 是定频、强制电流连续、轻载低效但纹波 / EMI / …...

基于SpringBoot的运动服装销售系统设计与实现

一、系统开发背景与意义 随着全民健身意识的普及和体育产业的快速发展,运动服装市场需求持续增长。但当前运动服装销售领域存在诸多痛点:线上端难以精准的产品分类与场景化推荐,选购效率低;商家库存管理粗放,易出现断码…...

基于嵌入式的数据库SQLite

轻量级的嵌入式数据库sqlite 1 SQLite3的安装 采用在线安装,在linux命令行:sudo apt install sqlite3 在命令行输入sqlite3,显示如下界面则表示安装成功。 2 SQLite3的基本指令 系统命令 .quit 退出数据库 .help 数据…...

知识点总结三

一、Windows 系统基础认知操作系统核心:是管理计算机软硬件资源的核心程序,所有软件需在其支持下运行。主流系统对比:Windows 图形友好、兼容性强,适用于企业服务器和个人设备;Linux 开源稳定,多用于服务器…...

一次性熔断保险丝 vs PPTC 选型参数全解析(硬件工程师必备)

在电路过流保护设计中,一次性熔断保险丝(Fuse) 与 PPTC 自恢复保险丝 是最常用的两类器件。本文系统梳理两者核心选型参数、选型逻辑与应用差异,附选型步骤与实战避坑,帮你快速搞定电路保护设计。一、一次性熔断保险丝…...

事件驱动在AI原生应用领域的应用实践分享

事件驱动在AI原生应用领域的应用实践分享 关键词 事件驱动架构(EDA)、AI原生应用、事件流处理、持续学习系统、动态决策引擎、因果事件建模、云原生事件平台 摘要 本报告系统解析事件驱动架构(EDA)在AI原生应用中的创新实践&#…...

STM32矩阵键盘驱动实战解析

矩阵键盘驱动程序实现以下是一个基于STM32标准库的4x4矩阵键盘驱动程序实现,使用PA4-PA7作为行线,PC0-PC3作为列线。硬件连接行线(输出): PA4-PA7列线(输入): PC0-PC3上拉电阻: 列线需要外部上拉电阻(4.7kΩ-10kΩ)初始化函数void KeyPad_Init(void) {GP…...

褪去故事滤镜:重建精品可可的“结构语言”

卷首语:在这个充满营销话术的时代,我们似乎越来越习惯用“动人的故事”去消费一个产品。但作为一个对真实风味保持怀疑与严谨态度的品鉴者,我们深知:故事,永远无法替代判断。今天,让我们褪去滤镜。从亚洲产…...

《低电压设计必看!轨到轨运放选型、电路搭建与常见坑避坑手册》

前言在模拟电路设计中,运算放大器(简称运放)的输出摆幅是关键性能指标之一。随着低电源电压设计的普及(如 3.3V、2.5V 甚至 1.8V 供电),传统运放 “输出摆幅远离电源轨” 的缺陷愈发明显,而轨到…...

从零开发微信小程序+若依后端项目:本地全流程开发,从环境搭建到前后端联调跑通

想一个人做一套类似淘宝的电商小程序,前端用微信小程序,后端用成熟的若依管理系统,电脑上用VSCode、IDEA、Docker搭配开发,第一步纯本地开发到底该怎么做?有没有隐藏的坑?其实,本地开发→服务器…...

TTTTT

TTTTTT...

深扒GEO优化行业潜规则:全网首次深度拆解底层逻辑

随着生成式AI成为新的信息入口,GEO(生成引擎优化)被炒成“AI时代SEO”,一时间各类培训课程、高价服务层出不穷,声称“4800元解锁大模型优先推荐”“10天保前三”,让不少创业者、中小企业主陷入焦虑&#xf…...

评判方法:你现在正使用的服装ERP软件该升级吗?

做服装行业的老板,大概都有过这样的困扰:手里的ERP软件用了两三年,一开始挺顺手,可随着企业规模扩大、款式增多、渠道变杂,越来越感觉“力不从心”——查库存要翻半天,对账容易出错,新的业务需求…...

【数据集】省级建成区绿化覆盖率数据(2006-2023年)

数据简介:建成区绿化覆盖率是指城市建成区的绿化覆盖面积占建成区的百分比。它反映了城市绿化水平的高低,是衡量城市生态环境质量的重要指标之一。建成区绿化覆盖率是一个反映城市生态环境质量的重要指标,各地政府正在通过加强园林绿化建设等…...

高效查重工具评测:9大方案助力论文质量提升

核心工具对比速览 工具名称 核心功能 处理时间 适配检测平台 特色优势 aibiye 降AIGC查重 20分钟 知网/格子达/维普 保留学术术语的AI痕迹弱化 aicheck AIGC检测降重 即时 主流学术平台 实时检测反馈精准降重 askpaper 学术AI优化 15-30分钟 高校常用系统 专…...

大数据领域Spark的数据存储与读取方式

大数据领域Spark的数据存储与读取方式 关键词:Spark数据存储、Spark数据读取、分布式文件系统、列式存储格式、数据湖仓架构 摘要:本文深入解析Apache Spark在大数据场景下的数据存储与读取技术体系,系统阐述从基础数据抽象到复杂存储引擎的核…...

论文查重全攻略:9款工具深度评测与优化建议

核心工具对比速览 工具名称 核心功能 处理时间 适配检测平台 特色优势 aibiye 降AIGC查重 20分钟 知网/格子达/维普 保留学术术语的AI痕迹弱化 aicheck AIGC检测降重 即时 主流学术平台 实时检测反馈精准降重 askpaper 学术AI优化 15-30分钟 高校常用系统 专…...

关于4G低功耗机器排查离线工作问题总结一

机器离线,其原理大致为超时没有收到心跳为由判定离线,其中原因可能有如下,需要逐步排查: 1、确认机器是否开机,或者处于低功耗休眠状态,如果彻底关机,那就会因为没有心跳发送而进入离线状态。 2…...