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

【深度学习】DeepSpeed,ZeRO 数据并行的三个阶段是什么?

文章目录

  • ZeRO
  • 实验
      • 实验设置
      • DeepSpeed ZeRO Stage-2 实验
      • 性能比较
      • 进一步优化
      • DeepSpeed ZeRO Stage-3 和 CPU 卸载
      • 结论

在这里插入图片描述

ZeRO

ZeRO(Zero Redundancy Optimizer)是一种用于分布式训练的大规模深度学习模型的优化技术。它通过分片模型状态(参数、梯度和优化器状态)来消除数据并行训练中的内存冗余,从而显著提高内存效率。ZeRO 分为三个阶段,每个阶段逐步增加内存优化程度。分别对应优化器状态、梯度和参数的划分。

  1. 优化器状态分区(P os)——内存减少 4 倍,通信量与数据并行相同
    阶段 1:跨数据并行工作器/GPU 的分片优化器状态

    • 描述:在 ZeRO 的第一个阶段,优化器状态被分片到不同的数据并行工作器或 GPU 上,而不是在每个 GPU 上重复。比如,Adam 优化器的状态包括权重、动量和方差等,这些状态信息会被均匀分布到各个 GPU 上。
    • 内存节省:这种方法可以实现大约 4 倍的内存节省,同时保持与传统数据并行相同的通信量。
    • 应用场景:适用于训练参数在亿级别的模型,比如 GPT-2,能有效降低单个 GPU 的内存使用.
  2. 添加梯度分区(P os+g)——内存减少 8 倍,通信量与数据并行相同
    阶段 2:分片优化器状态和梯度

    • 描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • mysql中B+树的数据存储
  • 【MySQL】最左前缀匹配原则
  • zdppy+vue3+onllyoffice开发文档管理系统项目实战 20240808 上课笔记
  • Java中的分布式日志与追踪
  • Postman Pre-request Script
  • 【Vue3】Pinia存储及读取数据
  • [Meachines] [Easy] valentine SSL心脏滴血+SSH-RSA解密+trp00f自动化权限提升+Tmux进程劫持权限提升
  • 07、MySQL-多表查询
  • 关于重复提交
  • k8s—Prometheus+Grafana+Altermaneger构建监控平台
  • 2024年软件测试八股文(含答案+文档)
  • Qwen2-7b+AnythingLLM+ollama 部署API调用
  • Linux 进程概念
  • 高效清理优化工具 Sonoma Cache Cleaner mac 19.0.6注册激活版
  • PCIe学习笔记(20)
  • ES2017异步函数现已正式可用
  • php ci框架整合银盛支付
  • Python十分钟制作属于你自己的个性logo
  • vue学习系列(二)vue-cli
  • webpack入门学习手记(二)
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 全栈开发——Linux
  • 一天一个设计模式之JS实现——适配器模式
  • 用jquery写贪吃蛇
  • scrapy中间件源码分析及常用中间件大全
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​queue --- 一个同步的队列类​
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • $.proxy和$.extend
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (23)Linux的软硬连接
  • (9)STL算法之逆转旋转
  • (二十三)Flask之高频面试点
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)http协议
  • (转)LINQ之路
  • ***详解账号泄露:全球约1亿用户已泄露
  • **CI中自动类加载的用法总结
  • . NET自动找可写目录
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .aanva
  • .NET delegate 委托 、 Event 事件,接口回调
  • .Net MVC4 上传大文件,并保存表单
  • .net Signalr 使用笔记
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET框架
  • /etc/motd and /etc/issue
  • ??javascript里的变量问题