PaliGemma 2 Mix 发布说明
Google 已发布 PaliGemma 2 mix,这是一系列经指令调优的视觉语言模型(VLM),旨在展示在多样化学术数据集上微调的预训练 PaliGemma 2 检查点的性能能力。虽然原始的 PaliGemma 2 预训练(pt)模型旨在作为特定下游任务的迁移学习的基础模型,但 mix 变体为广泛的视觉语言应用提供了通用基线。
模型架构和变体
PaliGemma 2 基于 SigLIP 视觉编码器和 Gemma 2 语言模型构建。mix 系列提供三种参数规模和多种分辨率,以在性能和计算效率之间取得平衡:
| 参数数量 | 分辨率选项 |
|---|---|
| 3B | 224x224, 448x448 |
| 10B | 224x224, 448x448 |
| 28B | 224x224, 448x448 |
模型同时提供 Hugging Face Transformers 和 JAX 框架版本。
核心能力和任务支持
PaliGemma 2 mix 模型能够处理四类主要的视觉语言任务:
- 通用视觉语言任务:包括视觉问答(VQA)和图像引用。
- 文档理解:聚焦于信息图表、图表和图示的 VQA。
- 文本识别(OCR):文本检测、为包含文本的图像添加标题以及在文本丰富的图像上进行 VQA。
- 定位:目标检测和图像分割。
提示策略
虽然 PaliGemma 2 mix 支持开放式提示以获得更好的性能,但它仍然与之前迭代中使用的任务特定前缀兼容。
开放式提示 建议用于大多数任务。然而,任务前缀 仍然有效,并遵循以下模式:
caption {lang}:简短的,类似 COCO 的标题。describe {lang}:详细的描述性标题。ocr:光学字符识别。answer {lang} {question}:关于图像内容的问答。question {lang} {answer}:基于给定答案的问题生成。
强制前缀:目标检测和图像分割需要特定的前缀才能工作:
detect {object description}:返回列出对象的边界框。segment {object description}; {object description}:为指定对象创建图像分割。
性能比较和评估
对 3B 和 10B 变体(分辨率为 448x448)的评估表明,更大的模型通常能提供更精确和详细的响应,特别是在复杂推理和文档理解方面。
- 通用 VQA:3B 和 10B 模型都能准确计数对象(例如,计数糖果),并提供描述性场景分析。
- 文档理解:10B 模型在分辨率敏感任务中表现出更高的准确性,正确识别了最佳变体(448px),而 3B 模型则给出了较不准确的响应。
- 文本识别:两种模型都表现出强大的 OCR 能力,能够从图像中准确提取日期、价格和复杂菜单文本。
- 定位:模型可以基于描述性提示(例如,“鸟在棒上”)检测和分割对象,而不仅限于简单的类别标签。
实施和微调
PaliGemma 2 mix 可以使用 Hugging Face transformers 库来实现。该过程涉及使用 PaliGemmaProcessor 进行输入处理,以及使用 PaliGemmaForConditionalGeneration 进行模型加载和 $ ext{bfloat16}$ 精度。
对于希望进一步自定义模型的用户,mix 检查点可以使用与预训练 PaliGemma 2 模型相同的方法进行微调。详细教程可通过 smol-vision GitHub repository 获得。