Qwen-VL-Series-Finetune

用自有数据微调 Qwen-VL,快速得到专用视觉大模型

这是阿里云 Qwen-VL 系列多模态大模型的开源微调实现,面向需要让视觉语言模型适配自有数据的开发者。项目支持 Qwen2-VL、Qwen2.5-VL、Qwen3-VL 等多个版本,覆盖从数据准备、训练配置到推理验证的完整流程。核心能力包括 LoRA 与全参数微调、多图与视频输入、自定义数据集格式、分布式训练支持,并针对显存占用做了优化,让单卡或多卡环境都能跑起来。它解决的是通用 VLM 在垂直领域表现不足的问题,比如特定行业图像理解、文档解析、图表问答等场景,用户可用自己的标注数据快速得到专用模型。项目结构清晰、脚本化程度高,降低了多模态微调的工程门槛。

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1968
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类模型训练
开发团队2U1
所属国家
官网地址
定价模式free
价格说明开源免费,需自行部署
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型multimodal,qwen2-5-vl,qwen2-vl,qwen3-5,qwen3-vl,vision-language,vision-language-model,vlm
GitHub 星标★ 1968
30天Star增速
HF 下载量
上线时间2024-09-10 00:00:00
最近更新2026-09-18 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:进阶 约 30 分钟 部署方式:Docker 5 步

环境要求

  • Docker 环境(用于拉取官方预构建镜像)
  • 支持 NVIDIA GPU 并可用 --gpus all(需已安装 nvidia-container-toolkit)
  • 依赖 HuggingFace 与 Liger-Kernel,对应版本为 transformers==5.3.0、liger_kernel==0.8.0
  • 镜像内已配置名为 train 的 conda 环境

安装与启动步骤

  1. 1拉取预构建镜像

    README 提供了预构建训练环境,直接拉取镜像即可省去手动配环境的步骤。

    docker pull john119/vlm
  2. 2启动训练容器

    用 --gpus all 开启 GPU,-v 挂载宿主机数据与代码目录,--ipc=host 避免共享内存不足。

    docker run --gpus all -it -v /host/path:/docker/path --name vlm --ipc=host john119/vlm /bin/bash
  3. 3激活训练环境

    进入容器后切换到镜像内预置的 conda 环境 train,所有训练依赖都在该环境中。

    conda activate train
  4. 4调整图像视频分辨率

    默认使用原图分辨率,显存吃紧时按 token*28*28 调小像素数;Qwen3-VL 需按 token*32*32 计算。

    --image_min_pixels $((256 * 28 * 28))
    --image_max_pixels $((1280 * 28 * 28))
    --video_min_pixels $((128 * 28 * 28))
    --video_max_pixels $((768 * 28 * 28))
  5. 5用 Trainer 启动训练

    在训练脚本中通过 QwenSFTTrainer 组装模型、处理器、训练参数与数据模块;需要指标时加上 compute_metrics。

    trainer = QwenSFTTrainer(
        model=model,
        processing_class=processor,
        args=training_args,
        compute_metrics=compute_metrics,
        **data_module
    )

关键配置

配置项必填说明示例
image_min_pixels图像输入的最小像素数,控制小图显存与速度$((256 * 28 * 28))
image_max_pixels图像输入的最大像素数,值越大效果通常越好但更耗显存$((1280 * 28 * 28))
video_min_pixels视频帧的最小像素数,用于视频训练场景$((128 * 28 * 28))
video_max_pixels视频帧的最大像素数,视频数据建议压得更小$((768 * 28 * 28))
image_resized_width直接指定图像宽度来控制显存占用448
image_resized_height直接指定图像高度,与宽度配套使用448

如何确认成功

容器成功进入 bash 并能 conda activate train,说明预构建训练环境已就绪。

常见问题

Q:显存不够怎么办?

A:降低 --image_max_pixels、--video_max_pixels,或直接用 --image_resized_width/height 指定更小的分辨率。

Q:为什么 Qwen3-VL 的像素倍数不一样?

A:Qwen3-VL 按 token*32*32 切图,其余模型为 token*28*28,需按对应倍数计算像素值。

Q:可以不用 Docker 吗?

A:README 只给出了 Docker 预构建环境的使用方式,未提供 pip 等本地安装步骤,需自行准备依赖。

Q:-v 挂载路径怎么写?

A:格式为 /host/path:/docker/path,冒号左边是宿主机目录,右边是容器内目录,按实际路径替换。

注意事项

  • 设置的分辨率数值会被四舍五入到 28 的最近倍数。
  • 建议保留 --ipc=host,避免多卡或大数据加载时的共享内存问题。
  • README 未给出独立训练脚本的调用命令,训练需在脚本内使用 QwenSFTTrainer 组装。

核心亮点

  • 覆盖 Qwen2-VL、Qwen2.5-VL、Qwen3-VL 多个版本,跟进官方模型迭代及时
  • 同时支持 LoRA 与全参数微调,并提供显存优化方案,单卡也能起步
  • 数据准备、训练、推理脚本齐全,多图与视频输入场景有现成示例

不足之处

  • 训练配置项较多,新手需要一定时间理解参数含义
  • 文档以英文为主,中文使用者的上手成本略高

适用场景

  • 用行业标注数据微调模型,做特定领域的图像理解与问答
  • 微调文档或票据解析模型,提升结构化信息抽取准确率
  • 训练视频理解模型,用于监控、教学等时序视觉任务

替代项目

LLaVA、ms-swift、xtuner

项目介绍

Qwen-VL-Series-Finetune 是一个模型训练领域的开源项目,官方简介:An open-source implementaion for fine-tuning Qwen-VL series by Alibaba Cloud.。项目使用 Python 开发,在 GitHub 上获得 1969 星标。

上一篇:notebooks

下一篇:quaterion

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 61694 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1279 2026-08-13