浅谈AI - DeepSpeed - 单卡慎用!

DeepSpeed使用指南(简略版) Zero Redundancy Optimizer (ZeRO)是DeepSpeed的workhorse. 用户可以提供不同的ZeRO config文件,来实现DeepSpeed的不同功能特性。来看一下官网教程对ZeRO的描述:一句话总结:,划分而不是复制。即,传统的深度学习,模型训练并行,是将模型参数复制多份到多张GPU上,只将数据拆分(如,torch的Dataparallel),这样就会有大量的显存冗余浪费。而ZeRO就是为了消除这种冗余,提高对memory的利用率。 阅读详情

前言

曾在游戏世界挥洒创意,也曾在前端和后端的浪潮间穿梭,如今,而立的我仰望AI的璀璨星空,心潮澎湃,步履不停!愿你我皆乘风破浪,逐梦星辰!

简介

Deepspeed 的 ZeRO(Zero Redundancy Optimizer)有三个阶段(Stage 1, Stage 2, Stage 3),每个阶段旨在通过不同方式优化显存使用和提高计算效率。如果你是单卡训练,尤其是消费级显卡(如 3090、4090),启用 ZeRO Stage 2 和 3 反而得不偿失。以下是每个阶段的总结:


Stage 1:优化器状态分散(Optimizer State Partitioning) 🧠

  • 🎯 目标:减少优化器状态的冗余存储。

  • ⚙️ 优化方式:

    • 在多卡训练中,将优化器的状态(如梯度、动量等)分散到不同的设备上,避免每个设备存储冗余数据。

    • 每个 GPU 只负责存储优化器状态的一部分,减少显存占用。

  • ✅ 适用场景:适合 多卡训练,因为它减少了多卡训练中的显存冗余。

  • ❗ 单卡训练表现:在单卡训练中,Stage 1 并没有显著的优化效果,反而可能会增加内存开销,导致显存浪费。


Stage 2:模型参数和梯度分散(Model and Gradient Partitioning) 🧩

  • 🎯 目标

DeepSpeed配置参数 - 快速上手 针对DeepSpeed的几组重要的参数进行说明 阅读详情

相关推荐

DeepSpeed多卡训练问题梳理

DeepSpeed多级多卡问题处理

u012395477的博客 1万+

DeepSpeed简介及加速模型训练

DeepSpeed是由微软开发的开源深度学习优化框架,旨在通过系统级优化技术提升大规模模型的训练与推理效率。其核心功能包括显存优化(如ZeRO技术、Offload技术)、灵活的并行策略(如3D并行)、训练加速(如混合精度训练、稀疏注意力机制)以及推理优化(如低精度推理、模型压缩)。与PyTorch相比,DeepSpeed在显存效率、并行灵活性和生态集成方面具有显著优势,但配置复杂度和硬件依赖是其局限性。DeepSpeed支持与Hugging Face Transformers和PyTorch无缝集成,并通过

小白的博客 9160

【个人开发】deepspeed+Llama-factory 本地数据多卡Lora微调【完整教程】

处理方式还是调整参数,使用Lora微调时的常见参数,q_proj,v_proj,k_proj,gate_proj,up_proj,o_proj,down_proj。上一篇文件写到,macbook微调Lora,该微调方式,同样适用于GPU,只不过在train.py脚本中,针对device,调整为cuda即可。这种tensor的问题,很可能是模型冲突的问题,比如调到一半,然后重新提调,指到相同的路径。其他参数,其实就是常规使用peft进行lora微调的常见参数,以及常见的微调参数,可以对照如下。

weixin_44505713的博客 4687

Tiny-DeepSpeed:单卡微调大模型,极致优化显存与性能

在深度学习领域,大语言模型训练常面临显存瓶颈,尤其对于资源受限的开发者。ZeRO(零冗余优化器)技术通过参数分区和状态卸载,实现了显存与计算的高效平衡,其核心原理是用计算时间换取内存空间。这项技术显著降低了硬件门槛,使大模型训练在消费级显卡上成为可能,广泛应用于模型微调、学术研究和小规模部署等场景。本文聚焦Tiny-DeepSpeed项目,深入解析其如何通过精简ZeRO-2实现、梯度检查点和混合精度训练等关键技术,在单卡环境下高效微调大模型,为资源有限的开发者提供实用解决方案。

weixin_33696822的博客 671

从单卡到多机:我的PyTorch模型如何用Accelerate+DeepSpeed实现无缝扩展

本文详细介绍了如何利用Accelerate和DeepSpeed实现PyTorch模型从单卡到多机多卡的分布式训练扩展。通过实战案例和配置示例,解析了数据并行、模型并行及优化器状态并行的关键技术,帮助开发者高效解决显存不足和训练效率问题,实现无缝扩展。

weixin_29090089的博客 216

从零到英雄:DeepSpeed如何让单卡训练千亿参数模型成为可能

本文深入探讨了DeepSpeed框架如何通过ZeRO Offload等核心技术,实现单卡训练千亿参数模型的突破。详细解析了ZeRO技术的三阶段优化、CPU/GPU协同计算及3D并行架构,为研究者和工程师提供了从环境搭建到性能调优的实战指南,大幅降低了大模型训练的门槛。

weixin_29100927的博客 380

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

实验结果显示,在单个 24GB GPU 上,DDP 无法完成训练,但 ZeRO Stage-3 能够训练批次大小为 16 的模型。与 DDP(分布式数据并行)相比,DeepSpeed ZeRO Stage-2 允许更大的批处理大小(40 对比 8),并显著缩短训练时间(约 3.5 倍加速)。当训练大型模型时,内存不足(OOM)错误是常见的问题。为了利用现有硬件高效地训练大型模型,DeepSpeed 提供了 ZeRO(Zero Redundancy Optimizer),通过数据并行性来优化内存使用。

q742971636的博客 1286

15.11 单卡训练770M参数模型!DeepSpeed ZeRO-3实战:RTX 4090显存直降6.8GB

DeepSpeed ZeRO技术实现单卡训练770M参数模型,RTX 4090显存降至6.8GB。本文对比了ZeRO-2和ZeRO-3在单卡环境下的表现,展示了配置文件和训练脚本的改造方法。实验显示,ZeRO-3相比原生PyTorch可降低71%显存占用。文章详细解析了参数分区策略和通信优化机制,并提供了批次调优、混合精度训练等实战技巧,为开发调试和教育研究提供了高效的单卡训练方案。

yonggeit的博客 3143

22.1 突破单卡显存极限!DeepSpeed ZeRO实战:用1块GPU训练百亿参数大模型

本文详细介绍了DeepSpeed ZeRO技术如何突破单GPU显存限制,实现百亿参数大模型的高效训练。通过环境搭建、核心配置解析、单卡/多卡实战演示,展示了ZeRO-2和ZeRO-3在显存优化上的显著效果(如T5-3B模型单卡显存降至8.7GB)。文章提供混合精度训练、梯度累积等优化策略的配置代码,并总结出配置选择黄金法则:10B+参数优先用ZeRO-3+CPU Offload,单卡推荐ZeRO-2+梯度检查点。最后给出性能调优技巧和常见故障排查指南,为大规模模型训练提供实用解决方案。

yonggeit的博客 3308

22.4 单卡训练T5-Large!DeepSpeed ZeRO-2让12GB显存hold住770M参数模型

本文详细介绍了使用DeepSpeed ZeRO-2技术在单张12GB显存GPU上训练770M参数T5-Large模型的方法。通过ZeRO-2的优化器状态划分、梯度划分和参数分区三大机制,配合混合精度训练和CPU Offload技术,成功将显存占用从24GB降至12GB以下。文章包含环境配置步骤、DeepSpeed配置文件详解、训练脚本改造方法,以及启动命令和显存监控方案,并提供了常见问题排查指南。该方案使资源有限的开发者也能训练大型语言模型,显著降低了深度学习研究门槛。

yonggeit的博客 2924

15.7 DeepSpeed实战:单卡38GB到多卡12GB,3倍效率提升的ZeRO-3配置全解

DeepSpeed的ZeRO-3技术通过参数、梯度和优化器状态的分布式存储,显著降低大模型训练显存需求。本文以T5-3B模型为例,详细解析如何通过ZeRO-3配置实现单卡38GB→多卡12GB的显存优化,并提升3倍训练效率。关键步骤包括:1) 源码编译安装DeepSpeed并适配硬件环境;2) 配置ZeRO-3参数实现CPU卸载和混合精度训练;3) 集成训练脚本并启动多卡训练;4) 监控显存使用和性能优化。实验显示,相比无优化方案,ZeRO-3可节省68%显存,结合CPU卸载更可节省79%显存,同时保持高效

yonggeit的博客 3632

22.6 单卡A100驯服30亿参数模型!DeepSpeed ZeRO-3实战显存优化指南

本文介绍了使用DeepSpeed ZeRO-3技术在单张A100 80GB GPU上训练30亿参数T5-3B模型的方法。文章详细阐述了ZeRO-3通过参数、梯度和优化器状态分区解决显存爆炸问题的核心技术,提供了环境配置指南和关键实现代码,包括模型加载、显存优化策略及完整训练脚本。同时分享了性能调优参数对照表、实际训练效果数据和常见问题解决方案,并给出专家级调优建议,如混合精度训练和动态分片策略。该方案成功实现了在单卡环境下高效训练大模型的目标。

yonggeit的博客 3999

使用html和JavaScript实现一个简易的物业管理系统

码实现了一个简易的物业管理系统,主要使用了以下技术和功能: 1.主要技术 使用的技术: HTML: 用于构建网页的基本结构。 包括表单、表格、按钮等元素。 CSS: 用于美化网页的外观和布局。 设置字体、颜色、边距、对齐方式等样式。 JavaScript: 用于处理用户交互和动态更新页面内容。 实现了新增住户、查询住户、编辑住户、删除住户等功能。 处理表单提交事件,验证输入数据,并更新表格显示。 DOM操作: 使用 JavaScript 直接操作 HTML DOM 元素。 动态

weixin_41312759的博客 1781

洪水风险图制作全流程:HEC-RAS 与 ArcGIS 的耦合应用

本文系统介绍HEC-RAS水动力模拟软件在水利工程中的应用技术。内容涵盖:1)软件理论与安装;2)一维地形数据导入与河网构建;3)恒定流/非恒定流计算及模型调试要点;4)构筑物建模技术(桥梁、堰闸等);5)二维水动力模拟与溃坝分析;6)洪水风险图绘制。重点讲解水面线调试、糙率选取、报错分析等实操难点,通过案例教学实现从基础到工程应用的全流程技术掌握。该培训适用于防洪评价、河道治理等水利工程数值模拟需求。

2403_89974123的博客 1055

亚马逊(Amazon ads)广告API申请步骤(已经更新完)

你如果是自己的店铺使用,就选择左边的、如果是授权的那种给别人用就选右边的。审核通过了才能进行下一步,我目前就是刚申请完,后续会持续更新!然后会调整到,下面的页面,选择Agency然后右上角点击创建。审核通过会发邮件到你的企业邮箱、时间大概是1-7天左右。输入对应的信息,点击提交审核,就可以开始申请了。1、广告平台跟卖家平台是分开的,这个概念要清楚。2、注册广告一定要用企业邮箱!回到首页,点击成为合作伙伴。注册了以后会跳转到广告。然后再点击加入合作伙伴。然后会弹出下面的页面。

阿泽的博客 5660

Isaac Gym摄像头数据获取全攻略:从CPU到GPU,教你实时显示RGB与深度图

本文详细介绍了在Isaac Gym中获取摄像头数据的两种高效方案:CPU模式与GPU张量模式。通过实战代码示例,展示了从摄像头配置、数据获取到实时可视化RGB与深度图的全流程,帮助开发者优化机器人仿真与计算机视觉应用的性能。特别强调了GPU模式下的零拷贝访问与张量运算优势,适用于需要低延迟处理的场景。

weixin_29056701的博客 388

USB2.0物理层实战:手把手教你用示波器抓取D+/D-信号(附波形分析)

本文是一份针对硬件工程师的USB2.0物理层信号调试实战指南。文章详细讲解了如何使用示波器捕获和分析D+/D-差分信号,从基础设置、核心信号状态解读,到信号完整性分析与常见问题排查,手把手教你定位USB通信故障。内容涵盖USB2.0协议物理层关键概念,并附有基础解码思路,旨在提升工程师的底层调试能力。

s8t9u0v1w的博客 456

UReport2 报表设计器 在线表格

UReport2官网 一、UReport2报表设计器 UReport2是一个开源的可视化报表设计器,功能强大,操作简单,可以实现复杂的报表统计,有各种各样的导出和打印功能,支持导入Excel表格! 1、报表设计器 2、设计一个简单的用户列表展示 二、可编辑表格 扩展了layui的表格,支持多元化数据编辑(单选,多些、日期、下拉联动),开发简单、高效、便捷。有了它就可以轻松开发类似进销存系统的表格录入功能了,用户拿来即用! 三、主从表录......

ejinxian的专栏 2万+

AI应用架构师干货:智能财务分析AI平台可视化模块设计(附最佳实践)

智能财务分析的价值,从来不是“AI模型有多准”,而是“财务人员能用上AI的结果”。可视化模块的设计,本质是**“站在业务用户的角度,重新定义技术的价值”**——它不需要复杂的动画,不需要华丽的特效,只需要“把AI的结果翻译成财务人员能看懂的语言”。作为AI应用架构师,我们的使命不是“打造最先进的技术”,而是“打造最有用的技术”。而可视化,就是连接技术与业务的那座“桥”。附录:实战项目GitHub仓库(注:此处可放置实际项目的GitHub链接,包含完整代码、数据样例、部署文档)作者简介。

SuperAGI2025 1157

Autosar入门_OS_5

os hook函数说明

u012406840的博客 402

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: 浅谈AI落地 - 文章推荐 - 混合推荐模型
下一篇: 浅谈ai - Activation Checkpointing - 时间换空间
栗子皮皮布丁
博客等级 码龄2年 204粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值