镜像社区
部署GPU实例
文档中心
常见问题(FAQ)
LLM
WebUI
LLaMA-Factory-YingHuoAI
LLaMA-Factory(v0.9.2)大模型训练环境,内置WebUI启动器和API启动器,以及常用的6B、7B、8B、9B模型。
0/小时
v1.0

启动实例

在“控制台” - “实例列表”,找到对应的实例,点击对应实例“应用”的“JupyterLab”,在启动器中启动LLaMA-Factory:

显示 * Running on local URL: http://0.0.0.0:7860* 代表启动成功。

回到实例列表页面,点击对应实例“应用”中的“LLaMA-Factory”,即可在浏览器打开。

选择基础模型

语言:zh,因为我们要微调的是中文模型。

模型选择:GLM-4-9B-Chat

模型路径:/root/LLaMA-Factory/models/glm-4-9b-chat,默认会自动下载模型,不过速度可能比较慢,我的镜像中已经下载好几个模型,直接填写路径更快。

内置模型列表:

  • chatglm3-6b
  • glm-4-9b-chat
  • Meta-Llama-3.1-8B-Instruct
  • Qwen2-7B-Instruct
  • Yi-1.5-9B-Chat

微调方法:lora

image

准备训练数据集

LLaMA-Factory自带了一些常用的数据集,如果你使用的数据集不在里边,可以修改 data/dataset_info.json,在其中增加自己的数据集。

这里我使用的是一个弱智吧问答数据集,数据集的格式是 alpaca,来源:https://huggingface.co/datasets/LooksJuicy/ruozhiba

image

大家准备自己的数据的时候,也一定要按照指定的格式来。

训练参数设置

训练参数需要根据实际训练效果进行调整,这里给出一个参考设置。

image

数据集:请根据你的需要选择,这里选择我上边定义的 ruozhiba_qa。

学习率:1e-4,设置的大点,有利于模型拟合。

计算类型:如果显卡较旧,建议计算类型选择fp16;如果显卡比较新,建议选择bf16。

梯度累计:2,有利于模型拟合。

image

LoRA+学习率比例:16,相比LoRA,LoRA+续写效果更好。

LoRA作用模块:all**,**表示将LoRA层挂载到模型的所有线性层上,提高拟合效果。

开始训练

根据训练方法和训练数据的大小,训练需要的时间不定。

image

推理测试

在“检查点路径”这里加载刚刚训练的LoRA模型,然后切换到“Chat”页签,点击“加载模型”。

测试完毕后,记得点击“卸载模型”,因为模型占用显存比较大,不释放的话,再进行别的任务可能会出错。

image

对比训练前后的变化:

训练前:

image

训练后: image

这是一个比较感性的测试,如果需要更为正式的效果评估,请使用“Evaluate & Predict” 选择合适的评测数据集进行评估。

image

合并导出模型

有时候我们需要把模型导出来放在别的地方使用,输出一个完整的模型文件,而不是基础模型+LoRA模型。

image

检查点路径:训练出来的LoRA模型

导出目录:设置一个服务器上的路径,新的模型会存放到这里。

最后点击“开始导出”就行了。导出完毕后,请前往服务器相关的路径中下载模型。

LLaMA-Factory 架构

最后送大家一张 LLaMA-Factory 的架构图,方便理解其原理。

image

图片左侧:显示了 LLaMA-Factory 的架构,分为四个主要部分:LlamaBoard、Trainer、Model Loader 和 Data Worker。

  • LlamaBoard:用于参数配置和训练状态监视。
  • Trainer:负责优化和训练方法的选择,如 LoRA+、GaLoRe、Pre-train、SFT 等。
  • Model Loader:负责模型初始化、补丁、量化和适配器等功能。
  • Data Worker:负责加载、对齐、预处理和合并训练数据。

图片右侧:列出了支持的流行语言模型和大小,以及支持的训练方法。

  • 支持的语言模型和大小:LLaMA、LLaMA-2、LLaMA-3、Command-R、Mistral/Mixtral、OLMo、Phi-1.5/2、Qwen、DeepSeek (MoE)、Falcon、Gemma/CodeGemma 和 StarCoder2。
  • 支持的训练方法:全量调整、冻结调整、LoRA、QLoRA、奖励建模、PPO 训练、DPO 训练、ORPO 训练。

总体上来说,LLama-Factory 的使用还是挺顺利的,没有太多的坑。

听不如见,见不如做,自己动手,才能真正有所感悟!

镜像信息
@萤火君
已使用
61
镜像大小50GB
最近编辑2025-04-08
支持卡型
RTX40系309048G RTX40系
+3
框架版本
PyTorch-2.4.0
CUDA版本
12.1
应用
JupyterLab: 8888
版本
v1.0
2025-04-08
PyTorch:2.4.0 | CUDA:12.1 | 大小:50.00GB