安装Deepspeed依赖包——Windows系统

前言:发布这篇文章是因为我参与全国大学生课外学术科技作品竞赛的基于多模态大模型的遥感影像分析与语义理解的比赛时遇到的问题总结,作为提升自身秘术留存。

希望可以遇到同赛的好友相互交流。

Windows系统下安装Deepspeed依赖包,存在的问题如下

关键错误是由于在 Windows 系统 上编译 DeepSpeed 时,尝试构建依赖 Linux 库 libaio 的 async_io 模块导致的。

核心问题AI分析

async_io 模块依赖 libaio
该模块用于异步 I/O 操作,依赖 Linux 系统的 libaio.so 库,但 Windows 系统不包含此库,导致编译失败。

先说结论,通过下载Deepspeed源码手动编译构建wheel包——deepspeed-0.12.3+unknown-py3-none-any.wh,然后通过pip命令进行安装。

windows安装Deepspeed教程

第一步

进入构建DeepSpeed源码程序网站

Releases · deepspeedai/DeepSpeed · GitHub

网页页面

注意:1.进入该网址需要使用加速器否则可能无法进入

如果有加速器则忽略steam++

2.这里介绍一个免费易操作的加速工具steam++,注意不要升级版本保持v2.8.6版本即可

Steam++软件页面

 
  

 

 

 

鼠标向下滑找到GIthub,勾选后点击 一键加速 即可使用

如图

选择需要的deepspeed版本

以v0.12.3版本为例子,点击v0.12.3:patch release

 

鼠标滚轮向下来到

选择下载需要的格式

然后打开文件,如用pycharm打开

 

找到其中的文件build_win.bat 和setup.py

文件路径

DeepSpeed-0.12.3\build_win.bat

DeepSpeed-0.12.3\setup.py

打开build_win.bat文件

添加cd /d %~dp0

  • %~dp0 的作用:这是批处理脚本中的特殊变量,表示脚本自身的路径。

如图

 

没有添加cd /d %~dp0,报错情况如下

 

 

打开setup.py进行修改

一.找到143行的代码

将代码

BUILD_OP_DEFAULT = int(get_env_if_set('DS_BUILD_OPS', BUILD_OP_PLATFORM))

修改为

BUILD_OP_DEFAULT = 0

二.找到199行的代码,该方法来源@程序员非鱼的windows系统下安装DeepSpeed依赖包(附问题解决方案)

将代码

if command_exists('git') and not is_env_set('DS_BUILD_STRING'):

    try:

        result = subprocess.check_output(git_hash_cmd, shell=True)

        git_hash = result.decode('utf-8').strip()

        result = subprocess.check_output(git_branch_cmd, shell=True)

        git_branch = result.decode('utf-8').strip()

    except subprocess.CalledProcessError:

        git_hash = "unknown"

        git_branch = "unknown"

else:

    git_hash = "unknown"

git_branch = "unknown"

修改为

if not is_env_set('DS_BUILD_STRING') and command_exists('git'):
    try:
        result = subprocess.check_output(git_hash_cmd)
        git_hash = result.decode('utf-8').strip()
        result = subprocess.check_output(git_branch_cmd)
        git_branch = result.decode('utf-8').strip()
    except subprocess.CalledProcessError:
        git_hash = "unknown"
        git_branch = "unknown"

git_hash_cmd = ["git", "rev-parse", "--short", "HEAD"]
git_branch_cmd = ["git", "rev-parse", "--abbrev-ref", "HEAD"]

 

总结:

没有修改两处代码,则报错情况如下

只修改143行的BUILD_OP_DEFAULT = int(get_env_if_set('DS_BUILD_OPS', BUILD_OP_PLATFORM))也能编译

 

三.编译deepspeed

为deepspeed的项目文件配置环境后安装项目依赖

pip install -r requiremes.txt

 

遇到过的问题,因为项目依赖中某个包版本过高导致其他需要numpy的程序报错

如numpy版本过高

解决方法为pip install numpy<2.0.0  # 降级 NumPy 到 1.x 版本

 

 

以管理员模式打开cmd

使用命令

cd DeepSpeed-0.12.3 (cd+文件路径)

(如cd D:\LeStoreDownload\LianDangLu \DeepSpeed-0.12.3)

再使用命令

build_win.bat

 

手动编译成功图

当前编译的 wheel 文件适用于 CPU 环境,但无法利用 GPU 加速。若需 GPU 功能,必须先安装 GPU 版本的 PyTorch,再重新编译 DeepSpeed。

 

 

 

接下来是编译的deepspeed的wheel文件可以利用gpu加速的方法

第二步,下载cuda工具包(已有则可跳过)

windows+r 打开cmd

使用命令

nvidia-smi #查看显卡

注意关注cuda version:12.6指 NVIDIA 驱动程序支持的最高 CUDA 版本为 12.6

 

使用命令

nvcc –version #查看 NVIDIA CUDA工具包 中附带的 NVIDIA 编译器(NVCC)

安装了 CUDA 工具包则显示如下。(本人安装的是v12.1版本)推荐安装v11.8版本

 

未安装 CUDA 工具包

如果系统中未安装 CUDA 工具包,命令执行后会提示 nvcc: command not found(Linux/macOS)或 不是内部或外部命令”(Windows)。

未安装则进入cuda工具包档案网站

CUDA Toolkit Archive | NVIDIA Developer

网站页面

 

寻找适合的工具包,其版本小于或等于cuda version:版本,由于Pytorch默认cu11.8所以推荐11.8版本

 

 

下载cuda工具包11.8的网站

CUDA Toolkit 11.8 Downloads | NVIDIA Developer

 

版本为你自己电脑的windows的版本

 

安装程序类型推荐选择exe网络

下载后成功安装使用命令nvcc –version    #查看 NVIDIA CUDA工具包 中附带的 NVIDIA 编译器(NVCC)存不存在

 

第三步

准备环境:打开anacondaPrompt命令框

输入命令(cuda为环境名称可自由更改)

conda create -n cuda python=3.10 -y

 

激活环境命令

conda activate cuda

使用命令安装pytorch

以安装 PyTorch 2.2.0 并搭配 CUDA 11.8为例

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118

其中cu118对应cuda工具包v11.8版本,可修改为cu121即对应cuda工具包v12.1

 

编译deepspeed

以管理员模式打开cmd

使用命令

cd DeepSpeed-0.12.3 (cd+路径)

(如cd D:\LeStoreDownload\LianDangLu\DeepSpeed-0.12.3)

 

再使用命令

build_win.bat

 

响应结果图:

最后打开anacondaPrompt命令框

使用命令为环境安装deepspeed-0.12.3+unknown-py3-none-any.whl

Pip install + 路径

pip install deepspeed-0.12.3+unknown-py3-none-any.whl

 

(如cd D:\LeStoreDownload\LianDangLu\DeepSpeed-0.12.3.2\

dist\deepspeed-0.12.3+unknown-py3-none-any.whl)

 

deepspeed-0.12.3+unknown-py3-none-any.whl在文件中的位置

成功安装deepspeed

至此在windows系统下能成功安装deepspeed依赖包了

后言:希望我的文章可以帮到安装deepspeed依赖包遇到问题的人。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值