LLaMA-Factory 微调 DeepSeek-R1 模型实战指南
使用 LLaMA-Factory 进行大模型微调具有显著优势。它不仅简化了训练流程,支持全量调参、LoRA 等多种策略及 DPO、PPO 等对齐方案,还提供了一站式服务,涵盖从量化到运行的全流程。此外,该工具内置了详细的训练监控指标(如 Loss 曲线、BLEU 等),能有效帮助用户评估模型性能。
环境准备
依赖安装与配置
首先确保 Python 版本在 3.9 以上,推荐 3.10。进入项目目录后,需安装基础依赖:
pip install -r requirements.txt
pip install -e ".[torch,metrics]"
若需使用 GPU 加速,请安装 CUDA 支持的 PyTorch 版本(以 CUDA 11.8 为例):
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c nvidia
注意: 在 Windows 平台开启 QLoRA 量化时,需安装预编译的 bitsandbytes 库。请根据本地 CUDA 版本选择对应的 wheel 文件下载并安装。
启动可视化界面:
llamafactory-cli webui
若遇到无法访问 localhost 的错误,可能是 Gradio 分享设置问题。可修改源码中的 interface.py,将 share=gradio_share 改为 share=True,并确保未开启网络代理干扰。
数据集准备
数据获取与清洗
本教程以微信聊天记录风格化为例。我们需要先将原始对话数据导出为 JSON 格式,并进行合并与清洗。
- 数据导出:使用相关工具将聊天记录导出为 JSON 或 TXT 格式。
- 数据合并:编写脚本将所有分散的 JSON 文件合并为一个主文件。
import os
import json
folder_path = r'<your_data_path>'
json_files = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.json'):
json_files.append(os.path.join(root, file))
merged_data = []
for file in json_files:
with open(file, 'r', encoding='utf-8') as f:
try:
data = json.load(f)
merged_data.append(data)
except json.JSONDecodeError:
()
(, , encoding=) f:
json.dump(merged_data, f, indent=, ensure_ascii=)
()


