LLaMA Factory 多模态微调实践
一、前提准备:环境与数据深度适配
(一)运行环境技术规格
1. 硬件配置底层逻辑
- GPU 选型依据:
- 推荐 24GB 显存的 A10(ecs.gn7i-c8g1.2xlarge)。
- 核心原因:Qwen2-VL-2B 模型加载后显存占用约 8-10GB,全参微调过程中梯度计算、优化器状态存储需额外 10-12GB 显存,24GB 可避免显存溢出(OOM)。
- 若使用 16GB 显存的 T4 等型号,需启用梯度检查点(gradient checkpointing),但会增加约 20% 训练时间。
- CPU 与内存配套:
- 建议 8 核 CPU + 32GB 内存,避免数据加载(尤其是图像预处理)成为训练瓶颈。
- 若内存不足会导致数据加载卡顿,拖慢整体训练效率。
2. 镜像环境组件解析
选择 云端开发环境镜像,其核心优势在于:
- 预装 PyTorch 2.3.0 + CUDA 12.1,支持 FlashAttention-2 加速(Qwen2-VL 已适配),可提升 30% 以上的训练速度;
- 内置 ModelScope SDK,无需额外安装即可直接调用社区模型与数据集;
- 包含 OpenCV、Pillow 等图像处理库,满足多模态数据预处理需求,避免手动安装依赖时的版本冲突。
(二)LLaMA Factory 安装深度操作
1. 项目拉取与依赖清理
# 拉取项目时指定深度为 1,仅获取最新代码,减少下载体积
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
# 卸载冲突依赖:accelerate 0.30+ 版本与 LLaMA Factory 0.9.0 存在兼容性问题,vllm 为大模型推理库(微调无需),matplotlib 仅用于可视化(Web UI 已集成)
pip uninstall -y accelerate vllm matplotlib
# 安装指定版本依赖,确保版本匹配:llamafactory 0.9.0 是经过验证的稳定版本,兼容 Qwen2-VL 模型
pip install llamafactory==0.9.0
# 补充安装图像预处理依赖(部分环境可能缺失)
pip install pillow opencv-python torchvision
2. 安装验证与问题排查
- 运行
llamafactory-cli version后,若输出llamafactory 0.9.0则安装成功。 - 若出现
ModuleNotFoundError,需检查:- 是否在 LLaMA-Factory 目录下执行命令;
- 虚拟环境是否激活(开发环境默认激活,若手动创建环境需重新激活);
- 网络是否通畅,可尝试更换 PyPI 源(如
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple llamafactory==0.9.0)。
(三)数据集预处理与格式规范
1. 自定义数据集格式详解
LLaMA Factory 多模态数据集需满足 JSON 列表格式,每条样本必须包含 conversations(对话内容)和 (图像路径)两个字段,字段约束如下:

