首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏活动

    显存优化黑科技:DeepSeek ZeRO-3 改进策略全解析

    从 ZeRO-1 到 ZeRO-3,每一代技术都在前代基础上改进拓展,不断提升模型训练的显存效率和并行性能。 DeepSeek ZeRO-3 的创新突破DeepSeek ZeRO-3 继承前代优势,引入创新改进策略,在大规模模型训练中更有效利用显存资源,降低通信开销,提升整体训练效率。 (三)ZeRO-3:全面优化与拓展ZeRO-3 在前两代基础上深入优化拓展,延续对优化器状态、梯度和参数的分割策略,引入更先进通信优化技术和混合精度训练支持。 三、DeepSeek ZeRO-3 改进策略详解(一)张量分解优化DeepSeek ZeRO-3 在张量分解方面深入优化,将大型张量分解成小子张量,合理分配到不同 GPU 上,显著降低每个 GPU 显存占用 pip install torch(二)安装 DeepSeek ZeRO-3通过 pip 安装 DeepSeek ZeRO-3,获取最新版本库:# 安装 DeepSeek ZeRO-3!

    81710编辑于 2025-03-28
  • 来自专栏福大大架构师每日一题

    DeepSpeed v0.18.5 发布:PyTorch 2.9 适配、ZeRO-3 优化与多项关键修复全面升级!

    版本概览 DeepSpeed v0.18.5 共包含 34 次提交(Commits)、15 位贡献者、50 个文件变更,主要集中于以下几个方向: • 多平台兼容性优化 • ZeRO-3 与 BF16 支持增强 训练框架与性能优化 ZeRO 系列改进 • 为 ZeRO-3 增加 顺序 allgather 优化,显著提升大规模分布式训练性能。 • 修复 梯度检查点(gradient checkpointing) 在 use_reentrant=True、PyTorch-style backward、ZeRO-3 模式下的兼容性问题。

    52410编辑于 2026-02-09
  • 来自专栏人工智能

    DeepSpeed-Ulysses 实战:在 8×A100 上把 176B 模型压缩到 24GB 显存

    一、DeepSpeed-Ulysses 技术原理深度解析1.1 传统并行策略的瓶颈在大型模型训练中,我们通常面临两个维度的“巨大”:参数巨大:通过 ZeRO 优化器分片(ZeRO-3)可以有效解决,将优化器状态 四、显存优化分析与性能评估4.1 显存占用分解计算我们进行一个粗略的估算,展示 Ulysses + ZeRO-3 如何将显存压缩到 24GB 以下。 ZeRO-3 分片后,每卡存储参数:352 GB / 8 = 44 GB。但是,ZeRO-3 的“参数切片”并不常驻显存,仅在需要时通过通信获取。实际常驻显存的是当前层的参数。 优化器状态 (ZeRO-3):Adam 优化器状态(参数、动量、方差)约为参数的 12 倍(FP16 参数 + FP32 副本和状态)。 结语通过本文的实战演示,我们展示了 DeepSpeed-Ulysses 如何结合 ZeRO-3,将原本需要数百 GB 显存的 1760 亿参数模型训练,压缩到 8 张 A100 显卡的 24GB 显存以内

    22010编辑于 2026-01-07
  • 来自专栏AI前沿技术

    大模型-零冗余优化器zero

    • zero-1 仅对优化器分片 优化后的内存占比为: 当N比较大时, 显存占用相当于原来的 • zero-2 对优化器和梯度分片 优化后的内存占比为: 当N比较大时, 显存占用相当于原来的 • zero zero-1 和zero-2 相对于baseline 数据并行,通信量是没有变化的,zero-3变为1.5倍。 。

    16010编辑于 2026-01-13
  • 来自专栏福大大架构师每日一题

    DeepSpeed v0.16.9重磅发布!解锁全新性能优化与多项关键功能,深度解析升级亮点与技术革新

    解决Zero-3模式下权重描述输出异常 Zero-3是ZeRO系列中最高效的优化等级,能最大限度减少显存占用。 此次版本修复了当模型权重为None时描述字符串输出异常的问题,提升了Zero-3模式下的调试体验和日志准确性,有助于开发者更便捷地监控训练状态。 8.

    94110编辑于 2025-05-25
  • 来自专栏新智元

    多GPU通信效率提升4倍,RLHF生成提升2.25倍!DeepSpeed ZeRO++重磅升级

    每个GPU使用1000 token,ZeRO++比ZeRO-3的吞吐量提高了28%到36%。 对于2000 micro batch size,ZeRO++比ZeRO-3实现了24%至29%的吞吐量增益。 在低带宽集群中,在100 Gbps网络等低网络环境中,ZeRO++的性能明显优于ZeRO-3ZeRO-3相比,ZeRO++在端到端吞吐量方面实现了高达2.2倍的加速,平均而言,ZeRO++比ZeRO

    59520编辑于 2023-08-07
  • 来自专栏AI前沿技术

    大模型训练|ZeRO三阶段显存"压榨"指南

    zero-3 对优化器,梯度和参数都分片 优化后的内存占比为:,当N比较大时, 显存占用非常的小。 2,ZeRo-2参数更新过程 策略:将模型的梯度和优化器状态进行分片。 以上流程中总的通信量: 前向计算 0 + 反向传播 M + 参数更新同步 M = 2M 3,ZeRo-3参数更新过程 策略:将模型的参数,梯度和优化器状态进行分片。 以上流程中总的通信量: 前向计算 M + 反向传播 2M + 参数更新同步 0 = 3M ZeRo策略总结 ZeRo通过分片策略实现内存与通信的权衡,其核心思想是 “以通信换内存” 维度 ZeRo-2 ZeRo

    17910编辑于 2026-01-13
  • DeepSpeed分布式训练框架深度学习指南

    例如,ZeRO-3将模型参数、梯度和优化器状态分片到每个GPU上,实现了极高的内存节省。 model.parameters(), lr=0.01)# 定义DeepSpeed配置hparams = Hparams( zero_optimization={"stage": 3, # 使用ZeRO 我们通过配置ZeRO-3和混合精度训练来优化内存使用和计算速度。然后,我们模拟了一个训练循环,其中包括数据加载、前向传播、反向传播和优化器更新。请注意,这只是一个非常简单的示例。

    2.3K21编辑于 2024-11-07
  • 来自专栏NewBeeNLP

    以 GPT-175B 为例,聊聊大语言模型分布式训练的最佳实践

    其次,使用比较多的是 Zero-2 和Zero-3,但目前在 Megatron 和 Nemo 上还没有做支持。 因为在实际使用过程中,Zero-2 和 Zero-3 需要每次进行额外的 forward 和 backward 计算,并且每次都需要做通信,但是流水线并行会将一个大的 batch 拆分成很多个小的 forward 所以当同时使用 Zero-2 或 Zero-3 加上流水线并行时,通信量会大幅上升,因此这里不推荐大家同时使用流水线并行和 Zero-2 或 Zero-3,但流水线并行可以和 Zero-1 同时使用。 若再做 Zero-3,可以将参数也做相应的拆分,将其显存占用降低为 0.34GB。 相对而言,使用 Zero-2、Zero-3 对梯度和参数做拆分时的显存开销优化不明显,同时会增加非常多的通信 overhead。所以建议如果不是显存特别紧张的条件下,尽量不要用 Zero-3

    2.3K10编辑于 2023-12-20
  • 来自专栏AI SPPECH

    117_LLM训练的高效分布式策略:从数据并行到ZeRO优化

    内存使用减少约4倍 通信开销:训练速度几乎不受影响 5.1.2 ZeRO-2:梯度分区 原理:在ZeRO-1基础上,进一步分区梯度 内存节省:内存使用减少约8倍 适用场景:中等规模模型训练 5.1.3 ZeRO 层间平衡:根据层计算复杂度优化模型划分 通信重叠:最大化计算与通信的重叠 内存均衡:确保各设备内存使用均衡 6.3 2025年混合并行最佳实践 6.3.1 中小规模模型(< 10B参数) 推荐配置:ZeRO 适用硬件:中等规模GPU集群 6.3.3 超大规模模型(> 100B参数) 推荐配置:ZeRO-3 + 张量并行 + 流水线并行 + 序列并行 优化重点:多级存储优化和通信优化 适用硬件:大规模GPU -3 大规模 低 高 高 中 12.2.2 2025年最新优化技术效果 优化技术 内存减少 速度提升 适用场景 ZeRO-3 70-80% 10-20% 大规模模型 ZeRO-Offload 3.0 结论与未来展望 15.1 主要总结 通过本文的深入探讨,我们对LLM训练中的高效分布式策略有了全面的了解: 技术演进:分布式训练从简单的数据并行发展到复杂的混合并行和高级内存优化技术,如ZeRO-3

    39610编辑于 2025-11-16
  • 来自专栏AI前沿技术

    ZeRo零冗余优化器参数更新过程和通信量计算

    以上流程中总的通信量: 前向计算 0 + 反向传播 M + 参数更新同步 M = 2M 2,ZeRo-3 参数更新和通信量计算 策略:将模型的参数,梯度和优化器状态进行分片。 以上流程中总的通信量: 前向计算 M + 反向传播 2M + 参数更新同步 0 = 3M 3,ZeRo-2&3策略总结 ZeRo通过分片策略实现内存与通信的权衡,其核心思想是 “以通信换内存” 维度 ZeRo-2 ZeRo

    12410编辑于 2026-01-13
  • 来自专栏GiantPandaCV

    【DeepSpeed 教程翻译】二,Megatron-LM GPT2,Zero 和 ZeRO-Offload

    ZeRO-3将在前向和后向传递期间自动收集和切分它们。 可以在JSON配置中启用ZeRO-3。 ZeRO-Infinity是下一代基于ZeRO-3的Offload功能。ZeRO-Infinity能够比ZeRO-Offload更多地卸载数据,并具有更有效的带宽利用和计算与通信的重叠。 deepspeed.zero.TiledLinear模块利用ZeRO-3的数据获取和释放模式,将一个大的运算符分解成较小的块,可以顺序执行,从而降低工作内存需求。 在ZeRO-3下,state_dict仅包含占位符,因为模型权重被切分到多个GPU上。

    3.5K10编辑于 2023-08-22
  • 来自专栏AI SPPECH

    119_LLM训练的高效内存管理与优化技术:从ZeRO到Flash Attention

    3.1.2 ZeRO三个级别 ZeRO-1:优化器状态分片 ZeRO-2:梯度分片 ZeRO-3:参数分片 3.2 ZeRO-1:优化器状态分片 3.2.1 工作原理 ZeRO-1将优化器状态(如Adam -3:参数分片 3.4.1 工作原理 ZeRO-3是ZeRO的最高级别,它在ZeRO-2的基础上进一步对模型参数进行分片,实现了完整的模型状态分区。 3.4.2 内存节省计算 ZeRO-3:每个进程仅存储1/N的参数、1/N的梯度和1/N的优化器状态 内存节省:理论上可以训练比单GPU内存大N倍的模型 通信开销:需要额外的参数收集和分发操作 3.4.3 2025年ZeRO-3优化技术 # 2025年DeepSpeed ZeRO-3高级配置 zero_config = { "zero_optimization": { "stage 8.1.2 优化策略 多级并行组合: 张量并行 (TP=8) 流水线并行 (PP=4) 数据并行 (DP=32) 总计1024个GPU 内存优化技术组合: ZeRO-3 + CPU卸载 自适应

    21910编辑于 2025-11-16
  • 来自专栏啄木鸟软件测试

    多模态大模型技术原理及实战(6)

    微软开发的开源深度学习优化库 •PyTorch框架 零冗余优化器 ( Zero Redundancy Optimizer,ZeRO) •优化器状态分区(ZeRO-1) •梯度分区 (ZeRO-2) •参数分区(ZeRO

    28510编辑于 2024-09-10
  • 来自专栏信数据得永生

    Transformers 4.37 中文文档(十九)

    ZeRO-Infinity 需要启用 ZeRO-3。 ZeRO-2 与 ZeRO-3 性能 如果一切配置相同,ZeRO-3 可能比 ZeRO-2 慢,因为前者需要收集模型权重以外的内容。 重要的是要了解,ZeRO-3 在速度上的代价是实现更高的可伸缩性容量。 ZeRO-3 和 Infinity 细微差别 ZeRO-3 与 ZeRO-2 非常不同,因为它具有参数分片功能。 ,或者如果出现错误,指出参数大小为1,而不是某个更大的多维形状,这意味着参数被分区,您看到的是 ZeRO-3 占位符。 ZeRO 推理 ZeRO 推理使用与 ZeRO-3 训练相同的配置。

    2.2K10编辑于 2024-06-26
  • 来自专栏码农编程进阶笔记

    DeepSeek-R1模型本地部署如何选择版本(硬件要求与适用场景)

    报告生成等需求 70B版本:适用于金融分析、医疗诊断等专业领域 科研级部署 671B版本:支持多模态大模型训练、复杂科学计算任务 性能优化建议 量化加速:使用FP8/INT8量化提升推理速度 显存优化:启用ZeRO

    2K20编辑于 2025-04-27
  • 来自专栏AI SPPECH

    105_大模型微调高级优化技术:突破训练瓶颈的实践指南

    ZeRO优化器有三个主要版本:ZeRO-1、ZeRO-2和ZeRO-3,分别针对不同级别的内存优化。 ZeRO-1:优化器状态分片,每个GPU只保存部分模型参数的优化器状态 ZeRO-2:优化器状态和梯度分片,每个GPU只保存部分模型参数的优化器状态和梯度 ZeRO-3:优化器状态、梯度和模型参数分片, 以下是使用DeepSpeed和ZeRO-3进行训练的示例: import deepspeed # 初始化DeepSpeed配置 config = { "train_batch_size": batch_size model=model, model_parameters=model.parameters(), config=config ) ZeRO优化器可以显著减少显存使用,根据微软的研究,ZeRO FSDP与DeepSpeed的ZeRO-3在功能上类似,但FSDP作为PyTorch的官方组件,具有更好的兼容性和未来发展前景。

    52710编辑于 2025-11-16
  • 来自专栏机器之心

    Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

    为了评估优化技术,该研究使用 DeepSpeed 逐一启用如下优化:ZeRO-2、ZeRO-3、offloading、激活重计算、量化和 FlashAttention,以衡量性能改进以及时间和内存消耗方面的下降 对于具有卸载功能的 ZeRO-2 和 ZeRO-3,他们分别将优化器状态和优化器状态 + 模型卸载到 CPU RAM。对于量化,他们使用了具有双重量化的 4bits 配置。

    1.6K10编辑于 2023-12-28
  • 来自专栏AI前沿技术

    简述数据并行 - DP, DDP, FSDP的数据分片、梯度同步和参数更新过程

    其核心思想源自 ZeRO (Zero Redundancy Optimizer) 优化器 (如DeepSpeed 的ZeRO-3阶段),通过消除内存冗余实现内存高效利用。

    42710编辑于 2026-01-13
  • 浙大开源datamind搞定数据分析

    模型训练:基于LLaMA Factory框架,使用4块NVIDIA A800 GPU,采用DeepSpeed ZeRO-3优化进行监督微调,评估开源模型(Qwen2.5系列等)与闭源模型(GPT-4o等

    11010编辑于 2026-03-05
领券