大模型Yaya-Moss-Alpaca-LoRA运行流程

模型代码地址:https://github.com/qiyuan-chen/Yaya-Moss-Alpaca-LoRA

1、代码文件操作
1.1、下载zip形式的代码
下载ZIP形式的代码
1.2、解压zip文件
解压zip文件
1.3、上传到实验室A6000集群中
上传A6000集群
2、集群中程序运行前期操作
2.1、打开Terminal,进入Yaya-Moss-Alpaca-LoRA-main文件夹。
2.2、构建以YayaMOSS为名称的虚拟环境


```python
 conda create -n YayaMOSS python=3.8

2.3、查看虚拟环境是够构建成功

```python
conda env list

2.4、激活YayaMOSS虚拟环境

conda activate YayaMOSS

3、程序运行
3.1、安装requirements文件

pip install -r requirements.txt

注意:我安装时原requirements.txt文件中的peft==0.3.0.dev0torch==2.0.0+cu118安装不成功,因为没有这两个版本的包,我换成了peft==0.3.0torch==2.0.0。换了之后还是会报错:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
gcs-oauth2-boto-plugin 3.0 requires pyOpenSSL>=0.13, which is not installed.
gsutil 5.21 requires pyOpenSSL>=0.13, which is not installed.

因此,还需要安装一下pyOpenSSL包。

pip install pyOpenSSL

3.2、由于训练代码保存在src/train.ipynb中,而运行.ipynb文件需要安装jupyter。

pip install jupyter notebook

注意:安装慢的可以将pip的源改成国内的源
3.3、运行jupyter

jupyter notebook

运行成功图片
到这一步之后如果集群可以用超链接访问,可以直接用http://127.0.0.1:8888/?token=77423bd178cf44a38d74dbaa1e5bbd4f4d94c30c09f63eee网址进入jupyter。127.0.0.1换成集群的IP。
然而,我们的集群不行,给出的报错信息是:
报错信息
询问同实验室同学得知,遇到这种情况可以先用jupyter lab试一下,提示没有,那就先安装jupyter lab

pip install jupyterlab

安装完成后用jupyter-lab打开jupyter:

jupyter-lab --no-browser --port=8014 --ip=127.0.0.1

结果还是得通过链接访问:
jupyter-lab结果
用自己的台式机输入链接:http://192.168.50.237:8014/lab?token=84a26770f41122bef40309ee65c9ab262147cf8e5a01106c,结果还是拒绝连接
链接结果
这种情况是因为集群拒绝外网访问jupyter,因此只能通过远程连接jupyter的方法。可以参考:https://blog.csdn.net/MuziZZ/article/details/101703604/
3.4、远程连接jupyter
首先,先别执行jupyter notebook

jupyter notebook --generate-config
# 生成配置文件,假设其地址为config.py
jupyter notebook password
# 键入自己设置的密码, 假设其生成文件地址为config.json

结果图显示
打开config_json,复制秘钥。

vi jupyter_notebook_config.json

查看json文件
随后,打开配置文件config_py,发现里面有大量的注释信息。找到如下五条并将其赋值信息修改如下:

c.NotebookApp.allow_remote_access = True # 允许远程访问,第174行
c.NotebookApp.ip = '*' # 允许任意ip地址访问,第350行
c.NotebookApp.open_browser = False # 禁止启动时自动打开浏览器,第458行
c.NotebookApp.password =  u'sha1:d3c690fbd44e:9e877c612c054679fb121e8605aa572354c2cfc2' # 复制双引号内的加密信息,第469行
c.NotebookApp.port = 20180  # 期望的端口号,第482行

补充:vi命令查看完文件之后,先Ctrl+C退出Insert模式,然后:wq!退出文件。
随后,在服务端执行jupyter notebook即可在本地实现对服务端Jupyter的访问。但仍出现访问被拒绝的问题。
20180端口访问拒绝
原因是,出于防火墙(存疑)设置问题,配置完成后仍无法正常访问Jupyter。
解决思路:
将服务器的20180端口通过ssh远程映射本地的2018端口。
具体实现:
在本地运行:

ssh -p port_num  server_account@ip_addr -N -L localhost:2018:localhost:20180

但是我的一直不行,总是提示上边的链接不上,听实验室同学说是因为需要开放A6000的jupyter的访问权限或者是什么的,我也正在寻找方法:
方法一:

ssh -N -f -L localhost:20180:localhost:2018 b519@192.168.50.237 

方法不行,未连通。

其中一个师弟跟我说了另一个方法:把 c.NotebookApp.ip = '*' # 允许任意ip地址访问,第350行 修改成:

c.NotebookApp.ip = '0.0.0.0' # 允许任意ip地址访问,第350行

我还没有尝试,是否成功未知。

方法三:又有一个师弟提出了新的方法:
可以直接不用jupyter跑,直接把原来的train.ipynb文件中的内容复制出来,放到train.py中,直接python train.py就可以运行训练过程,亲测好用。需要这个过程需要注意的就是一定要每段每段的复制,如果大段复制就会出各种各样的问题。训练时需要下载模型,如果想节省时间,可以提前下载,修改模型路径,我没有提前下载,所以训练下载模型时非常慢。

持续更新中。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值