尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

DeepSpeed 保姆级上手指南:3 条命令装好环境,3 个场景跑通分布式训练

DeepSpeed 保姆级上手指南:3 条命令装好环境,3 个场景跑通分布式训练 DeepSpeed 保姆级上手指南3 条命令装好环境3 个场景跑通分布式训练【免费下载链接】DeepSpeedDeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.项目地址: https://gitcode.com/GitHub_Trending/de/DeepSpeed你手里有一个 PyTorch 模型显存已经不够用了想上多卡或者把模型状态卸载到 CPU但又不想重写训练代码。DeepSpeed 就是为这个场景准备的深度学习优化库一条deepspeed.initialize()把任意torch.nn.Module包成引擎ZeRO、3D 并行、MoE、ZeRO-Inference 这些系统级优化直接可用Megatron-Turing-530B、BLOOM-176B 这类千亿级模型都是在它上面训出来的。下面带你从 0 到跑通。能力速览它替你解决什么问题ZeRO 显存切分把优化器状态、梯度、参数切到多卡乃至 CPU/NVMe 上单卡装不下就加卡加内存几乎不改模型代码只改 JSON 配置。训练与推理全覆盖训练侧有 3D 并行、Ulysses 序列并行、DeepSpeed-MoE推理侧有 ZeRO-Inference 权重卸载和 ZeroQuant 量化4GB 显存也能跑 7B 级模型。接入成本低与 HuggingFace Transformers、Accelerate、Lightning 都有官方集成--deepspeed加一个 JSON 配置就能接管训练。硬件适配广NVIDIA/AMD GPU 之外还支持 Intel Xeon/XPU/Gaudi、华为 Ascend NPU甚至 Windows 原生安装。一句话单卡显存吃紧、要扩多卡、或者要给大模型做推理卸载的开发者都会用到它。快速上手pip 安装 ds_report 一次验证最短路径只有一条不用编译、不用配环境。先确认 PyTorch建议 2.0已装好然后一行命令安装 DeepSpeedpip install deepspeed这一步装的是最新 release 版本内置的 C/CUDA 算子官方称 ops默认走 JIT运行时按需编译所以安装过程很轻。装完立刻做环境体检确认 PyTorch/CUDA 版本和你机器上哪些算子可用ds_report预期输出是一版环境报告重点看两处torch与cuda版本是否正常打印、dsgit的op_build状态是否为 success。只要这两处没报错就可以直接进下面的场景实战了。场景实战从单卡训练到 4GB 显存推理入门单卡跑一个 CIFAR-10 训练循环先让 DeepSpeed 引擎接住一个普通模型建立最小肌肉记忆。官方教程 cifar-10.md 给了完整脚本核心就是把原生的model / optimizer / dataloader换成引擎三件套model_engine, optimizer, _, _ deepspeed.initialize( modelmodel, model_parametersparams)之后训练循环只剩三步loss model_engine(batch)、model_engine.backward(loss)、model_engine.step()混合精度的 loss 缩放、梯度平均、学习率调度全部由引擎托管。跑起来的命令deepspeed cifar10_deepspeed.py --deepspeed跑完你会看到每个 epoch 的 loss 稳定下降、测试集准确率达到 50%结尾打印cuda:0说明引擎正确落到了 GPU 上——此时你已经完成了 DeepSpeed 的最小闭环。进阶多卡 ZeRO 切分显存不改一行模型代码模型变大后单卡 OOM 是常态ZeRO 的解法是把训练状态切分Stage 1 切优化器状态Stage 2 再切梯度Stage 3 连参数也切。整个过程你只需要在 JSON 配置里加一个键模型代码零改动完整说明见 zero.md全部配置项在 config-json.md{ zero_optimization: { stage: 2, reduce_bucket_size: 5e8 } }官方教程里有个直观对照1.5B 参数的 GPT-2 在 8 张 V100 上做纯数据并行会直接 OOMAdam 状态一项就吃 18GB打开 ZeRO-1 后单卡优化器状态降到 2.25GB训练平滑跑完。这说明省下来的显存可以直接换成更大的 batch 或更大的模型。极限4GB 显存跑 Llama-2-7B 推理显存不够时还有一条路ZeRO-Inference 把权重卸载到 CPU 内存进一步可下探到 NVMe适合离线批量生成这类吞吐型场景。在 Windows 官方博客 的实测里一台 4GB 显存的 RTX A2000 笔记本就是这样推理 Llama-2-7B 的deepspeed run_model.py --model meta-llama/Llama-2-7b-hf \ --batch-size 64 --prompt-len 8 --gen-len 32 --cpu-offload跑完你会看到 token 稳定生成模型远大于显存生成没有中断这就是卸载在起作用。如果你有多块 NVMe SSD还可以叠上 DeepNVMe让加载带宽随盘数近线性扩展高频问题速查第一次启动训练卡很久或某个算子编译报错JIT 机制在首次运行时会现场编译用到的 CUDA 算子属正常现象编译失败通常是缺nvcc/C 工具链参考 advanced-install.md 预编译算子可一劳永逸。运行时提示 CUDA 相关错误cudaError、kernel 不兼容等一般是 DeepSpeed 与 PyTorch 的 CUDA 版本没对齐先执行python -c import torch; print(torch.version.cuda)确认版本再装匹配的 DeepSpeed入口见 getting-started.md。Windows 下 AIO / GDS 等特性报不支持这是平台限制异步 I/OAIO和 GPUDirect Storage 目前仅在 Linux 可用。单卡训练、微调和推理不受影响需要上述 I/O 加速就切到 Linux 环境。下一步功能仍在持续演进ZeRO、SuperOffload、AutoTP 等都在快速迭代建议顺手翻一遍 docs/_tutorials/ 下的完整教程或在 CONTRIBUTING.md 里找到社区入口提交问题。关注仓库更新新能力第一时间知道 【免费下载链接】DeepSpeedDeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.项目地址: https://gitcode.com/GitHub_Trending/de/DeepSpeed创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表