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

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的图片去除,将所有单色图片去除等,同时也会将无意义的网页去除,比如垃圾邮件等。 ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3中指定组件名称:可以使用插件vite-plugin-vue-setup-extend

第一步:安装vite-plugin-vue-setup-extend插件 第二步:修改vite.config.ts文件配置

通过MNIST手写数字识别任务快速入门深度学习(事无巨细版)

可点此跳转看全篇 本文内容 什么是深度学习入门深度学习时的困惑典型的入门案例——CNN实现的MNIST手写数字识别虚拟环境的创建创建虚拟环境配置需求的依赖包代码1. 引入依赖包2. 准备数据集datasets3. 准备数据加载器dataloader4. 配置网络5. 设置训练器6. 网络训练7. 模型保存…

URL?后参数有特殊字符问题

前端对于URL的参数不做处理 不处理、用URLDecoder.decode()处理、用URLEncoder.encode()处理、用URLEncoder.encode()处理后再用URLDecoder.decode()处理 结果 前端对于URL的参数用encodeURIComponent(‘XF-OPPZZD-26*316’)处理 结果 前端不处理有&字符时 结果会把后…

【PyQt】16-剪切板的使用

文章目录 前言一、代码疑惑快捷键 二、现象2.1 复制粘贴文本复制粘贴 2.2 复制粘贴图片复制粘贴 2.3 复制粘贴网页 总结 前言 1、剪切板的使用 2、pycharm的编译快捷键 3、类的属性和普通变量的关系 4、pyqt应该养成的编程习惯-体现在代码里了,自己看看。 一、代码…

CTP-API开发系列之四:接口对接准备

CTP-API开发系列之四:接口对接准备 CTP-API开发系列之四:接口对接准备CTP-API文件清单CTP-API通用规则命名规则Spi与Api CTP-API通讯模式开发语言选择 CTP-API开发系列之四:接口对接准备 CTP-API文件清单 文件名说明ThostFtdcTraderApi.h交…

护眼台灯推荐,护眼台灯怎么选?口碑公认的5个品牌推荐

现在儿童青少年的近视率越来越高,所以儿童护眼台灯也是受到了越来越多的关注。护眼台灯凭借能提供舒适自然的照明,起到预防近视的作用,成为了许多家长为孩子选择的必备灯具!不过市场上始终存在护眼台灯质量差、不达到标准等各种负…

新闻资讯|基于微信小程序的经济新闻资讯系统设计与实现(源码+数据库+文档)

新闻资讯小程序目录 目录 基于微信小程序的经济新闻资讯系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2 短视频信息管理 3、新闻信息管理 4、论坛信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设…

实战-Sealos一键部署k8s集群-2024.3.7(测试成功)

目录 [toc] 原文链接 实战-Sealos一键部署k8s集群-2024.3.7(测试成功) | 彦 推荐文章 我的开源项目: 开源项目 | 彦 实验环境 centos7.6 1810,5.4.270-1.el7.elrepo.x86_64sealos v5.0.0-beta4k8s v1.28.7 (当前时间:2024年3月7日 k8s最新版…

前端语义化标签及实例

常用的语义化标签的以下几种&#xff1a; header、nav、article、section、aside、footer、abbr、dfn、address、del、ins、pre、meter、progress <header> 定义文章的页眉信息 <header><h1>我的网站标题</h1><nav><ul><li><a …

从零开始学习Diffusion Models: Sharon Zhou

How Diffusion Models Work 本文是 https://www.deeplearning.ai/short-courses/how-diffusion-models-work/ 这门课程的学习笔记。 文章目录 How Diffusion Models WorkWhat you’ll learn in this course [1] Intuition[2] SamplingSetting Things UpSamplingDemonstrate i…

Optional 详解

Optional 详解 1、Optional 介绍2、创建 Optional 对象3、Optional 常用方法1. 判断值是否存在 — isPresent()2. 非空表达式 — ifPresent()3. 设置(获取)默认值 — orElse()、orElseGet()4. 获取值 — get()5. 过滤值 — filter()6. 转换值 — map() 作为一名 Java 程序员&am…

ISP基础概述

原文来自ISP 和摄像头基本知识 本文主要介绍ISP&#xff0c;以供读者能够理解该技术的定义、原理、应用。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;计算机杂记 &#x1f380;CSDN主页 发狂的小花 &#x1f3…

【短时交通流量预测】基于小波神经网络WNN

课题名称&#xff1a;基于小波神经网络的短时交通流量预测 版本时间&#xff1a;2023-04-27 代码获取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主获取 模型简介&#xff1a; 城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关&#x…

登录校验-过滤器-拦截器

会话技术 会话&#xff1a;用户打开浏览器&#xff0c;访问Wb服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可以包含多次请求和响应。 会话跟踪&#xff1a;一种维护浏览器状态的方法&#xff0c;服务器需要识别多次请求…

upload-Labs靶场“11-15”关通关教程

君衍. 一、第十一关 %00截断GET上传1、源码分析2、%00截断GET上传 二、第十二关 %00截断POST上传1、源码分析2、%00截断POST上传 三、第十三关 文件头检测绕过1、源码分析2、文件头检测绕过 四、第十四关 图片检测绕过上传1、源码分析2、图片马绕过上传 五、第十五关 图片检测绕…

腾讯云和阿里云哪个好?云服务器价格表对比

2024年阿里云服务器和腾讯云服务器价格战已经打响&#xff0c;阿里云服务器优惠61元一年起&#xff0c;腾讯云服务器62元一年&#xff0c;2核2G3M、2核4G、4核8G、8核16G、16核32G、16核64G等配置价格对比&#xff0c;阿腾云atengyun.com整理阿里云和腾讯云服务器详细配置价格表…

C# LINQ运算符

LINQ运算符 1. 概述1.1 集合->集合1.1.1 筛选运算符1.1.2 映射运算符1.1.3 连接运算符1.1.4 排序运算符1.1.5 分组运算符1.1.6 集合运算符1.1.7 转换方法:Import1.1.8 转换方法:Export 1.2 集合->单个元素或标量值1.2.1 元素运算符1.2.2 聚合方法1.2.3 数量词 1.3 空->…

1910_野火FreeRTOS教程阅读笔记_prvStartFirstTask函数

1910_野火FreeRTOS教程阅读笔记_prvStartFirstTask函数 全部学习汇总&#xff1a; g_FreeRTOS: FreeRTOS学习笔记 这是教程中的一个函数&#xff0c;通过汇编来实现的。注释部分以及结合后面的讲解部分&#xff0c;可能还是有一点点细节的地方让初学者疑惑。我结合我自己的理解…

龙格-库塔法

概要 微分方程&#xff1a;含参数、未知函数、未知函数的导数&#xff08;或者微分&#xff09;的方程数值求解&#xff1a;用若干离散点计算 近似值 来代替准确值分类&#xff1a;单步法、多步法&#xff1b;隐式法、显示法欧拉法 (欧拉折线法)&#xff0c;也是一阶龙格-库塔…

【数据结构】图解二叉搜索树的新增、搜索、删除

一、概念 二叉搜索树&#xff08;Binary Search Tree&#xff0c;简称BST&#xff09;也称为二叉查找树或二叉排序树&#xff0c;是一种具有特殊性质的二叉树数据结构。 定义和性质&#xff1a; 二叉搜索树中的每个节点包含一个键值&#xff0c;习惯上我们说左子树上所有节点…