让AI知识触手可及

首页 » 【模型训练】在AutoDL上使用LLamaFactory进行模型训练

前言

在众多的GPU云平台中,AutoDL是我们常用的一个。它因为显卡可快速扩展、实例运行稳定、网络连接速度快,深受大家的喜爱。不过其端口映射略微复杂,所以本篇文章,我们将介绍在AutoDL平台上进行模型训练的过程。

环境准备

1.1 创建实例

通过查看LLamaFactory的官方文档,我们可以得知,LLamaFactory的运行需要依赖以下环境:

必需依赖 最低版本 推荐版本
python 3.8 3.11
torch 1.13.1 2.4.0
transformers 4.41.2 4.43.4
datasets 2.16.0 2.20.0
accelerate 0.30.1 0.32.0
peft 0.11.1 0.12.0
trl 0.8.6 0.9.6
可选依赖 最低版本 推荐版本
CUDA 11.6 12.2
deepspeed 0.10.0 0.14.0
bitsandbytes 0.39.0 0.43.1
vllm 0.4.3 0.5.0
flash-attn 2.3.0 2.6.3

根据以上的依赖环境版本,我们在AutoDL上选择较为稳定的Pytorch2.3.0+Python3.12+CUDA12.1

1.2 (可选)无卡模式运行

  • AutoDL实例创建成功之后,默认是带着显卡启动运行的,此时的费用是2元/小时。
  • 因为我们前期进行环境部署以及拉取数据,暂时不涉及训练部分,也就用不到GPU。
  • 这种情况下,我们可以将实例关闭之后以无卡模式运行。

注意:
当后续开启训练时,不要忘了切换回有显卡模式运行。

1.2 下载LLamaFactory

# 拉取LLamaFactory
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

# 进入LLamaFactory目录
cd LLaMA-Factory

# 安装依赖
pip install -e ".[torch,metrics]"

1.3 启动LLamaFactory

llamafactory-cli webui

运行结果:

1.4 端口映射

因为LLamaFactory的默认访问端口为7860,所以我们需要进行端口映射才可以访问。

注意:

  • 在ModelScope中,我们是通过export GRADIO_SERVER_PORT=7860 GRADIO_ROOT_PATH=/${JUPYTER_NAME}/proxy/7860/命令设置环境变量来实现的。
  • 以上方法不可行在AutoDL中不可行。

AutoDL官方提供方法是使用SSH隧道来实现。
具体方法:

  1. 点击自定义服务

  2. 在弹出的页面中提示中,选择对应操作系统的方法。

1.4.1 Mac用户

Mac用户下使用此方法:

  1. 复制ssh命令

  2. 在MAC的terminal命令行下执行如下命令

ssh -CNg -L 7860:127.0.0.1:7860 root@connect.nmb1.seetacloud.com -p 16035

执行结果:

注意:

  1. 因为LLamaFactory的默认访问端口为7860,所以我们根据需要修改上面的命令行中的端口为7860
  2. 运行ssh命令行后,系统会提示是否继续,输入yes继续。
  1. 复制密码

  2. 输入密码
    在命令行粘贴上一步的代码后回车,回车之后如果没有提示连接中断,始终闪烁光标,那么代表端口监听正常。

如果提示Permission denied, please try again.,代表密码输入错误,请重试。

  1. 浏览器访问llamafactory
    在上一步,我们通过SSH与服务器成功建立了隧道连接,接下来,我们就可以在浏览器中输入如下地址访问。
http://localhost:7860/

注意:
请保持命令行全程后台运行,不要关闭,否则链接会中断。

1.4.2 Windows用户

Windows用户与服务器建立隧道连接的方法不同,需要按照官网提示下载程序。

  1. 下载AutoDL-SSH-Tools

  2. 解压.zip文件后,双击运行AutoDL.exe

  3. 复制SSH和密码,填入工具相应位置

  4. 启动代理

  5. 浏览器中输入http://localhost:7860/后,访问llamafactory

模型训练

1. 数据准备

此处复用【课程总结】day24(上):大模型三阶段训练方法(LLaMa Factory)中的数据。

1.1 下载数据

git clone https://www.modelscope.cn/datasets/xiaofengalg/Chinese-medical-dialogue.git

1.2 注册自定义数据

在LLamaFactory的dataset_info.json中添加如下数据集:

  "custom_sft_train_data": {
  "file_name": "/root/Chinese-medical-dialogue/data/data/train_0001_of_0001.json",
  "columns": {
    "prompt": "instruction",
    "query": "input",
    "response": "output"
    }
  },

注意:
以上file_name是数据集的绝对路径,需要根据实际情况修改。

2. 模型准备

git clone https://www.modelscope.cn/qwen/Qwen2-0.5B.git

3. 模型训练

后续内容与【课程总结】day24(上):大模型三阶段训练方法(LLaMa Factory)一致,此处不再赘述。

该系列文章

总结

  • 在AutoDL上使用LLamaFactory进行模型训练,需要进行端口映射,具体方法为使用SSH隧道。
  • 建立SSH隧道在Mac和Windows下不同,Mac直接使用命令行运行ssh命令,Window下需要下载客户端程序运行。
  • 运行SSH命令时,需要根据需要设置相应映射的端口。

欢迎关注公众号以获得最新的文章和新闻

声明:一起AI技术所有文章,如无特殊说明或标注,均为本站作者原创发布。任何个人或组织,在未征得作者同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
原创不易,内容版权受保护,感谢您的尊重与支持。
5 1 投票
Article Rating
订阅评论
提醒
guest的头像


1 评论
内联反馈
查看所有评论
1610的头像
3 月 前

对算力云用户有帮助,感谢

Picture of Dongming
Dongming
见天地,见众生,见自己。

分类文章

推荐活动

推荐文章

RL 是推理神器?清华上交大最新研究指出:RL 让大模型更会“套公式”、却不会真推理
一台3090就能跑Gemma 3 27B!谷歌发布Gemma 3全系QAT版模型
MIT 具身智能达人志
RSS 2025|ConRFT: 真实环境下基于强化学习的VLA模型微调方法
报名开启|ICLR 2025新加坡,蚂蚁集团闭门研讨会、交流晚宴等你来!
刚刚,豆包1.5·深度思考模型上线,特供「视觉版本」,大模型多模态推理的时代真来了
继VAE之后,Adam也拿到了ICLR 时间检验奖,OpenAI联创两次获奖
迈向推理时代:900+篇参考文献揭示长链思维的前世今生,最全综述来了
72B世界基座模型启动,小鹏的端到端智驾正在验证Scaling Laws
什么样的偏好,才叫好的偏好?——揭秘偏好对齐数据的「三驾马车」
1
0
希望看到您的想法,请您发表评论x