基于LLama-Factory的Qwen3大模型Lora微调教程与数据集使用

modelscope

我们使用 ModelScope(魔塔)提供的免费算力资源:点击个人头像进入“个人中心”,选择“我的 Notebook”。在魔塔平台的免费实例中,有两个环境可选 —— PAI-DSW 和阿里云弹性加速计算 EAIS。建议选择 PAI-DSW,因其显存更高、运行速度更快。
创建实例







预装镜像选择 Ubuntu 22.04 版本中的任意一个即可。点击左下角的启动创建实例。点击“查看Notebook”进入到控制台,选择Terinal进入到终端。
下载llamafactory







拉取llamafactory项目,拉取完成之后,进入文件夹内。
下载相关依赖
出现环境冲突可以使用
LLaMA-Factory 校验

完成安装后,可以通过使用 llamafactory-cli version
来快速校验安装是否成功,出现版本号就说明安装成功了。
数据处理




llamafactory下有一个data目录,其中的dataset_info.json是连接用户自定义数据集与模型训练流程的关键配置文件,dataset_info.json 包含了所有经过预处理的 本地数据集 以及 在线数据集,在其中可以添加我们自己的内容让模型去学习。
其中有两种格式的数据集,分别为Alpaca和ShareGPT,今天主要讲的内容是Alpaca格式。
其中我使用的是指令监督微调,指令监督微调(Instruct Tuning)通过让模型学习详细的指令以及对应的回答来优化模型在特定指令下的表现。
instruction
列对应的内容为人类指令, input
列对应的内容为人类输入, output
列对应的内容为模型回答。下面是一个例子
在进行指令监督微调时, instruction
列对应的内容会与 input
列对应的内容拼接后作为最终的人类输入,即人类输入为 instruction\ninput
。而 output
列对应的内容为模型回答。 在上面的例子中,人类的最终输入是:
模型的回答是:
模型训练配置文件






LLaMA Factory 的模型训练配置文件统一存放在 examples/ 目录下,涵盖多种训练方式(如 SFT、LoRA、DPO、PPO 等),方便用户根据需求快速选择和修改。
其中重要的参数有:
model_name_or_path | 模型的名称或者地址 |
stage | 训练的方式 |
template | 训练模版 |
output_dir | 训练完成后的结果保存地址 |
dataset | 要给模型的数据,有本身提供的内容也可以上传自己的数据集按照格式即可 |
learning_rate | 学习率,通常设置在1e-5到5e-5之间 |
num_train_epochs | 训练轮次 |
训练模型






初次训练会先下载模型,时间较长后续就不会下载模型。训练完成的模型会保存在'saves/qwen3-8b/lora/sft'下。
模型推理













