🌠Qwen3-VL:如何运行指南

学习如何使用 Unsloth 本地微调并运行 Qwen3-VL。

Qwen3-VL 是 Qwen 的新视觉模型,具有 指令式思考 版本。2B、4B、8B 和 32B 模型为密集模型,而 30B 和 235B 为 MoE。235B 思考 LLM 提供了与 GPT-5(高)和 Gemini 2.5 Pro 竞争的最先进视觉和编码性能。 Qwen3-VL 拥有视觉、视频和 OCR 能力,并支持 256K 上下文(可扩展到 1M)。 Unslotharrow-up-right 支持 Qwen3-VL 微调和 强化学习. 使用我们的免费 笔记本.

运行 Qwen3-VL微调 Qwen3-VL

🖥️ 运行 Qwen3-VL

要在 llama.cpp、vLLM、Ollama 等中运行该模型,推荐以下设置:

⚙️ 推荐设置

Qwen 为两个模型推荐了这些设置(Instruct 与 Thinking 略有不同):

指令(Instruct)设置:
思考(Thinking)设置:

温度 = 0.7

温度 = 1.0

Top_P = 0.8

Top_P = 0.95

presence_penalty = 1.5

presence_penalty = 0.0

输出长度 = 32768(最高可达 256K)

输出长度 = 40960(最高可达 256K)

Top_K = 20

Top_K = 20

Qwen3-VL 在其基准测试中也使用了以下设置,如在 GitHub 上所述arrow-up-right.

指令(Instruct)设置:

export greedy='false'
export seed=3407
export top_p=0.8
export top_k=20
export temperature=0.7
export repetition_penalty=1.0
export presence_penalty=1.5
export out_seq_length=32768

思考(Thinking)设置:

export greedy='false'
export seed=1234
export top_p=0.95
export top_k=20
export temperature=1.0
export repetition_penalty=1.0
export presence_penalty=0.0
export out_seq_length=40960

🐛聊天模板错误修复

在 Unsloth,我们最关心准确性,因此我们调查了为什么在运行 Thinking 模型的第 2 回合后,llama.cpp 会出现崩溃,如下所示:

错误代码:

terminate called after throwing an instance of 'std::runtime_error'
  what():  Value is not callable: null at row 63, column 78:
            {%- if '</think>' in content %}
                {%- set reasoning_content = ((content.split('</think>')|first).rstrip('\n').split('<think>')|last).lstrip('\n') %}
                                                                             ^

我们已成功修复了 VL 模型的 Thinking 聊天模板,因此我们重新上传了所有 Thinking 的量化模型和 Unsloth 的量化模型。它们现在在第 2 次对话后应该都能正常工作 - 其他量化模型在第 2 次对话后将无法加载。

Qwen3-VL Unsloth 上传:

自 2025 年 10 月 30 日起,llama.cpp 已支持 Qwen3-VL 的 GGUF,因此您可以在本地运行它们!

📖 Llama.cpp:运行 Qwen3-VL 教程

  1. 获取最新的 llama.cpp此处的 GitHubarrow-up-right。您也可以按照下面的构建说明进行操作。如果您没有 GPU 或仅想使用 CPU 推理,请将 -DGGML_CUDA=ON 更改为 -DGGML_CUDA=OFF 。如果您没有 GPU 或仅想使用 CPU 推理,请设置为关闭。

  1. 我们先获取一张图片! 您也可以上传图片。我们将使用 https://raw.githubusercontent.com/unslothai/unsloth/refs/heads/main/images/unsloth%20made%20with%20love.pngarrow-up-right,这只是我们展示如何用 Unsloth 制作微调的迷你徽标:

  1. 让我们下载这张图片

  1. 然后,使用 llama.cpp 的自动模型下载功能,针对 8B Instruct 模型可以尝试如下:

  1. 进入后,您将看到以下界面:

  1. 通过以下命令加载图片 /image PATH/image unsloth.png 然后按回车键

  1. 当您按下回车时,它会显示“unsloth.png image loaded”

  1. 现在让我们问一个问题,例如“这张图片是什么?”:

  1. 现在通过以下命令加载图片 2: /image picture.png 然后按回车并询问“这张图片是什么?”

  1. 最后让我们询问两张图片之间的关系(可用!)

  1. 您也可以通过以下方式下载模型(在安装 pip install huggingface_hub hf_transfer ) 之后使用 HuggingFace 的 snapshot_download ,这对大型模型下载很有用, 因为 llama.cpp 的自动下载器可能会较慢。 您可以选择 Q4_K_M 或其他量化版本。

  1. 运行模型并尝试任何提示(prompt)。 对于 Instruct:

  1. 对于 Thinking:

🪄运行 Qwen3-VL-235B-A22B 和 Qwen3-VL-30B-A3B

对于 Qwen3-VL-235B-A22B,我们将使用 llama.cpp 进行优化推理并提供大量选项。

  1. 我们遵循与上面类似的步骤,但这次由于模型非常大,还需要额外步骤。

  2. 通过以下方式下载模型(在安装 pip install huggingface_hub hf_transfer ) 之后。您可以选择 UD-Q2_K_XL 或其他量化版本。

  3. 运行模型并尝试一个提示。为 Thinking 与 Instruct 设置正确的参数。

指令(Instruct):

思考(Thinking):

  1. 编辑, --ctx-size 16384 用于上下文长度, --n-gpu-layers 99 用于指定要在 GPU 上卸载的层数。如果您的 GPU 内存不足,请尝试调整该值。如果仅使用 CPU 推理,请移除该参数。

circle-check

🐋 Docker:运行 Qwen3-VL

如果您已经安装了 Docker 桌面版,要从 Hugging Face 运行 Unsloth 的模型,请运行下面的命令即可:

或者您可以运行 Docker 上已上传的 Qwen3-VL 模型:

🦥 微调 Qwen3-VL

Unsloth 支持 Qwen3-VL 的微调和强化学习(RL),包括更大的 32B 和 235B 模型。这包括对视频和目标检测微调的支持。如往常一样,Unsloth 使 Qwen3-VL 模型训练速度提高 1.7 倍,显存减少 60%,上下文长度增加 8 倍且无准确性下降。 我们制作了两个 Qwen3-VL(8B)训练笔记本,您可以在 Colab 上免费训练:

circle-check

GRPO 笔记本的目标是使视觉语言模型通过强化学习在给定如下图像输入时解决数学问题:

此 Qwen3-VL 支持还集成了我们最新的更新,以实现更省内存且更快速的强化学习,包括我们的 待机(Standby)功能,它在与其他实现相比时独特地限制了速度下降。您可以通过我们的 VLM GRPO 指南.

阅读更多关于如何使用强化学习训练视觉 LLM 的内容,

多图像训练

convert_to_conversation,

ds_converted = [convert_to_converation(sample) for sample in dataset]

最后更新于

这有帮助吗?