VLM, Vision-Language Model

发布于:2025-06-14 ⋅ 阅读:(16) ⋅ 点赞:(0)

VLM

现代多模态模型一般采用以下三种架构策略

模型类型 架构组成 执行流程简述
VLM + LLM(分离) 图像 → VLM 编码
文本 → LLM 解码
图像由视觉模型编码后交给语言模型处理,例如 CLIP + GPT。较早期方式。
统一架构(VLM内含LLM)主流 图像编码器 + 文本解码器在同一个框架 输入图像与文本→共享 token 空间→LLM直接处理并生成。如 MedGemma、MedVLM。
仅调用 VLM 模型 图像 → 输出标签/嵌入 不涉及语言处理,仅用于分类或图像嵌入。

📘 什么是 VLM?

视觉语言模型(VLM, Vision-Language Model) 是一种能同时理解图像和文本的多模态模型,能够执行如图文问答(VQA)、图像字幕生成、图像推理、图文匹配、图文对话等任务。


🧠 实现原理框架

VLM 通常由两个主要模块组成:

1️⃣ 图像编码器(Vision Encoder)

  • 将图像转换为向量(token)表示。

  • 常用架构:

    • CLIP-ViT(OpenAI 的 Vision Transformer)
    • Swin Transformer(滑窗Transformer)
    • ResNet(早期常用)
  • 输出:一组图像 patch token,形如 [v₁, v₂, ..., vₙ]


2️⃣ 文本模块(Language Module)

  • 输入用户的文本(prompt),经过分词和嵌入,转为 [t₁, t₂, ..., tₘ]
  • 通常是基于 LLM 架构(如 GPT、LLaMA、Qwen)
  • 输出自然语言回答或解释

3️⃣ 融合机制(Multimodal Fusion)

图像 token 与文本 token 融合后输入语言模型。融合方式常见有:

方法 描述
Early Fusion 图像 token 和文本 token 合并后一起送入 LLM(如 LLaVA)
Cross-Attention 文本作为主流,图像 token 通过 cross-attn 融合进来(如 Flamingo)
Separate Encoder + Projection 图像经过 encoder 后用映射层转成 LLM 可识别的形式

⚙️ 推理流程示意

[图像输入] ──► Vision Encoder ──► 图像 Token
[文本输入] ──► Tokenizer      ──► 文本 Token
图文 Token 融合 ──► LLM 解码 ──► 输出回答 / 推理

🧪 训练方式

🧩 1. 监督微调(SFT)

  • 使用图像+文本对(如图文问答、caption)进行直接训练。

🎯 2. 对比学习(如 CLIP)

  • 学习图文嵌入空间,使图文成对更接近。

🚀 3. 强化学习(如 MedVLM-R1)

  • 使用 reward 函数激励模型输出结构化推理过程而不仅仅是最终答案。

💡 代表性模型

模型 结构说明 特点
CLIP(Contrastive Language–Image Pre-training) 图像 & 文本对比训练 检索与分类强。 OpenAI提出,通过对比学习对齐图像和文本特征,广泛用于零样本分类和检索任务。
BLIP-2(Bootstrapping Language-Image Pre-training) 图像编码器 + Qformer + LLM 可扩展多任务 。Salesforce开发,支持多种视觉语言任务,强调数据效率。
LLaVA CLIP + LLaMA + 图文 prompt 开源对话式图文问答
MiniGPT-4 CLIP + Vicuna 图文对话
MedVLM CLIP + LLM + RL优化 医学多模态,支持推理输出
Gemini 多模态 Transformer(闭源) 商业 SOTA 模型

✅ 总结:VLM 的核心设计原理

模块 技术核心
图像理解 Vision Transformer + Token 化
文本理解 LLM 结构(如 GPT、LLaMA、Qwen)
图文融合 token 拼接、cross-attn 或投影映射
训练方式 SFT、对比学习、强化学习
输出结构 最终答案 / 推理 + 答案

MedGemma

MedGemma(如 MedGemma-4B-Instruct) 是 Google 基于 Gemini/Gemma VLM 系列,针对医学图文任务做的微调模型。

https://huggingface.co/google/medgemma-4b-it

     图像(如X光、皮肤图)
            ↓
      Vision Encoder(ViT/GeminiVision)
            ↓
   图像特征转为视觉token(如 patch embeddings)
            ↓
       + 文本输入 prompt
            ↓
   MedGemma 解码器(LLM部分,Gemma架构)
            ↓
   输出回答 / 解释(自然语言形式)

处理机制总结:
图像+文本同时传入,经过一个统一的 Transformer。

图像编码器将图像嵌入作为提示信号提供给文本生成器。

Gemma-like 解码器直接使用 cross-attention 处理图文融合。

无需外接 LLM,MedGemma 本身就是 VLM+LLM 一体模型。

MedVLM-R1

MedVLM-R1 是一个专注于“医疗图文问答+推理”的强化学习微调模型,由多个 VQA 数据集训练强化(如 OmniMedVQA、VQA-RAD)。

https://huggingface.co/JZPeterPan/MedVLM-R1

     图像(如医学影像)
            ↓
     CLIP-ViT 图像编码器(冻结)
            ↓
     映射为视觉token(如 Qformer / Projection)
            ↓
     文本prompt(问题)
            ↓
     输入一并送入 LLM(如 LLaMA/Qwen)
            ↓
     文本生成回答(医学解释)

处理机制总结:
MedVLM 使用的是改进的 LLaVA 架构:图像嵌入经过映射层投射到语言模型 token 序列中。

LLM(如 LLaMA)作为主控单元,直接处理 fused token。

和 MedGemma 不同的是,MedVLM 使用 外部视觉编码器(CLIP-ViT) + LLM 连接方式,但最终行为也相当于 VLM+LLM 融合结构

对比总结

特性 MedGemma MedVLM-R1
模型类型 VLM+LLM 一体结构(Gemma架构) LLaVA 改进型结构(视觉 + LLM 融合)
图像编码器 ViT / Gemini Vision CLIP-ViT
文本生成模块(LLM) 内建 Gemma 解码器 LLaMA / Qwen 等自定义 LLM
输入格式 图像 + prompt 图像 + prompt
推理调用方式 AutoModelForImageTextToText AutoModelForCausalLM
图文融合方式 cross-attn 到 LLM decoder Vision token injected into language stream
是否需要外接LLM? ❌(完全内建) ✅(LLM 模块是显式组件)
多轮医学对话适配性 强(需微调) 非常强(R1强化学习后可多轮推理)
输出风格 更偏自然语言、结构化解释 更偏医学问答、VQA链式推理

输入“图片+问题”的 prompt,本质是同时经过图像编码器与语言模型融合处理,MedGemma 和 MedVLM 都已将 VLM+LLM 集成到一个模型中,推理时只需调用一次 generate() 接口

MedGemma-4B-Instruct:Gemma解码器统一处理图像与文本,内建VLM+LLM结构。
MedVLM-R1:CLIP图像编码+Qwen2-VL语言模型,LLaVA式结构融合图文。

参考资源

以下是学习和实现 视觉语言模型(VLM) 的权威资料与参考资源,涵盖论文、开源项目、教程与工具,适用于学术研究和开发实践:


📄 一、权威论文推荐

标题 链接 内容亮点
CLIP (Radford et al., 2021) arXiv:2103.00020 开创 VLM 方向的基础对比学习方法
BLIP-2 (Li et al., 2023) arXiv:2301.12597 图像编码 + Qformer + LLM,模块化结构
LLaVA (Liu et al., 2023) arXiv:2304.08485 端到端图文问答模型,基础 VLM 教科书
MiniGPT-4 arXiv:2304.10592 低成本实现 GPT-4 类图文对话
Flamingo (DeepMind, 2022) arXiv:2204.14198 强大的 Few-shot 多模态模型,cross-attn 核心
MedVLM-R1 (Pan et al., 2024) arXiv:2403.13691 用 GRPO 强化学习训练医学推理 VLM

🧑‍💻 二、开源项目推荐(代码实践)

项目名 地址 简介
LLaVA github.com/haotian-liu/LLaVA 最经典图文问答 VLM,结构清晰、社区活跃
BLIP-2 github.com/salesforce/BLIP 支持 BLIP, BLIP-2 的 Hugging Face 实现
MiniGPT-4 github.com/Vision-CAIR/MiniGPT-4 类 GPT-4 图文问答,适合快速上手
Qwen-VL github.com/QwenLM/Qwen-VL 阿里发布的 LLaVA-style 中文/多语种 VLM
MedVLM-R1 huggingface.co/JZPeterPan/MedVLM-R1 医学图文问答,GRPO训练示例代码

📚 三、教学与综述类资源

名称 类型 链接 内容
Multimodal LLM Survey (2023) 综述论文 arXiv:2306.05498 多模态模型研究综述(包括 VLM)
Visual ChatGPT 博文+代码 https://github.com/microsoft/visual-chatgpt 微软的图文对话系统
CS224N + CS231N 斯坦福课程 Stanford Online NLP 与视觉课程,理解 VLM 背后两部分
Hugging Face Tutorials 实践教程 Hugging Face Course 提供 vision + text 多模态模型加载与微调流程

🔬 四、医学多模态模型延伸资料

模型 链接 内容
MedCLIP https://github.com/RyanWangZf/MedCLIP 医学图文对比学习
MedBench / MultiMedBench https://github.com/luodian/mm-vet 医学 VQA 多任务评估工具集
MedLAM https://arxiv.org/abs/2403.02182 医学多模态 LLM 评估基准(中文)