PaliGemma 2 发布说明

Google 发布了 PaliGemma 2,这是其视觉语言模型(VLM)的新迭代,集成了 SigLIP 图像编码器和最新的 Gemma 2 文本解码器。此更新将模型系列从单一的 3B 变体扩展到三种不同的规模,并引入了多种输入分辨率选项,以更好地平衡下游微调的质量和效率。

模型架构与变体

PaliGemma 2 将紧凑的 SigLIP 图像编码器连接到 Gemma 2 语言模型。可用的变体基于 Gemma 2 2B、9B 和 27B 模型,因此 PaliGemma 2 的参数规模为 3B、10B 和 28B(考虑了图像编码器的参数)。

为了提供不同使用场景的灵活性,每种模型规模支持三种输入分辨率:

  • 224x224
  • 448x448
  • 896x896

所有检查点均以 bfloat16 精度提供,并在 Gemma 许可证下分发,该许可证允许商业使用、重新分发以及创建模型衍生品。

预训练数据与能力

预训练(pt)模型旨在便于下游任务的微调。它们在多样化的数据混合上进行训练,以用更少的样本实现高性能适应。预训练数据集包括:

  • WebLI:多语言、网络规模的图像-文本数据集,用于视觉语义理解、对象定位和多语言性。
  • CC3M-35L:通过 Google Cloud Translation API 将英文图像-alt_text 配对翻译成 34 种其他语言。
  • VQ2A:翻译成 34 种其他语言的改进型问答数据集。
  • OpenImages:基于 OpenImages 数据集生成的检测和感知对象的问答。
  • WIT:来源于维基百科的图像和文本。

专门微调的变体:DOCCI

Google 已在 448x448 分辨率下发布了针对 3B 和 10B 模型在 DOCCI 数据集(图像-文本配对)上微调的特定变体。这些模型展示了强大的字幕生成能力,包括文本渲染、空间关系捕捉以及世界知识的整合。

根据技术报告,PaliGemma 2 在事实准确性方面相比之前的版本和其他模型有所提升(通过 Non Entailment Sentences 或 NES 衡量,数值越低越好):

模型 参数 平均字符数 平均句子数 NES (越低越好)
PaliGemma 3B 535 8.9 34.3
PaliGemma 2 (3B) 3B 529 7.7 28.4
PaliGemma 2 (10B) 10B 521 7.5 20.3
VILA 7B 871 8.6 28.6
LLaVA-1.5 7B 395 4.2 40.6

部署与量化

PaliGemma 2 通过 PaliGemmaForConditionalGenerationAutoProcessor API 与 Hugging Face transformers 库(版本 4.47 或更高)集成。

在 TextVQA 数据集(224x224 分辨率)上使用 3B 微调检查点进行测试表明,量化对准确性的影响很小:

  • bfloat16 (无量化):60.04% 准确率
  • 8-bit:59.78% 准确率
  • 4-bit (nf4):58.72% 准确率

微调与实现

PaliGemma 2 的微调 API 与原始 PaliGemma 保持完全一致,使得现有代码可以直接使用。Hugging Face 团队通过在三块 A100 (80GB) GPU 上使用 LoRA 对 PaliGemma 2 3B 模型的一部分 VQAv2 验证集进行微调,仅用 30 分钟即展示了模型的高效性。

Sources