Kosmos-1: 通用接口架构下的多模态大语言模型

news2024/11/24 7:06:43
Kosmos-1: 通用接口架构下的多模态大语言模型
FesianXu 20230513 at Baidu Search Team

前言

在大规模语言模型(Large Language Model, LLM)看似要带来新一番人工智能变革浪潮之际,越来越多尝试以LLM作为通用接口去融入各种任务的工作,之前我们在[2]中曾经对其进行过简单介绍,比如尝试用LLM去控制浏览器、搜索引擎甚至是机械臂等。本文介绍的工作kosmos-1是LLM与多模态信号结合的一种尝试,对笔者有所启发,在此给大家进行推荐。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注明出处,谢谢

∇ \nabla 联系方式:

e-mail: FesianXu@gmail.com

github: https://github.com/FesianXu

github page: https://fesianxu.github.io/

知乎专栏: 计算机视觉/计算机图形理论与应用

微信公众号:机器学习杂货铺3号店


笔者曾在博文 [3] 中对MetaLM [4] 进行过介绍,而本文待要介绍的Kosmos [1,5]系列工作则是在MetaLM的设计思路下进行的进一步优化,具体来说就是继承了MetaLM中采用因果语言模型作为通用任务接口,采用各种子任务编码器1对各类型输入数据进行编码的范式。在Kosmos系列中,范式保持了一致,模型也无特别变化,主要升级点在数据方面,Kosmos 1.0在MetaLM纯文本数据和图文对数据的基础上,引入了图文交织数据(image-text interleave data),使之具有了更强的in-context learning能力;而Kosmos 2.0则在Kosmos 1.0的基础上引入了图文基准数据(image-text grounding data),使之具有了图文基准(grounding)、图文指代(referring)的能力,我们下文就依次进行讨论。

图文交织数据,指的是多张相关的图片穿插在文本中,笔者在博文 [6] 中曾经讨论过Flamingo模型对于交织数据的使用,感兴趣的读者可移步阅读。为何在Kosmos 1.0中要引入图文交织数据呢?故事回到了该论文的标题,“Language is not all you need: Aligning perception with language models.”,想必大家都关注到了加粗的那两个词,“对齐感知”,而这是当前LLM中很火的一个话题。图文交织数据比起图文对数据,前者的上下文信息更为充足,能从多个角度对穿插在文中的图片进行多角度解释,也即是“对齐感知”的程度更加彻底,反观后者,图文对数据多是对互联网中图片的alt-text文本等进行处理后收集得到的,亦或是在搜索引擎中对用户的行为分析后收集得到,具有很大的噪声,光用图文对数据训练的模型,对齐能力因此也会受到极大的限制。图文交织数据有如此大的好处,那么我们要如何采集这类型数据呢?如Fig 1 (a)所示,一种可行的方法是采集用户在聊天软件中的对话,由于当前主流聊天软件已经支持非常丰富的多模态输入(如图片、语音、视频、文本等),因此通过合适的筛选可以获取非常丰富的图文交织数据。当然,从聊天软件中采集需要对聊天纪录进行爬取,对于个人或者研究机构来说,都可能面临资源和法律风险,因此适合于某些聊天软件/社区大厂的使用(比如腾讯的QQ和微信)。对于一般的研究者和机构来说,采集网页中的图文交织数据更有性价比,如Fig 1 (b)所示,通过爬取公开的网页,对DOM进行解析后可以清理出图文交织数据。显然,来自于聊天和网页的图文交织数据分布差异很大,目前公开论文工作看到的都是后者,而笔者暂时没发现以前者方式收集的,猜测是多在大厂内部使用而未公开,因此笔者暂无法对这两者的优劣特点进行分析。从笔者的猜测来看,基于聊天的图文交织数据会更加的口语化,因此用于训练chat bot等基于多轮对话的应用模型来说,是一个更好的选择,而基于网页的内容则可能更加权威,适合做一些世界模型的探索。

在这里插入图片描述

Fig 1. 来自于聊天的图文交织数据和来自于网页的图文交织数据示例。

在kosmos 1.0中,作者在原始20亿级别的网页快照中筛选了7100万网页(英文网页)2,然后从挑选出的网页中提取出文字和图片,对于每个网页会将提取图片的数量限制在5张以内以减少噪声和冗余,同时随机舍弃掉了一半只含有一张图片的网页,最终将这些提取出来的文字和图片构建成图文交织数据。最终kosmos 1.0将这些图文交织数据和纯文本数据、图片文本对数据一起用于训练,如Fig 2所示,从公开数据看都是采用的英文语料进行训练的。
在这里插入图片描述

Fig 2. Flamingo 1.0所采用的的数据类型。

在经过这些数据进行预训练后,作者将kosmos 1.0在很多语言任务、跨模态迁移、IQ测试、感知——语言任务、视觉任务等上进行了zero-shot/few-shot测试,这些指标大多都达到了SOTA水平,具体的实验结果笔者就不在博客里面陈列了,笔者注意到的是在试验部分展现得到几个点。第一,作者将kosmos 1在OCR-free 语言理解任务中进行了测试,所谓的OCR-free指的是不另外对图片中的文本信息进行OCR提取后处理,而是直接将原始图片输入到模型中端到端计算。作者在 Rendered SST-2和HatefulMemes中进行了测试,如Fig 3所示,可以看到Flamingo 1.0在OCR-free文本理解任务上有一定的优势,这意味着Flamingo 1.0的视觉模型能一定程度上感知到图片中OCR语义。笔者之前在训练CLIP的时候已经发现了CLIP模型具有一定的OCR-free能力,从Flamingo 1.0的实验结果来看将视觉模型和语言模型结合后,同样能继承这种能力,这是否意味着以后文本输入甚至也可以作为视觉输入的一种进行统一化呢?毕竟人类对于文本还是图片的感知都由眼睛作为感受器接受信息,本质上都是视觉信息,这值得我们思考。
在这里插入图片描述

Fig 3. OCR-free文本理解任务。

作者在将kosmos 1.0用在评估多模态任务时候,采用了多模态思维链(Multimodal Chain of Thought, MCoT)技术,如Fig 4所示,通过对图文输入进行CoT提示后,能提高一些问答的准确性。笔者理解其本质是通过对图片的视觉信息进行CoT提示后,能获取很多额外和图片相关信息,这些信息可能并不完全是对图片的直接视觉信息描述,而是会包含一些和图片的底蕴、历史背景、社会背景等相关的信息 [7],笔者称之为延伸语义。如Fig 4的例子所示,通过CoT提示词让模型介绍图片细节,可以知道这幅图片是来自于电影WALL-E中,这个信息可能来自于大量的图文预训练数据中,而从大量的文本预训练数据中,模型又可以知道WALL-E这部电影由皮克斯动画工作室出品,从而最终能得到正确答案。因此在多模态思维链技术中,笔者认为是结合了图文、文本预训练数据的综合优势的,而这优势对于模型性能而言可能并不是线性提升的,而是指数级提升的。如Fig 5所示,采用了多模态思维链技术后,在Render SST-2任务上有5.8%的可观提升。

在这里插入图片描述

Fig 4. 标准prompt技术和多模态思维链prompt技术对比。

在这里插入图片描述

Fig 5. 采用了多模态思维链技术后,在Render SST-2任务上有5.8%的贡献。

当然,多模态大语言模型首先是一个语言模型,因此评估MLLM的纯语言任务能力也是一个值得探索的事情,这能让我们观察LLM在引入多模态能力的过程中是否会灾难性遗忘掉其语言建模的能力。如Fig 6所示,作者对比了kosmos-1和LLM结果的对比,可以发现大多数任务上的结果和LLM持平(平均值偏低些),而有些任务上甚至还有优势,这说明引入多模态信息不会影响LLM对于文本能力的建模。

在这里插入图片描述

Fig 6. kosmos-1模型与LLM模型在纯语言任务上的对比。

同时,作者尝试引入了纯文本的指令微调,如Fig 7所示,即便只是采用了纯文本的指令微调,在大部分数据集上都能带来客观的性能收益,这似乎证实了指令微调数据的重要作用,能有效提高模型指令跟随(Instruction-following)的能力,在后续的一些工作,如InstructBLIP [8], LLaVa[9]中尝试引入多模态的指令微调数据,而这又是后话了。

在这里插入图片描述

Fig 7. 从实验中能看到指令微调在Flickr30k、VQAv2、VizWiz等数据集下的收益。

如Fig 8所示,其实kosmos-1在论文中是作为一种通用模型接口框架下的多模态大模型进行叙述的,如之前在MetaLM [3]中的解释,通过一个因果语言模型去承接来自不同模态的输入,因此理论上kosmos-1的输入除了文本和图片外,还可以是视频、音频等,然而本作中并没有进一步试验。同时,笔者似乎也没在原文中看到有关于对交织图文数据有效性的消融试验,但是笔者还是愿意相信该数据带来的收益,特别是in-context任务上的收益,未来如何更好的收集图文交织数据也是值得关注的点。
在这里插入图片描述

Fig 8. Kosmos-1是一个通用接口框架下的多模态大模型。

Reference

[1]. Huang, Shaohan, Li Dong, Wenhui Wang, Yaru Hao, Saksham Singhal, Shuming Ma, Tengchao Lv et al. “Language is not all you need: Aligning perception with language models.” arXiv preprint arXiv:2302.14045 (2023). short for Kosmos 1

[2]. https://blog.csdn.net/LoseInVain/article/details/130500648,增强型语言模型——走向通用智能的道路?!?

[3]. https://blog.csdn.net/LoseInVain/article/details/136161262, 《【论文极速读】MetaLM:一种融合因果语言模型和非因果语言模型的方法》

[4]. Hao, Yaru, Haoyu Song, Li Dong, Shaohan Huang, Zewen Chi, Wenhui Wang, Shuming Ma, and Furu Wei. “Language models are general-purpose interfaces.” arXiv preprint arXiv:2206.06336 (2022). aka MetaLM

[5]. Peng, Z., Wang, W., Dong, L., Hao, Y., Huang, S., Ma, S., & Wei, F. (2023). Kosmos-2: Grounding Multimodal Large Language Models to the World. arXiv preprint arXiv:2306.14824. aka Kosmos 2

[6]. https://blog.csdn.net/LoseInVain/article/details/136072993, 《【论文极速读】Flamingo:一种交织图文的视觉语言大模型方法》

[7]. https://fesianxu.github.io/2023/03/04/story-of-multimodal-models-20230304/, 《视频与图片检索中的多模态语义匹配模型:原理、启示、应用与展望》

[8]. Liu, Haotian, Chunyuan Li, Yuheng Li, and Yong Jae Lee. “Improved baselines with visual instruction tuning.” arXiv preprint arXiv:2310.03744 (2023). aka InstructBLIP

[9]. Liu, Haotian, Chunyuan Li, Qingyang Wu, and Yong Jae Lee. “Visual instruction tuning.” Advances in neural information processing systems 36 (2024). aka llava


  1. 此处的子任务编码器,由于在MetaLM中主要是采用基于MLM训练的Transformer模型进行文本和图片编码,因此也被称之为非因果语言模型。 ↩︎

  2. 筛选规则包括过滤掉所有非英文网页,将无图片的网页去除,将网页中所有分辨率小于 64 × 64 64 \times 64 64×64的图片去除,将所有单色图片去除等,同时也会将无意义的网页去除,比如垃圾邮件等。 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WordPress建站入门教程:小皮面板phpstudy如何安装PHP和切换php版本?

小皮面板phpstudy支持的PHP版本有很多,包括5.2.17、5.3.29、5.4.45、5.5.9、5.6.9、7.0.9、7.1.9、7.2.9、7.3.4、7.3.9、7.4.3、8.0.2、8.2.9。那么我们如何安装其他的php版本和切换网站的php版本呢?只需要简单几步即可,具体如下&#xff1a…

JavaWeb - 2 - HTML、CSS

什么是HTML、CSS? HTML(HyperText Markup Language):超文本标记语言 超文本:超越了文本的限制,比普通文本更强大,除了文字信息,还可以定义图片、音频、视频等内容 标记语言&…

不用下载的工具却能保存西瓜视频的原画视频,支持无水印!

近年来,西瓜视频可谓是炙手可热,得益于其强大的后盾——抖音,以及推出的"中视频计划"。这个计划慷慨地斥资20亿用于支持视频制作者,因此在西瓜视频平台上,我们目睹了大量优质的长视频如雨后春笋般涌现。 对于…

SpringCloud 各自组件的停更/升级/替换

一、停更不停用 现在 SpringCloud 不再修复 bug,也不再接收合并请求,也不再发布新版本,但是目前还是可以继续使用的。 二、以前的组件 以前 SpringCloud 常用的组件如下图,服务的注册和发现使用 Eureka,服务的负载和调…

工业镜头的重要参数之视场、放大倍率、芯片尺寸--51camera

今天来简单介绍下工业镜头中常用的参数中的三个: 1、视场 视场(FOV)也称视野,是指能被视觉系统观察到的物方可视范围。 对于镜头而言,可观察到的视场跟镜头放大倍率及相机芯片选择有关。因此需要根据被观察物体的尺寸&#xff…

threejs展示glb模型

原模型为rvt模型 <template><div ref"threeJsContainer"class"three-js-container"></div> </template> <script> import { defineComponent } from "vue"; import * as THREE from "three"; import…

如何选择阿里云服务器配置,过来人说说

阿里云服务器配置怎么选择&#xff1f;CPU内存、公网带宽和系统盘怎么选择&#xff1f;个人开发者或中小企业选择轻量应用服务器、ECS经济型e实例&#xff0c;企业用户选择ECS通用算力型u1云服务器、ECS计算型c7、通用型g7云服务器&#xff0c;阿里云服务器网aliyunfuwuqi.com整…

C++核心编程之内存分区模型,引用,函数提高

1&#xff0c;类型分区模型 c程序在执行中&#xff0c;将内存大方向划分为4个区域 1&#xff0c;代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理的 2&#xff0c;全局区&#xff1a;存放全局变量和静态变量以及常量 3&#xff0c;栈区&#xff1…

【学习笔记】java项目:黑马头条(day01)

文章目录 环境搭建、SpringCloud微服务(注册发现、服务调用、网关)1)课程对比2)项目概述2.1)能让你收获什么2.2)项目课程大纲2.3)项目概述2.4)项目术语2.5)业务说明 3)技术栈4)nacos环境搭建4.1)虚拟机镜像准备4.2)nacos安装 5)初始工程搭建5.1)环境准备5.2)主体结构 6)登录6.1…

Openfeign+Ribbon+Hystrix断路器(服务降级)

热部署对于Hystrix的热不是不是很明显 所以最好修改代码之后重启服务 简介 在微服务架构中存在多个可直接调用的服务,这些服务若在调用时出现故障会导致连锁效应,也就是可能让整个系统变得不可用,这种情况我们称之为服务雪崩效应. 服务雪崩效应通常发生在微服务架构中&…

应用监控 eBPF 版:实现 Golang 微服务的无侵入应用监控

作者&#xff1a;古琦 在现代软件架构中&#xff0c;微服务已成为构建可扩展和灵活应用程序的流行方式。每个微服务负责应用程序的一部分功能&#xff0c;它们共同工作以提供完整的服务。由于微服务架构的分散特性&#xff0c;监控变得至关重要&#xff0c;有效的微服务监控是…

缺陷检测:使用PatchCore训练自己的数据集

文章目录 前期准备两种方法 演示运行结果 代码详解见缺陷检测–PatchCore的代码解读 前期准备 必须包含有训练图片&#xff08;无缺陷图片&#xff09;、测试图片&#xff08;缺陷图片&#xff09;和ground_truth&#xff0c;并且ground_truth必须与对应图片的名称相同。 本文…

python_读取txt文件绘制多条曲线II

从给定的列表中来匹配txt文件对应列的数据&#xff1b; import matplotlib.pyplot as plt import re from datetime import datetime from pylab import mplmpl.rcParams["font.sans-serif"] ["SimHei"] # 设置显示中文字体 mpl.rcParams["axes.un…

STM32用标准库做定时器定时1秒更新OLED的计数值(Proteus仿真)

首先新建proteus工程&#xff0c;绘制电路图&#xff1a; 然后赋值我之前文章中提到的文件夹OLED屏幕显示&#xff1a;&#xff08;没有的自己去那篇文章下载去&#xff09; 然后进入文件夹&#xff1a; 新建两个文件在Mycode文件夹中&#xff1a; 文件关系如下&#xff1a; 新…

lowcode-engine接入编辑器

https://lowcode-engine.cn/site/docs/guide/create/useEditor 方案1 pnpm init pnpm add "alilc/create-elementlatest"pnpm create "alilc/element" editor-project-name选择编辑器 进入执行pnpm install命令安装包 pnpm start报错 pnpm add &qu…

springboot-异步、定时、邮件任务

一、异步任务 1、创建项目 2、创建一个service包 3、创建一个类AsyncService 异步处理还是非常常用的&#xff0c;比如我们在网站上发送邮件&#xff0c;后台会去发送邮件&#xff0c;此时前台会造成响应不动&#xff0c;直到邮件发送完毕&#xff0c;响应才会成功&#xff…

高校的虚拟仿真实训室为何要创建数字人实训室?

随着教育信息化、数字化的不断发展&#xff0c;虚拟仿真实训室不再仅限于vr虚拟仿真实训室&#xff0c;数字人实训室也逐步应用于教育领域。 高校虚拟仿真实训室创建数字人实训室课堂&#xff0c;具有两大作用&#xff1a; 1.获得隐形实践知识 在虚拟仿真实训室环境下&#xf…

2024Java开发现状分析,字节java面试题

1. 前言 最近面试了几家公司&#xff0c;体验了一下电话面试和今年刚火起来的视频面试&#xff0c; 虽然之前就有一些公司会先通过电话面试的形式先评估下候选人的能力水平&#xff0c;但好像不多&#xff0c;至少我以前的面试形式100%都是现场面试。 面试过程中&#xff0c…

QT和OPENGL安装和集成

1.QT安装 1.1官网下载&#xff1a; 网址&#xff1a;https://download.qt.io/archive/qt/ 1.2 开始安装 点击运行 首先注册sign up 然后Login in 选择安装目录 改为D盘&#xff1a; 选择安装项&#xff1a; 准备安装 开始安装&#xff1a; 安装完成&#xff1a; 1.3测试 …

小白如何选择阿里云服务器配置?小白不怕

阿里云服务器配置怎么选择&#xff1f;CPU内存、公网带宽和系统盘怎么选择&#xff1f;个人开发者或中小企业选择轻量应用服务器、ECS经济型e实例&#xff0c;企业用户选择ECS通用算力型u1云服务器、ECS计算型c7、通用型g7云服务器&#xff0c;阿里云服务器网aliyunfuwuqi.com整…