文章目录
模型及数据: 模型下载 数据 LLaMA-Factory启动 拉取代码 启动webui 模型训练 数据导入 数据预览 设置模型路径 配置参数及参数的保存 开始训练 过程观察 加载模型、对话 模型导出、再次加载模型及数据:
模型下载
使用基于中文数据训练过的 LLaMA3 8B 模型:
Llama3-8B-Chinese-Chat: https://huggingface.co/shenzhi-wang/Llama3-8B-Chinese-Chat
可使用命令行下载
pip install -U huggingface_hub #设置加速
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat --local-dir /root/autodl-tmp/models/Llama3-8B-Chinese-Chat
数据
COIG-CQIA数据集小红书部分: https://huggingface.co/datasets/m-a-p/COIG-CQIA/tree/main/xhs
identity.json: https://github.com/echonoshy/cgft-llm/blob/master/llama-factory/data/identity.json
对小红书部分做了处理:Python:jsonl文件转json文件,并做字段处理-CSDN博客
最终所用数据:
https://github.com/towenzhi/quick-start-llm/tree/main/LLaMA-Factory/data
LLaMA-Factory启动
Github:https://github.com/hiyouga/LLaMA-Factory
LLaMA-Factory
同时提供了命令行和可视化页面两种使用方式,可以不急着训练,先启动页面看看所需参数以便了解。
拉取代码
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"
可选的额外依赖项: torch, torch-npu, metrics, deepspeed, bitsandbytes, hqq, eetq, gptq, awq, aqlm, vllm, galore, badam, qwen, modelscope, quality
这些依赖项可以等启动后再根据训练配置选装。
启动webui
在拉取到的目录下运行:
llamafactory-cli webui
启动后便可通过本机的7860端口打开面板http://localhost:7860
(若是远程GPU服务器,需要使用公网访问或ssh隧道代理到本地才行)。
模型训练
数据导入
已经将训练数据COIG-CQIA_xhs.json
、identity.json
放至/root/autodl-tmp/data
目录下。
接下来通过修改LLaMA-Factory项目下的/data/dataset_info.json
文件,来指定训练数据位置。
在该文件中新增如下内容,有关字段的解释可看
https://github.com/hiyouga/LLaMA-Factory/blob/main/data/README_zh.md
"COIG-CQIA_xhs": {
"file_name": "/root/autodl-tmp/data/COIG-CQIA_xhs.json",
"columns": {
"prompt": "instruction",
"query": "input",
"response": "output"
}
},
"identity": {
"file_name": "/root/autodl-tmp/data/identity.json",
"columns": {
"prompt": "instruction",
"query": "input",
"response": "output"
}
}
数据预览
若数据导入操作正确,则在面板中刷新数据集即可看到刚才新增的两个数据集选项。
并可点击预览查看。
并选中新增的两个数据集。
设置模型路径
开始时已经模型下载到/root/autodl-tmp/models/Llama3-8B-Chinese-Chat
目录,在上方选择对应模型并填入路径即可。
配置参数及参数的保存
设置完上述内容后即可作参数设置,并可以预览参数命令。
开始训练
过程观察
训练过程中可以观察在运行LLaMA-Factory终端的日志、损失图、以及系统资源占用情况。
可以安装apt install nvitop
观察GPU更方便。
加载模型、对话
待显示“训练完毕后”即可加载模型,使用对话观察效果。
在“检查点路径”处填写训练时设置的保存路径,然后在“chat”菜单中加载模型即可。
训练前:
训练后:
模型导出、再次加载
在“检查点路径”处填写训练时设置的保存路径,设置各项导出参数路径。
导出后的目录内容:
加载使用:
导出完毕后可以单独加载该模型对话,观察效果。
总结
### 文章总结本文详细介绍了使用LLaMA-Factory平台进行模型训练的全过程,主要包括模型与数据的准备、平台启动、模型训练、过程观察以及模型的加载、对话与导出。以下是步骤概要:
#### 1. **模型及数据准备**
- **模型下载**:从Hugging Face Hub获取基于中文数据训练的LLaMA3-8B中文聊天模型。
- **数据处理**:准备了COIG-CQIA数据集的小红书部分,以及identity.json数据,并进行了格式处理。
#### 2. **LLaMA-Factory平台启动**
- **拉取代码**:通过Git克隆LLaMA-Factory仓库并安装必要的Python依赖。
- **启动Web界面**:运行命令启动webui,通过浏览器访问进行后续操作。
#### 3. **模型训练**
- **数据导入**:将准备好的数据路径写入`dataset_info.json`文件,以被LLaMA-Factory识别。
- **数据预览**:在Web界面中刷新并预览数据确保无误。
- **模型路径设置**:指定模型文件的路径。
- **配置参数**:根据个人需求配置训练参数。
- **开始训练**:使用配置的参数启动训练过程。
#### 4. **过程观察**
- **日志与监控**:查看训练过程中的日志、损失图及资源使用情况。
- **使用工具监控GPU**:如`nvitop`,以便于实时了解GPU状态。
#### 5. **模型使用**
- **加载与对话**:训练完成后,通过检查点路径加载模型,并在Web界面中的聊天功能模块测试模型性能。
- **模型导出**:配置好导出路径后导出模型文件。
- **再度加载**:使用导出的模型进行独立的模型加载与测试,观察优化后的效果。
整个流程从模型准备到训练完成,再到模型的实际应用与导出,步骤详尽,适合希望使用LLaMA-Factory进行自然语言模型训练的用户参考。