启动 LLaMA-Factory
1. 安装 LLaMA-Factory
执行安装指令
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"
解决依赖冲突
如果遇到依赖冲突,可使用以下命令安装,不安装依赖项:
pip install --no-deps -e .
检查依赖冲突:
pip check
发现 pytorch 版本不匹配,LLaMA-Factory 需要 PyTorch 2.5.1,而当前环境为 2.3.x,退出后更改服务器镜像重登后解决问题。
2. 启动 LLaMA-Factory WebUI
执行以下命令启动 WebUI:
llamafactory-cli webui
训练 AI 题库
1. 上传数据集
将训练数据上传至 LLaMA-Factory 指定目录。
2. 修改数据集注册文件
编辑 LLaMA-Factory/data/dataset_info.json
,配置数据集信息。
3. 下载模型(使用千问 1.5B)
from modelscope import snapshot_download
snapshot_download('Qwen/Qwen2.5-1.5B-Instruct',cache_dir="/mnt/workspace/model_data")
4. 配置参数训练
调整训练参数,优化 GPU 资源使用率。
5. 查询 GPU 资源占用率
pip3 install --upgrade nvitop
nvitop
根据 GPU 内存占用率调整 batch size,建议 GPU 占用率接近 90% 以提高训练速度。例如,24G 显卡可设定 batch size 为 12。
6. 训练评估
损失函数
观察损失函数曲线,判断模型收敛情况。
主观评估
评估指标
训练后的模型评估指标如下:
{"predict_bleu-4": 53.12,"predict_model_preparation_time": 0.0062,"predict_rouge-1": 100.0,"predict_rouge-2": 46.29,"predict_rouge-l": 100.0,"predict_runtime": 44.29,"predict_samples_per_second": 1.219,"predict_steps_per_second": 0.113
}
预测质量指标
- BLEU-4:53.12(衡量生成文本和参考文本的匹配度)
- ROUGE-1:100.0(单个词匹配度)
- ROUGE-2:46.29(双词组匹配度)
- ROUGE-L:100.0(最长公共子序列匹配度)
推理性能指标
- 模型准备时间:0.0062 秒
- 推理时间:44.29 秒
- 每秒样本数:1.219
- 每秒推理步骤数:0.113
评估总结
- 文本生成质量 需要优化,可通过增加训练数据或优化超参数提升。
- 推理性能 较慢,可调整 batch size 或优化计算资源。
7. 合并导出模型
模型训练完成后,可以进行合并并导出。
测试导出模型的加载情况,确保其可用性。
可能遇到的问题
1. 训练结果与部署效果不一致
- 训练时的对话模板与部署时的对话模板不匹配。
- 需要指定正确的模板,例如:
vllm serve <model> --chat-template deepseek3.jinja
2. 训练效果不理想
可能的原因包括:
- 模型选择:可能需要更适合的基础模型。
- 训练轮次:训练次数不足。
- 训练集质量:数据可能存在噪声或格式问题。
部署 LLaMA-Factory
1. 启动模型服务
vllm serve /mnt/workspace/model_data/Qwen/Qwen2.5-1.5B-Instruct-finish-merge
2. 配置 Open WebUI 进行部署
安装 Open WebUI
pip install open-webui
设置环境变量
export HF_ENDPOINT=https://hf-mirror.com
export ENABLE_OLLAMA_API=False # 禁用 OLLAMA API
export OPENAI_API_BASE_URL=http://127.0.0.1:8000/v1
启动 Open WebUI
open-webui serve
部署运行效果
成功后,可以在浏览器访问 WebUI 进行交互。
总结
- 安装 LLaMA-Factory,解决 PyTorch 版本冲突。
- 训练 AI 题库,上传数据集、下载预训练模型、优化 GPU 使用。
- 评估训练结果,分析 BLEU/ROUGE 评分和推理性能。
- 部署模型,使用 VLLM 启动服务,配置 Open WebUI 进行交互。