3 步完成 DeepSpeed Windows 安装:pip 预编译、ds_report 验证与报错排查
2026/8/31 8:05:54 网站建设 项目流程

3 步完成 DeepSpeed Windows 安装:pip 预编译、ds_report 验证与报错排查

【免费下载链接】DeepSpeedDeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.项目地址: https://gitcode.com/GitHub_Trending/de/DeepSpeed

DeepSpeed 是一个深度学习优化库,核心能力是分布式训练与推理:ZeRO(把模型优化器状态、梯度切分到多卡上以省显存)、3D 并行和 MoE(混合专家)都出自它。过去这些功能只能在 Linux 上用,Windows 用户只能绕道 WSL。现在 DeepSpeed 0.14.5 起原生支持 Windows,且关键差异是:Windows 包的算子已预编译,安装全程不需要 CUDA SDK,也不需要 C++ 编译器。按下面顺序操作,三步内就能跑通训练和推理。

动手前 30 秒环境自查:DeepSpeed Windows 安装硬性要求

先确认以下条件,不满足先补环境再往下走:

项目要求
Python3.x
PyTorch带 CUDA 支持,且必须在安装 DeepSpeed之前装好
Windows官方验证环境为 Windows 11 Version 23H2(单 GPU 机型)
GPUNVIDIA 单卡
DeepSpeed0.14.5 及以上版本才有 Windows 支持

检查 PyTorch 是否带 CUDA:

python -c "import torch; print(torch.__version__, torch.version.cuda)"

看到形如2.3.0+cu121 12.1的输出说明 CUDA 可用;None说明装的是纯 CPU 版 PyTorch,先重装 PyTorch 再安装 DeepSpeed。

一条命令装好 DeepSpeed:pip 预编译,免编译器

打开命令提示符(或 PowerShell),执行:

pip install deepspeed

Windows 下 pip 下载的是预编译 wheel(如deepspeed-0.14.5-cp311-cp311-win_amd64.whl),算子全部包含在包里,所以这一步不会触发编译,也没有 CUDA SDK 或 C++ 编译器的依赖。

看到Successfully installed deepspeed-x.y.z即下载完成,接下一步验证。

跑一次 ds_report 验证 DeepSpeed Windows 安装是否成功

装完立刻执行:

ds_report

输出包含两部分:上半部是 C++/CUDA 算子兼容性报告表,下半部是通用环境信息。看到环境信息区列出显卡型号(示例为 NVIDIA RTX A2000)和torch cuda version,即代表 DeepSpeed Windows 安装成功。

表中的[WARNING][NO]不必紧张:它们只表示个别可选算子当前未启用,[YES]表示该算子可用,[OKAY]表示按需在运行时编译,均不影响训练和推理。

进阶:什么时候才需要从源码编译 build_win.bat

常规使用不需要源码构建。只有以下两种情况才走这条路:需要尚未发布的最新代码,或要自定义/裁剪算子集合。

先克隆仓库,再运行仓库根目录的 build_win.bat:

git clone https://gitcode.com/GitHub_Trending/de/DeepSpeed cd DeepSpeed build_win.bat

该脚本会关闭一批 Windows 下暂不支持的算子(AIO、CUTLASS、Evoformer、稀疏注意力、DeepCompile 等)的编译,然后在dist目录生成 wheel,用pip install dist\xxx.whl安装即可。更细节的编译问题对照 高级安装文档 排查。

DeepSpeed Windows 安装卡住了?按阶段对照报错排查

阶段报错症状原因处理动作
构建阶段cl.exe not foundninja报错源码构建缺 C++ 工具链常规 pip 安装不编译、不会遇到;确需源码构建时安装 Visual Studio 2019+ 的"C++ 桌面开发"工作负载,或参考 advanced-install.md 提供的 conda 环境
版本匹配阶段torch.version.cuda输出None,或 CUDA 初始化失败装的是 CPU 版 PyTorch,或显卡驱动过旧先重装带 CUDA 的 PyTorch;再更新 NVIDIA 驱动
版本匹配阶段RuntimeError: CUDA error: no kernel image is available for execution on the device算子未针对当前显卡架构编译构建时设置TORCH_CUDA_ARCH_LIST(如"8.6")再重新构建;查法详见 advanced-install.md
⚠️ 版本匹配阶段DeepSpeed 的 CUDA 版本与 PyTorch 的torch.version.cuda不一致版本错配让 DeepSpeed 的 CUDA 版本对齐 PyTorch 报告的 CUDA 版本后重装
运行阶段进程崩溃、CUDA out of memory显存不足减小 batch size,或启用 CPU offload 把权重换出显存
运行阶段训练中途卡死后台程序占用显存任务管理器确认无残留训练/推理进程占卡

训练实战:一条命令跑通 CIFAR-10 图像分类

示例脚本来自 DeepSpeedExamples 仓库(本仓库 examples/ 为示例目录索引),获取脚本后在脚本所在目录执行:

deepspeed cifar10_deepspeed.py --deepspeed

--deepspeed是唯一必需参数。训练结束时看到Accuracy of the network on the 10000 test images和逐类别准确率,以及exits successfully,说明训练链路完整跑通。

推理实战:CPU Offload 跑 Llama-2-7B 生成

这条命令用 ZeRO-Inference 做 token 生成:它把模型权重换出到 CPU 内存(CPU offload),让 4GB 显存的机器也能推理 7B 模型。脚本同样来自 DeepSpeedExamples 仓库(zero-inference 目录):

deepspeed run_model.py --model meta-llama/Llama-2-7b-hf --batch-size 64 --prompt-len 8 --gen-len 32 --cpu-offload

参数含义:--batch-size批量条数,--prompt-len提示词长度,--gen-len每条生成 32 个 token,--cpu-offload开启权重重量换出到内存。

看到生成的文本块(Paris is the capital city of …)以及末尾的 model size、decode throughput 等统计,说明推理正常。

现在能做什么、还不能做什么

  • 可用(单 GPU):预训练、LoRA 微调(配合 HuggingFace Transformers 集成)、CPU offload 推理,使用方式与 Linux 一致。
  • 在路上:多 GPU 运行、权重量化、性能优化。
  • 反馈与参与:问题直接提 Issues,贡献流程见 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询