环境准备
硬件配置
- 显卡型号:NVIDIA GeForce RTX 3090 24G
- 驱动版本:NVIDIA-SMI 535.171.04
- CUDA 版本:12.2
提示:微调 Qwen3-VL-2B 模型,显存建议至少 12G。
模型微调
本项目使用 LLaMA-Factory 对大模型进行微调,目前支持 Qwen3、Qwen2.5-VL、Gemma 3、GLM-4.1V、InternLM 3、MiniCPM-o-2.6 等多种架构。下面以微调 Qwen3-VL-2B-Instruct 为例展开说明。
下载基础模型
微调前需先获取基础模型权重。国内用户推荐使用 ModelScope,避免网络波动问题。
# 使用 modelscope 下载 Qwen3-VL-2B-Instruct
# 默认保存路径:~/.cache/modelscope/hub/models/
modelscope download --model Qwen/Qwen3-VL-2B-Instruct
如需其他版本(如 4B、8B),可参考 ModelScope 官方仓库页面自行下载。
启动 WebUI
安装好 LLaMA-Factory 并激活环境后,通过命令行启动 Web 界面。默认端口为 7860,为避免冲突可自定义。
export CUDA_VISIBLE_DEVICES=0 # 指定运行 GPU
export GRADIO_SERVER_PORT=30000 # 修改 Gradio 端口
export GRADIO_TEMP_DIR="~/.cache/gradio" # 设置临时缓存路径
llamafactory-cli webui # 启动服务
浏览器访问 http://0.0.0.0:30000/,在界面中按以下逻辑配置:
- 模型名称:选择
Qwen3-VL-2B-Instruct,也可尝试更大参数量的模型。 - 模型路径:填写服务器上的绝对路径。
- 模型下载源:国内选
modelscope。注意:若选此选项,模型路径必须填绝对地址。 - 微调方法:推荐
lora。 - 数据路径:需包含
dataset_info.json。本例中使用外部数据集,路径设为项目根目录下的./data。 - 数据集:采样 ShareGPT 格式,例如
anomaly-train异常行为视频数据集。 - 预览与训练:确认无误后点击'预览数据集'检查加载情况,随后点击'开始'执行训练。
训练正常时,控制台会输出相应的日志信息。
模型导出
LoRA 训练完成后,输出目录仅保存增量参数。为了便于后续部署或分享,需要将原始基础模型与 LoRA 适配器合并为一个完整模型。
#!/usr/bin/env bash
# 合并 LoRA 与基础模型
CUDA_VISIBLE_DEVICES=0
model_name_or_path=~/.cache/modelscope/hub/models/Qwen/Qwen3-VL-2B-Instruct
adapter_name_or_path=saves/Qwen3-VL-2B-Instruct/lora/train_2025-12-22-18-08-22/checkpoint-440
export_dir=saves/Qwen3-VL-2B-Instruct/lora/train_2025-12-22-18-08-22/Qwen3-VL-2B-Instruct
llamafactory-cli \
--model_name_or_path \
--adapter_name_or_path \
--template default \
--finetuning_type lora \
--export_dir \
--trust_remote_code True


