当前位置:   article > 正文

【你好!我是MOSS】从0开始搭建本地MOSS智能机器人_moss-003-sft-data

moss-003-sft-data

前提条件:需要单张A100或A800显卡,或两张3090显卡,或者以上规模。
 

以下正文:远程到GPU服务器,本地使用的是Centos 7.5系统环境。然后查看显卡信息

查看显卡显存等其他信息,一共8张GTX3080TI显卡,96G显存,应该是够用了。

下载moss项目到本地

git clone https://github.com/OpenLMLab/MOSS.git

 本文原文,出自我个人的公众号【Dotnet Dancer】,地址:

【你好!我是MOSS】从0开始搭建本地MOSS智能机器人

git clone报错,可能是第一次使用,git 版本有问题,先卸载

yum remove git

安装git 依赖包们

  1. yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc -y
  2. yum install gcc perl-ExtUtils-MakeMaker -y

查看git版本列表

https://mirrors.edge.kernel.org/pub/software/scm/git

下载指定的版本,例如最新版 git-2.39.2.tar.gz

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.39.2.tar.gz

报错了,根据提示进行改造一下,为了以防万一,git版本下载低一点的,例如2.28.0

解压和创建git安装文件夹

  1. tar -zxf git-2.28.0.tar.gz
  2. mkdir -p ~/local/git
  3. cd git-2.28.0/
  4. ./configure --prefix=$HOME/local/git

编译与安装git

make && make install

设置环境变量和查看当前版本

  1. export PATH=$HOME/local/git/bin:$PATH
  2. git version

重新拉取代码

可能是网络原因,或者其他某些原因,一直无法拉取成功

只能使用工具传上去,例如 winSCP。先把moss库git clone到本地,然后通过工具传输到远程服务器上。

MOSS项目现在在服务器上了

把默认的torch版本改为1.13.1版本或者其他高版本也行【备注:现在最新的代码库,已经修复了低版本问题,该步骤可以省略】

进行安装moss依赖

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装pip

  1. yum install epel-release
  2. yum install -y python-pip

验证pip,检查版本通过即可。

需要conda环境,先安装anaconda,例如我找个最新版进行安装

https://repo.anaconda.com/archive/

焦急地等待中……下载有点慢,让它跑一会儿

下载失败,只好本地下载再传送过去了

传输成功,在路径下可以看见ananconda安装包了

安装anaconda

 sh Anaconda3-2023.03-1-Linux-x86_64.sh

配置anaconda环境变量

获取到ananconda安装的路径

配置环境变量 

vim ~/.bashrc

把anaconda的bin目录添加到环境变量里面去

输入 conda没有报错,代表环境安装完成

创建conda环境

  1. conda create --name moss python=3.8
  2. conda activate moss

现在重新安装文件里面的依赖,可以通过python3来安装了。先前应该是本地只有python2环境导致的匹配不到高版本的包

pip3 install -r requirements.txt

如果下载太慢,就换一个国内镜像站,例如清华镜像站,速度马上飞起

-i https://pypi.tuna.tsinghua.edu.cn/simple

运行demo代码,首次运行会下载模型,大约30G左右

python moss_cli_demo.py

模型下载失败,一断回到解放前……

改下下载超时规则,找到 huggingface_hub下面的_http.py代码进行修改

requests.exceptions包导入额外的功能,可参考自行比对,可能有差异,不够就补。

from requests.exceptions import ConnectTimeout, ProxyError,SSLError,Timeout

以及超时时间、重试等都设置大一点。

重新走一个,发现好像不明所以地变快了???

最终还是下载失败,于是上hugging face下载到本地,然后再传输到服务器上。Fugging face所在模型地址:

https://huggingface.co/fnlp/moss-moon-003-sft/tree/main

丢到MOSS下的fnlp文件夹下:

最后重新运行demo代码,显示运行通过。

【注意事项】demo源码一些代码,可能需要自己更改默认参数。可以通过vim打开进行更改,此处不演示。

不过在对话过程中,报错了,显示RuntimeError: No CUDA GPUs are available

开始解决RuntimeError: No CUDA GPUs are available错误

先验证下cuda是否生效,写个python代码进行输出

验证显卡,发现显卡驱动没了

先确认下显卡还在不在,以及旧版显卡驱动,如果有旧版驱动,先卸载旧版驱动

  1. lspci | grep -i nvidia
  2. yum remove "*nvidia*"

也检查下驱动的一些其他依赖,例如 cuda、cublas等。发现没查出来,就代表没有。有的话也要进行移除。

下载最新版驱动

https://www.nvidia.cn/Download/index.aspx?lang=cn

下载以后,放到服务器上,进行安装。

发现权限可能不够,授予权限

chmod 777 NVIDIA-Linux-x86_64-525.116.03.run

检查nouveau驱动是否禁用,安装显卡前需要先禁用。

lsmod | grep nouveau

如果有输出,代表已启动。

vim /lib/modprobe.d/dist-blacklist.conf

在文件末尾新增两行

  1. blacklist nouveau
  2. options nouveau modeset=0

备份initramfs:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

重新建立initramfs

dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

重启以后,该驱动没输出了,说明驱动屏蔽完毕。

开始安装

 ./NVIDIA-Linux-x86_64-525.116.03.run -no-x-check

有一些检查项,直接默认

安装完毕以后,检查显卡,可以出来了

安装cuda环境

Nvidia安装文档链接

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

选择下载的版本

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=CentOS&target_version=7&target_type=rpm_network

根据提示的内容,进行相关操作

yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo

安装dkms驱动

  1. yum clean all
  2. yum -y install nvidia-driver-latest-dkms

安装cuda环境

yum -y install cuda

Cuda安装完成

测试一下环境

nvcc -V

发现还是没有命令,但是在 /usr/local/cuda下面是有文件的,说明可能是环境变量没配置

修改配置文件

vim ~/.bashrc

最末尾新增

  1. export LD_LIBRARY_PATH=/usr/local/cuda/lib
  2. export PATH=$PATH:/usr/local/cuda/bin

sourse一下,重新输入 nvcc -V 即可看到cuda版本信息,说明cuda环境OK了。

 本文原文,出自我个人的公众号【Dotnet Dancer】,地址:



【你好!我是MOSS】从0开始搭建本地MOSS智能机器人

重新启动服务器,进入激活moss环境,通过输入python代码重新验证一下,发现已经通过:

重新运行demo代码,运行成功,输入内容进行对话测试,结果如下图运行所示

OK,本地部署到此结束。

 本文原文,出自我个人的公众号【Dotnet Dancer】,地址:

【你好!我是MOSS】从0开始搭建本地MOSS智能机器人

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/523512
推荐阅读
相关标签
  

闽ICP备14008679号