EN

多模态:视觉语言模型(VLM)

图像文本到文本模型又称视觉语言模型,接收图像输入,可处理多种任务。

核验日期

定义

图像文本到文本模型又称视觉语言模型(VLM),是接收图像输入的语言模型。这些模型可以处理多种任务,从视觉问答到图像分割。这一任务与图像到文本有许多相似之处,在图像描述等用例上有所重叠。

图像到文本模型只接收图像输入,通常完成特定任务;而 VLM 接收开放式的文本和图像输入,是更偏通用的模型。Transformers 的视觉语言模型指南简要概述了 VLM,并展示如何用 Transformers 进行推理。

一图看懂

VLM 有多种类型。Transformers 支持许多模型量化库,视觉语言模型指南只展示使用 Quanto 的 int8 量化。

  • 基础模型用于微调。
  • 对话微调模型用于对话。
  • 指令微调模型。
  • 使用 Quanto 在加载时量化模型,需要先创建 QuantoConfig。
  • 然后照常加载模型,但在模型初始化时传入量化配置。
  • 8-bit 不是 CUDA 原生精度,因此权重会即时来回量化,这会增加延迟。

原文没有明确这些要点的先后顺序,因此按要点列出,不画先后箭头。

工作原理

视觉语言模型指南的示例模型 Qwen/Qwen3-VL-4B-Instruct 带有聊天模板,有助于解析聊天输出。该示例模型还可以在单个对话或消息中接收多张图像作为输入。交替使用用户和助手角色,可以为模型提供先前的上下文,从而生成更好的回复。

Transformers 通过 TextStreamer 或 TextIteratorStreamer 类支持流式输出,文本流式输出用于获得更好的生成体验。在单独线程中处理生成,可以实时流式输出生成的文本 token。VLM 通常体积较大,需要经过优化才能适配较小的硬件。

多模态模型与纯文本模型一样,通过聊天模板跟踪对话历史。如果在应用模板时同时进行处理,由于 Jinja 无法区分先前已编码的输入和新输入,整个对话每一轮都会被重新处理。缓存可以复用跨轮次传入的图像或音频的编码表示,而不必每次重新处理,从而减少冗余计算。

例子

视觉语言模型指南的重点是使用指令微调模型进行推理。使用 Pipeline 时,需要指定图像文本到文本任务以及要使用的模型。也可以单独加载图像,再将它们传给 pipeline。

图像仍然会包含在输出的输入文本字段中。流式示例按常规预处理输入,并初始化 TextIteratorStreamer,在单独线程中处理生成。像 Qwen3-VL 和 Qwen3.5 这样的动态分辨率模型默认使用约 16MP 的最长边,每张图像可能产生 10,000 个以上视觉 token,并在消费级 GPU 上使推理停滞或内存不足。

加载处理器时设置最小和最大像素值,可以限制这种情况。图像文本到文本任务页面涵盖模型类型、用例、数据集等内容。

来源

本页内容整理自以下官方来源,点击可核对原文。

核验日期 ·

本页由 AI 依据上述官方来源整理,并经自动核对,未经本站实测。 发现错误?告诉我们。