让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技术所有文章,如无特殊说明或标注,均为本站作者原创发布。任何个人或组织,在未征得作者同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
原创不易,内容版权受保护,感谢您的尊重与支持。

1人评论了“【模型训练】在AutoDL上使用LLamaFactory进行模型训练”

发表评论

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

分类文章

推荐活动

推荐文章

甲骨文「暴涨与暴跌」背后:万字解密AI豪赌困局
全国首批,商汤大装置SenseCore获工信部软件供应链安全能力评估优秀级认证
清华刘知远团队论文:在严格可控环境下重新回答「强化学习能否教会大模型新能力」丨ICLR 2026
清华刘知远团队论文:最小化结构改动,短文本到长文本丝滑升级 | ICLR 2026
商汤大装置SenseCore原生AI云平台获信通院5A卓越级认证
具身智能生态大会现场实录:以人机交互为中心,探索脑机接口与具身智能康复解决方案
对标 Genie 3,蚂蚁灵波开源世界模型 LingBot-World,10分钟长视频无损生成
蚂蚁灵波开源具身大模型LingBot-VLA,跨本体跨任务泛化能力创新高
卢宗青团队新作:人类先验打底,统一动作对齐,通用机器人模型正在落地
人大高瓴赵鑫团队新作:先拆掉 RLVR,再重建推理模型训练
滚动至顶部