基于 LLaMA-Factory 微调 ChatGLM3 模型实战
本文详细介绍如何使用 LLaMA-Factory 框架对智谱 AI 的 ChatGLM3 模型进行监督微调(SFT),包括环境配置、Web 界面操作、命令行参数详解、自定义数据集准备及常见问题处理。
1. 创建虚拟环境
建议使用 Conda 创建独立的 Python 环境,避免依赖冲突。
conda create -n chatglm3 python=3.10 -y
conda activate chatglm3
注意:ChatGLM3 推荐在 Python 3.10 环境下运行,CUDA 版本需与显卡驱动匹配。
2. 部署 LLaMA-Factory
(1)克隆项目
从 GitHub 获取最新代码:
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
(2)安装依赖
根据系统环境安装必要的库。推荐使用 requirements.txt 快速安装:
pip install -r requirements.txt
若遇到特定包版本冲突,可尝试指定版本安装,例如:
pip install transformers==4.37.0
pip install peft==0.8.0
(3)启动 Web UI
使用以下命令启动训练管理界面:
CUDA_VISIBLE_DEVICES=0 python src/train_web.py
启动成功后,浏览器访问 http://localhost:7860 即可看到控制面板。

3. ChatGLM3 模型微调配置
在 Web 界面中,选择 ChatGLM3 作为基座模型,并配置以下关键参数:
- Stage: 选择
sft(Supervised Fine-Tuning)。 - Model Name: 指向本地下载好的 ChatGLM3 模型路径。
- Finetuning Type: 推荐使用
lora,显存占用更低且训练速度快。 - Dataset: 选择或上传准备好的指令微调数据集。

点击'预览命令'可查看底层执行的 Python 脚本,便于调试和复现。
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
--stage sft \
--do_train \
--model_name_or_path /root/LLaMA-Factory-main/chatglm3 \
--dataset alpaca_gpt4_zh \
--template default \
--finetuning_type lora \
--lora_target q_proj,v_proj \
--output_dir path_to_sft_checkpoint \
--overwrite_cache \
--per_device_train_batch_size 4 \
--gradient_accumulation_steps 4 \
--lr_scheduler_type cosine \
--logging_steps 10 \
--save_steps 1000 \
--learning_rate 5e-5 \
--num_train_epochs 3.0 \
--plot_loss \
--fp16




