如何在window10安装DeepSpeed chat(补充编译报错C2398部分)

如何在windows10安装DeepSpeed chat
先简单记录一下总体流程,有时间再来详细写一下。

首先通过git下载deepspeed。
git clone https://github.com/microsoft/DeepSpeed.git

然后打开里面的README.md

搜索里面的 ## Requiremenets,

Requirements

  • PyTorch must be installed before installing DeepSpeed.
  • For full feature support we recommend a version of PyTorch that is >= 1.9 and ideally the latest PyTorch stable release.
  • A CUDA or ROCm compiler such as nvcc or hipcc used to compile C++/CUDA/HIP extensions.
  • Specific GPUs we develop and test against are listed below, this doesn’t mean your GPU will not work if it doesn’t fall into this category it’s just DeepSpeed is most well tested on the following:
    • NVIDIA: Pascal, Volta, Ampere, and Hopper architectures
    • AMD: MI100 and MI200

上面这段话,指出需要先安装最新稳定版的 pytorch,和 cuda 编译器。
pytorch:https://pytorch.org/
cuda:https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/#introduction

这里可以试一下安装最新稳定版,自己搜一下安装教程吧。
如果没有安装过python3,也是需要先安装一下,按道理用最新版的就行。
我安装的版本是对应python3.10的版本(因为我本机环境之前是python3.10)。
pytorch-1.13.1-py3.10_cuda11.7_cudnn8_0.tar.bz2
torchvision-0.14.0-py310_cu117.tar.bz2
cuda_11.7.0_516.01_windows.exe

然后看下去的 ## Windows,可以看到 window 安装指引:

Windows

Windows support is partially supported with DeepSpeed. On Windows you can build wheel with following steps, currently only inference mode is supported.

  1. Install pytorch, such as pytorch 1.8 + cuda 11.1
  2. Install visual cpp build tools, such as VS2019 C++ x64/x86 build tools
  3. Launch cmd console with Administrator privilege for creating required symlink folders
  4. Run python setup.py bdist_wheel to build wheel in dist folder

1.安装 pytorch1.8以上版本 和 cuda11.1,上面安装过就忽略这一步。

2.安装 visual cpp build tools,例如VS2019 C++ x64/x86 build tools
这里说要安装VS2019 C++工具,不过我安装的是 Visual Studio 生成工具 2022(我下面的编译报错估计跟这里的工具版本有关).
确保勾选有下面截图里的组件,不然编译会报错。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.然后在deepspeed目录下右击 build_win.bat,选择“以管理员身份运行”,这个操作跟在控制台打入命令效果是一样的。

成功的话应该可以看到控制台打印编译信息。
在这里插入图片描述
在编译过程中,会产生很多warning信息,这些可以不用管。
如果发现有error报错,脚本会停下来,这时候要看看具体报错信息。
我这边遇到的是这个错误:
在这里插入图片描述

csrc/transformer/inference/csrc/pt_binding.cpp(537): error C2398: 元素“2”: 从“size_t”转换为“_Ty”需要收缩转换

估计是我的编译工具版本差异引起的问题。
由于我C++不太熟悉,只是大概知道是有符号和无符号int转换的问题,
根据报错提示,找到pt_binding.cpp文件,做了以下修改:
在这里插入图片描述
然后编译通过了。不过不确定有没有隐藏bug。
目前还在测试中,未完待续。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋JK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值