它支持10多种图像和文本任务,包括20多种数据集,还提供SOTA模型性能和可重复的预训练和微调实验配置。
没错,可以拥有一个可视化的语言深度学习框架。
这个库的真面目是Salesforce亚洲研究院推出的LAVIS。
而且统一了接口,降低了开发成本和入门门槛。
最重要的是:开源!
LAVIS完全持有可视化语言任务,数据集和模型。
如果还是看不出它的优势,就不多说了,看看LAVIS和现有多模态库的对比图就知道了。
相比之下,现有的可视化语言框架只容纳少量的任务和数据集,就逊色了。
除此之外,LAVIS还附带了丰富的开源资源和工具例如,它提供了一个图形工具,可以可视化数据集的样本,以便更好地预览和理解数据
除了LAVIS,还有GUI演示,它有很多功能。
拉维斯有什么特别之处。来看看吧~
站立式视觉语言框架
拉维斯可以用四,十,二十三个数字来概括。
先说第四种,这表示LAVIS支持四种领先的基本可视化语言模型架构,包括ALBEF,BLIP,CLIP和ALPRO。
ALBEF和CLIP主要支持图像文本任务,Alpro持有视频拷贝任务,BLIP可以为这两种任务提供支持。
正是有了这些视觉语言模型作为基础,LAVIS才能运行十多种视觉语言任务。
具体来说,它可以执行图形描述,图像书籍检索,视频书籍检索,图像问答,视频问答,多模态分类,多模态图像,视频对话,视觉语言推理,多模态预训练等真实任务。
此外,LAVIS还具有多模态特征提取功能。
谈完模型架构和任务,我们缺少数据集,但是不用担心,因为LAVIS可以支持二十多个数据集。
如果想实现所有任务,可以找一个合适的数据集进行训练。
可是,这些只是LAVIS的公开菜品,它还憋了一个大招:
统一界面。
这对初学者和跨学科研究者来说相当友好许多深度学习库的模型和针对一组数据集的任务评估的接口不一致,导致学习成本高
统一接口后,模型训练和评估会大大简化,重复开发的成本可以最大化。
话说回来,这里的统一接口具体方便在哪里。
它分为两部分。
第一部分是加载数据集和模型的统一接口还可以通过统一的界面加载模型及其相关的预处理程序,从而方便用户自定义数据的分析和推断
第二部分是用于多模态特征提取的统一接口,这对于端到端微调离线应用特别有用通过更改名称和模式,用户可以选择使用不同的模型架构和预训练的权重
这样,用户可以用LAVIS提供的load_model,load_dataset键加载所需的模型和数据集。
比如加载COCO字幕数据集,只需要输入load _ dataset,您只需要输入model = load _ model来加载BLIP字幕模型。
此外,LAVIS可以定制数据进行训练,给开发者足够的空间来研究新的模型,新的多模态能力和新的场景。
但是,如何才能实现像LAVIS这样的一站式可视化语言框架呢。
模块结构
其实从LAVIS的结构可以看出,LAVIS深度学习库的整体结构非常简单,可以用三个字来概括:模块化。
在整个库中,关键组件在被组织之前被模块化。
通过这种方式,可以访问开箱即用的单个组件,快速开发它,并轻松集成新组件或外部组件,以及模型推理,如多模态特征提取。
到底是什么样的我们可以一起看看
LAVIS分为六个关键模块。
核心是跑者模块,负责管理整个训练评估过程RunnerBase和RunnerIters也有各自的职责,一个负责基于纪元的训练,一个负责迭代训练
任务模块将为每个任务执行特定的训练和评估逻辑,以适应特定的任务。
顾名思义,数据集负责创建数据集。
在models模块中,它保存了它支持的四个模型的定义和共享模型层。
处理器模块用于处理多通道输入的预处理处理器将输入的图像,视频和文本转换成模型可以使用的形式
常见的是LAVIS提供的工具包和一些应用。
这些模块相互依赖,从而形成一个简单统一的库,使得模型的训练和评估更加容易访问支持的模型和数据集,并扩展新的模型,任务和数据集
目前开发者表示,LAVIS会不断更新维护,未来会支持越来越强大的视觉语言预训练模型和更多的视觉语言任务,比如文本图像生成。
听完是不是心痒难耐。
下面有开源链接和详细文档。感兴趣的朋友可以试试~
—结束—