LLaMA-Factory 微调多模态大模型 Qwen3-VL
1. 环境准备
- 显卡型号:NVIDIA GeForce RTX 3090 24G
- 显卡驱动:NVIDIA-SMI 535.171.04
- CUDA: 12.2, Driver Version: 535.171.04
微调 Qwen3-VL-2B 模型,至少需要 12G 显存。
2. 模型微调
本项目采用大型语言模型工厂(LLaMA-Factory)对大模型进行微调,目前支持 Qwen3 / Qwen2.5-VL / Gemma 3 / GLM-4.1V / InternLM 3 / MiniCPM-o-2.6 等大模型。以下以微调 Qwen3-VL-2B-Instruct 为例。
微调前请先下载 Qwen3-VL 基础模型。推荐使用 ModelScope 或 HuggingFace,国内建议优先使用 ModelScope 以避免网络问题。
# 使用 modelscope 下载模型 Qwen3-VL-2B-Instruct
# 模型默认保存在 ~/.cache/modelscope/hub/models/
modelscope download --model Qwen/Qwen3-VL-2B-Instruct
其他 Qwen3-VL 版本可参考 ModelScope 官方仓库。
安装 LLaMA-Factory 请参考官方文档:https://github.com/hiyouga/LLaMA-Factory
安装完成后激活环境,终端输入以下命令启动 WebUI(默认端口 7860):
export CUDA_VISIBLE_DEVICES=0 # 指定运行 GPU
export GRADIO_SERVER_PORT=30000 # 指定 gradio 的端口
export GRADIO_TEMP_DIR="~/.cache/gradio" # 指定 gradio 临时缓存路径
llamafactory-cli webui # 启动 llamafactory web 服务
浏览器打开 http://0.0.0.0:30000/,按如下配置信息:
- 模型名称:选择'Qwen3-VL-2B-Instruct',也可使用更大参数量模型如 7B。
- 模型路径:请填写服务器 Qwen3-VL-2B-Instruct 模型文件路径绝对地址。
- 模型下载源:可选择'modelscope'和'huggingface',国内建议选择'modelscope'。注意:选择'modelscope'时,模型路径必须填写绝对地址。
- 微调方法:建议选择'lora'。
- 数据路径:数据路径必须包含 dataset_info.json,默认为 LLaMA-Factory 项目的 ./data 路径。由于使用外部数据训练,数据路径设置为项目根目录./data 绝对路径。
- 数据集:数据集采样 sharegpt 格式,已构建一个多模态数据集 anomaly-train。
- 预览数据集:如果数据路径正常,点击'预览数据集'可查看数据。
- 开始训练:一切准备好后,点击开始训练。
3. 模型导出
基于 LoRA 训练的模型,默认输出目录只保存增量训练参数。需将原始基础模型与 LoRA 适配器参数合并,生成独立运行的完整模型。
#!/usr/bin/env bash
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/checkpoint-xxx
export_dir=saves/Qwen3-VL-2B-Instruct/lora/train/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


