PaliGemma 视觉语言模型发布

Google 推出了 PaliGemma,这是一系列开源视觉语言模型(VLM),旨在处理图像和文本输入并生成文本输出。这些模型专为下游任务的微调而设计,而非用作通用对话代理。

模型架构与组件

PaliGemma 使用由视觉编码器和文本解码器通过线性适配器连接的组合架构:

  • 图像编码器: SigLIP-So400m,最先进的模型,联合在图像和文本上进行训练。
  • 文本解码器: Gemma-2B,纯解码器模型用于文本生成。
  • 集成: 线性适配器将 SigLIP 的图像嵌入投射到与 Gemma 使用的 2048 维嵌入相匹配。

模型变体与规格

Google 已发布 PaliGemma 的三种主要检查点类型,提供多种分辨率和精度:

检查点类型

  • 预训练 (PT): 用作特定下游任务微调的基础模型。
  • Mix: 在混合任务上微调的模型,适用于通用推理和研究。
  • 微调 (FT): 针对特定学术基准进行专门微调的模型,用于研究目的。

技术配置

  • 分辨率: 模型提供 224x224448x448896x896。更高的分辨率虽能提升细粒度任务(如 OCR)的性能,但会因更长的输入序列显著增加内存需求。
  • 精度: 检查点提供 bfloat16float16float32 三种精度。

核心能力

PaliGemma 是单轮模型,使用任务前缀(例如 “detect” 或 “segment”)来调节其行为。由 “mix” 检查点展示的关键能力包括:

  • 图像字幕: 根据提示为图像生成描述性文本。
  • 视觉问答 (VQA): 回答关于图像内容的具体问题。
  • 目标检测: 识别实体并提供边界框坐标。坐标以特殊的 <loc[value]> 标记输出(归一化到 1024),表示 y_min, x_min, y_max, x_max
  • 指代表达分割: 根据自然语言描述对实体进行分割,输出边界框和分割标记。
  • 文档理解: 对文档进行推理和信息提取(OCR-QA)。

性能基准

Mix 检查点

模型 MMVP 准确率 POPE 准确率(随机/流行/对抗)
mix-224 46.00 88.00 / 86.63 / 85.67
mix-448 45.33 89.37 / 88.40 / 87.47

微调 (FT) 检查点

模型名称 数据集/任务 分数
paligemma-3b-ft-vqav2-448 图表理解 85.64 在 VQAV2 上的准确率
paligemma-3b-ft-cococap-448 COCO 标题 144.6 CIDEr
paligemma-3b-ft-science-qa-448 科学问答 95.93 在 ScienceQA 图像子集上的准确率(无 CoT)
paligemma-3b-ft-refcoco-seg-896 对象引用 76.94 平均 IoU(refcoco)/ 72.18(refcoco+)/ 72.22(refcocog)
paligemma-3b-ft-rsvqa-hr-224 遥感 VQA 92.61 准确率(test)/ 90.58 准确率(test2)

推理与实现细节

数据处理流水线

  1. 文本处理: 输入文本被分词,前缀添加 <bos> 标记,并在末尾追加换行符 (\n) 标记。
  2. 图像处理: 使用双三次重采样对图像进行缩放。SigLIP 编码器生成图像嵌入(1152 维),线性投影器随后将其转换为 2048 维。
  3. 序列构建: 模型根据分辨率在前面添加固定数量的 <image> 标记:224 模型为 256,448 模型为 1024,896 模型为 4096。
  4. 生成: 模型对组合输入(图像 + bos + 提示 + \n)使用全块注意力,对生成的文本使用因果注意力。

部署与微调

PaliGemma 通过 PaliGemmaForConditionalGeneration 类集成到 Hugging Face transformers 库中。它支持通过 BitsAndBytesConfig 进行 4 位和 8 位加载,并兼容 PEFT 用于 LoRA 和 QLoRA 微调。对于使用原始 JAX 实现的用户,模型可通过 big_vision 代码库获取。

Sources