Salesforce Research 开源 LAVIS 语言视觉统一库
Salesforce Research 最近开源了 LAnguage-VISion (LAVIS),这是一个用于深度学习语言视觉研究的统一库。LAVIS 支持 20 个公共数据集上的 10 多种语言视觉任务,并包含 30 多个微调模型的预训练权重。
LAVIS 的主要特点
- 模块化设计:允许轻松集成新模型,并提供标准的模型推理接口。
- 内置模型:使用公共数据集训练,研究人员可以将 LAVIS 作为评估自己原创工作的基准,或直接用于 AI 应用。
- 实用工具:包括下载和浏览常见公共训练数据集的实用程序和 GUI。
开发背景
Salesforce 团队开发 LAVIS 的目的是为了让更多人能够接触到新兴的语言视觉智能和功能,促进其实际应用,并减少未来开发中的重复工作。
多模态深度学习模型
多模态深度学习模型,特别是执行语言视觉任务的模型,是当前的研究热点。InfoQ 曾报道过多个先进模型,如 OpenAI 的 CLIP 和 DeepMind 的 Flamingo。然而,Salesforce 的研究人员指出,由于“跨模型、数据集和任务评估”的不一致性,训练和评估这些模型对于新手来说可能会很困难。此前,Microsoft 的 UniLM 和 Meta 的 MMF 和 TorchMultimodal 也尝试过创建类似的工具包。
LAVIS 支持的任务
LAVIS 支持七类语言视觉任务:
- 端到端预训练
- 多模态检索
- 图像字幕生成
- 视觉问答
- 多模态分类
- 视觉对话
- 多模态特征提取
这些任务由基于四个基础模型的微调模型执行,包括 OpenAI 的 CLIP 和 Salesforce 开发的 ALBEF、BLIP 和 ALPRO。
LAVIS 的高级架构
LAVIS 的高级架构包括模型、文本和图像输入的预处理程序。以下是一个使用 LAVIS 为图像生成字幕的示例代码:
import torch
from lavis.models import load_model_and_preprocess
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model, vis_processors, _ = load_model_and_preprocess(name="blip_caption", model_type="base_coco", is_eval=True, device=device)
image = vis_processors["eval"](raw_image).unsqueeze(0).to(device)
model.generate({"image": image})
开发者工具
除了预训练模型,LAVIS 还为有兴趣开发新模型的研究人员提供了多种工具,包括下载训练和测试数据集的脚本、训练和评估包含模型的代码,以及测试数据集上的基准结果。文档中还包括如何向库中添加新模块的教程,包括数据集、预处理器、模型和任务。
最新进展
Salesforce 正在积极开发 LAVIS,最近新增了一个视觉问答模型 PNP-VQA。该框架专注于零样本学习,通过预训练的图像模型生成“问题引导”的字幕,并将其传递给预训练的语言模型作为回答问题的上下文。根据 Salesforce 的说法,该模型在 VQAv2 数据集上优于 80B 参数的 Flamingo 模型。
资源获取
LAVIS 的源代码可在 GitHub 上获取,还提供了多个 Jupyter 笔记本,展示了其在各种语言视觉任务中的使用。基于 Web 的 GUI 演示即将推出。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。