LLaMA-Factory
开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt),指令微调(sft),基于人工反馈的对齐(rlhf)等全链路。但大模型训练对于显存和算力的要求较高,同时也需要下游开发者对大模型本身的技术有一定了解,具有一定的门槛。
LLaMA-Factory项目的目标是整合主流的各种高效训练微调技术,适配市场主流开源模型,形成一个功能丰富,适配性好的训练框架。项目提供了多个高层次抽象的调用接口,包含多阶段训练,推理测试,benchmark评测,API Server等,使开发者开箱即用。同时借鉴 Stable Diffsion WebUI相关,本项目提供了基于gradio的网页版工作台,方便初学者可以迅速上手操作,开发出自己的第一个模型。
LLaMA-Factory安装
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"
启动LLaMA-Factory WebUi
cd LLaMA-Factory
python src/webui.py
启动成功
浏览器访问127.0.0.1:7860
1、选择训练模型
本地模型可以去魔塔社区进行下载,
https://modelscope.cn/models
2、选择训练的数据集
加载自定义数据集
①编辑/LLaMA-Factory/data/dataset_info.json文件
格式
模型名称
"gl_data": {
"file_name": "gl_data.json" 数据集文件
},
②添加数据集文件
同样在/LLaMA-Factory/data 目录下
③web加载数据集文件
④web查看数据集文件
数据集文件格式定义
gl_data.json
instruction 是给予模型的任务指令,明确告知模型需要完成的具体任务;
input 是为了完成任务所需的用户提问或相关信息;
output 则是模型应产生的预期回答
[
{
"instruction": "什么门永远关不上?",
"input": "",
"output": "足球门"
},
{
"instruction": "小明晚上看文艺表演,为啥有一个演员总是背对观众?",
"input": "",
"output": "乐队指挥"
},
]
也可以自己去魔塔社区下载已有的数据集
3、开始训练本地大模型
4、验证训练后的大模型
在上方检查点选择我们的一个数据并点击chat进行测试
点击加载模型会出现一个对话窗口,现在我们进行一个测试
我们的大模型经过训练数据集的数据后。输出的回答。以上就是我们训练大模型的小案例
5、导出训练后的大模型
指定导出的大模型路径