为什么要用LLaMa-Factory
如果你尝试过微调大模型,你就会知道,大模型的环境配置是非常繁琐的,需要安装大量的第三方库和依赖,甚至需要接入一些框架。
但是大模型微调的方法又是非常类似的,那有没有一种工具可以统一这些操作,让大模型微调变成一个简单易上手的事情,LLaMa-Factory就是为了解决这个问题应运而生
什么是LLaMa-Factory
本来不想说这么多废话的,想来想去还是简单介绍一下,也加深自己的了解:
LLaMA Factory是一款支持多种LLM微调方式的工具,包括预训练、指令监督微调和奖励模型训练等。它支持LoRA和QLoRA微调策略,广泛集成了业界前沿的微调方法。特点在于支持多种LLM模型,提供了WebUI页面,使非开发人员也能方便进行微调工作。
代码地址:LLaMA-Factory
LLaMa-Factory环境搭建
- 克隆项目
git clone https://github.com/hiyouga/LLaMA-Factory.git
- 1
- 创建环境
conda create -n llama_factory python=3.10
conda activate llama_factory
- 1
- 2
- 安装依赖
cd LLaMA-Factory
pip install -e .[torch,metrics]
- 1
- 2
- 启动web UI界面
export CUDA_VISIBLE_DEVICES=0
python src/webui.py
- 1
- 2
启动成功之后,游览器会打开如下界面:
微调LLaMA3
- 准备模型
方法一:克隆我们要微调的模型到本地,然后将在web UI界面填入我们的模型名称和本地的模型地址
git clone https://www.modelscope.cn/LLM-Research/Meta-Llama-3-8B-Instruct.git
- 1
方法二:直接去魔塔Meta-Llama-3-8B-Instruct地址复制对应的文件名和路径,微调时,程序会自动去魔搭下载模型!
(这个方法小编浅浅试了一下,没成功,还是下载到本地靠谱)
- 准备数据集
LLaMA-Factory项目内置了丰富的数据集,统一存储于data目录下。
如果你想基于自己的数据集微调,你需要
(1)将你的数据集也放到data目录下
注意:你需要将你的数据集改为一样的格式,具体可参考data下内置数据集的格式
这里提供一个小编基于LooksJuicy/ruozhiba数据集改好的一个数据集:
https://pan.baidu.com/s/1FYYlBIXWy697xdagrHiIeg
提取码:2333
(2)修改data下的dataset_info.json文件,添加如下内容:
其中my_data.json是我自己的数据集文件,my_data是对应的数据集文件名
"my_data": {
"file_name": "my_data.json"
},
- 1
- 2
- 3
添加到第一层大括号内的第一个元素前,也就是identity前面
- 微调
这里我直接通过web ui界面进行微调
训练需要二十分钟左右,训练完成之后,会出现下述界面:
左下角会显示训练完毕,右边会出现训练过程中损失变化的一个可视化
- 与微调之后的模型对话
这样看来,使用LLaMa-Factory微调确实很简单方便!!!