多模态LLM 跨越语言与视觉的边界

一、引言

在数字时代的浪潮中,我们被由语言和视觉等多种模态构成的信息海洋所包围。人类大脑以其卓越的多模态上下文理解能力,在日常任务中游刃有余。然而,在人工智能领域,如何将这种能力赋予机器,尤其是如何在语言模型的成功基础上扩展到视觉领域,成为了当前研究的热点和难点。
在这里插入图片描述

二、多模态上下文理解的局限性

在语言模型领域,GPT系列的崛起无疑为我们带来了诸多启示。这些模型通过大量的文本数据训练,不仅能够在上下文中解决各种语言任务,更能在推理阶段,通过提供几个例子,就完成未见过的任务。这种能力让我们不禁思考:如果图像也能“说话”,如果机器能够理解图像的“语言”,那么视觉领域的未来将如何被改写?

自然而然就有了“图像说图像的语言”的观点,将图像作为接口,统一了各种视觉任务。通过给定几个例子,模型能够较好地完成其他视觉任务,如图像分割等。然而,正如王鑫龙所指出的,当前基于纯图像的上下文学习仍存在着局限性。首先,现有的数据集无法完全涵盖视觉任务的多样性。在真实世界中,视觉信息千变万化,而数据集往往只能涵盖其中的一部分。这使得模型在面对未知任务时,难以做出准确的判断。其次,与语言相比,图像中的上下文关系较为模糊。语言中的词语和句子有着明确的语法和语义结构,而图像中的元素则往往缺乏这种明确的关联。这使得模型在理解图像时,需要付出更多的努力。
在这里插入图片描述

三、多模态训练的探索

为了克服这些局限性,尝试自回归地在多模态序列中预测“下一个”Token,无论是图像中的下一个Patch,视频中的下一帧,还是文本中的下一个词例token。这种统一的生成式多模态训练方式,不仅提高了模型的泛化能力,还使得模型能够更好地理解多模态上下文之间的关系。

然而,生成式多模态模型研究目前仍面临着三个最关键的问题:数据、编码器以及预训练

  • 在数据方面,我们需要探讨什么样的数据能够满足下一代多模态任务的需求。这不仅要关注数据的形式,还要关注数据的内容。
  • 在编码器方面,我们需要了解哪些编码方式能够满足生成、理解以及统一多模态任务的需求。这包括分词器和语义编码器在内的各种编码方式。
  • 在预训练方面,我们需要找到一种能够同时利用多模态数据的方法,使得模型能够在训练过程中学习到更多的知识和信息。

试想一下人类观看视频时,我们接受的是交错的视觉和文本数据,这些数据之间具有优秀的上下文相关性。受此启发,智源团队使用交错的文本-视频数据(interleaved data)。通过将描述性视频中的文字与视觉图片对应起来,并在时间戳上对齐二者。这种方法不仅提高了模型对多模态数据的理解能力,还使得模型能够更好地学习到多模态数据之间的关联关系。
在这里插入图片描述

为了保证数据质量,智源团队使用了CapsFusion技术。这项技术利用大模型按照指令有机地整合原始描述和合成描述,从结构有缺陷的原始描述中提取世界知识,同时与结构化但句法简化的合成字幕合并。通过这种方式,智源团队创建了一个全面而精细的「图像-文本」数据集CapsFusion-120M。这个数据集不仅包含了大量的图像和文本数据,还通过精细的对齐和标注,使得模型能够更好地学习到多模态数据之间的关联关系。
在这里插入图片描述

在编码器方面,要考虑编码器能达到什么规模、是否可以不使用编码器以及编码器是否可以是稀疏的等问题。受到Segment Anything项目的启发,智源团队尝试稀疏且支持提示(prompting)的分词器。分词器可以根据需要对图像进行分词,实现按需输出。此外,还用patch作为视觉单元的可行性,并发现去掉编码器在某些情况下可能带来新的思路。然而,这种方法也存在训练不稳定、性能较差等问题。

四、多模态模型的挑战

在构建统一多模态模型时,我们仍然会遇到“不可能三角”的挑战:紧凑-无损-离散,三者无法同时满足。

  • 紧凑性意味着用较少的token来表达图像或视频;
  • 无损性意味着能够完美重建图像或视频;
  • 离散性则意味着使用离散的token表示。

目前我们只能同时满足其中的两个,实现所有三个目标仍然有技术瓶颈。这需要我们在未来的研究中继续探索和创新。总的来说,多模态上下文理解是一个充满挑战和机遇的研究方向。

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

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

相关文章

计算子网掩码

例题 如果子网掩码是255.255.192.0, 那么下面主机()必须通过路由器才能与主机129.23.144.16通信( 1分 )A.129.23.148.127B. 129.23.191.21C. 129.23.127.222D. 129.23.130.33计算 要确定哪些主机必须通过路由器才能与…

MybatisPlus:高效便捷的Java持久层框架

一、MybatisPlus简介 MybatisPlus(简称MP)是一个流行的Java持久层框架,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生,旨在简化数据库操作和提高开发效率。MybatisPlus为开发者提供了一套方便的API和…

运维开发详解:从入门到精通

运维开发(DevOps)是一种整合开发与运维的实践,旨在通过自动化和持续交付提高软件开发和部署的效率。本文将详细介绍运维开发的概念、核心工具和最佳实践,帮助您从入门到精通。 一、运维开发的概念 1. 什么是运维开发&#xff1f…

About Apple Pay

本文翻译整理自:About Apple Pay (更新时间:2017-03-16) https://developer.apple.com/library/archive/ApplePay_Guide/index.html#//apple_ref/doc/uid/TP40014764 文章目录 一、关于 Apple Pay1、使用 Apple Pay2、测试 Apple …

k8s核心组件

Master组件: kube-apiserver:用于暴露Kubernetes API,任何资源请求或调用操作都是通过kube-apiserver提供的接口进行。它是Kubernetes集群架构的大脑,负责接收所有请求,并根据用户的具体请求通知其他组件工作。etcd&am…

SpringBoot3整合SpringDoc实现在线接口文档

写在前面 在现目前项目开发中,一般都是前后端分离项目。前端小姐姐负责开发前端,苦逼的我们负责后端开发 事实是一个人全干,在这过程中编写接口文档就显得尤为重要了。然而作为一个程序员,最怕的莫过于自己写文档和别人不写文档…

找工作小项目:day16-重构核心库、使用智能指针(3)

day16-重构核心库、使用智能指针(3) 最后将使用这个库的方式进行展示。 1、客户端 在while ((o getopt(argc, argv, optstring)) ! -1)所有的操作都是获取参数的操作,threads 、msgs 和wait 分别指线程数、消息长度以及等待时间。 创建一…

【数据结构(邓俊辉)学习笔记】二叉搜索树02——查找、插入和删除

文章目录 1.概述2. 查找2.1 查找:算法2.2 查找:理解2.3 查找:实现2.4 查找:语义 3. 插入3.1 插入:算法3.2 插入:实现 4. 删除4.1 删除:框架4.2 删除:单分支4.3 删除:双分…

Pyqt QCustomPlot 简介、安装与实用代码示例(一)

目录 简介安装实用代码示例带有填充的简单衰减正弦函数及其红色的指数包络线具有数据点的 sinc 函数、相应的误差条和 2--sigma 置信带几种散点样式的演示展示 QCustomPlot 在设计绘图方面的多功能性 结语 所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转…

RERCS系统开发实战案例-Part05 FPM Application的Feeder Class搜索组件的实施

1、通过事务码 SE24对Feeder Class实施 1)接口页签的简单说明: ① IF_FPM_GUIBB:通用UI构建块,整个UIBB模块的基础接口; ② IF_FPM_GUIBB_SEARCH:通用搜索UI构建块,搜索组件UIBB的基础接口&…

期末复习GGG-----查找子串

郭的 char *search( char *s, char *t ){int i0;while(s[i]){int j0;if(s[i]t[0]){while(s[ij]t[j]&&t[j]){j;}if(t[j]\0)return si;}i;}return NULL; } AI的 #include <stdio.h> #include <string.h> #define MAXS 30char *search(char *s, char *t);in…

React项目-Cesium地图初始化

一、环境描述 React集成Cesium地图需要注意软件兼容性问题&#xff0c;可以从官网或者百度文章查询React和Cesium地图的版本兼容性&#xff0c; 1、软件版本 &#xff08;1&#xff09;create-react-app创建项目&#xff1b; &#xff08;2&#xff09;React版本&#xff1a;1…

ctfshow web七夕杯

web签到 执行命令没有回显&#xff0c;我们直接写文件就可以了 有字符长度限制 ls />a nl /*>a访问url/api/a下载文件 easy_calc <?phpif(check($code)){eval($result."$code".";");echo($result); }function check(&$code){$num1…

Golang | Leetcode Golang题解之第164题最大间距

题目&#xff1a; 题解&#xff1a; type pair struct{ min, max int }func maximumGap(nums []int) (ans int) {n : len(nums)if n < 2 {return}minVal : min(nums...)maxVal : max(nums...)d : max(1, (maxVal-minVal)/(n-1))bucketSize : (maxVal-minVal)/d 1// 存储 (…

aasist-bladedisc 音频反欺骗算法模型

AASIST 论文 参考ASIST: Audio Anti-Spoofing using Integrated Spectro-Temporal Graph Attention Networks https://arxiv.org/pdf/2110.01200.pdf 模型结构 aasist是一种开源的音频反欺诈的模型&#xff0c;主要的模型结构如下所示&#xff1a; 算法原理 环境配置 Dock…

git配置1-不同的项目使用不同用户名或邮箱

1. 全局用户名和邮箱 1.1. 设置1.2. 存储1.3. 查看 2. 针对指定项目单独设置 2.1. 设置2.2. 存储2.3. 查看 1. 全局用户名和邮箱 1.1. 设置 git config --global user.name 张三 git config --global user.email zhangsanexample.com1.2. 存储 git的全局配置一般会存在hom…

Hi3861 OpenHarmony嵌入式应用入门--总引导连接

这篇没有内容&#xff0c;只是根据内容先后顺序进行连接汇总。 Hi3861 OpenHarmony嵌入式应用入门--鸿蒙开发环境搭建_hi3861开发环境-CSDN博客 Hi3861 OpenHarmony嵌入式应用入门--基于HI-12F开发板烧写程序-CSDN博客 Hi3861 OpenHarmony嵌入式应用入门--启动流程-CSDN博客…

CVE-2023-38836(文件上传+命令执行)

简介 BoidCMS v.2.0.0 存在文件上传漏洞&#xff0c;远程攻击者可通过添加 GIF 头部绕过 MIME 类型检查&#xff0c;执行任意代码。 过程 打开靶场 对网站进行目录扫描 发现后台&#xff0c;登录弱口令账号密码 admin/password 发现文件上传位置 根据简介提示&#xff0c;…

CentOS 7.9检测硬盘坏区、实物定位(三)

系列文章目录 CentOS 7.9上创建JBOD&#xff08;一&#xff09; CentOS 7.9上创建的JBOD阵列恢复&#xff08;二&#xff09; 文章目录 系列文章目录前言一、在系统中找到硬盘对应的盘符二、使用命令定位实物1.badblocks检测坏块2.对2T以上的硬盘检测&#xff08;对本篇非必要…

我用chatgpt写了一款程序

众所周知&#xff0c;Chatgpt能够帮助人们写代码&#xff0c;前几天苏音试着完全用Chatgpt写一款Python程序 有一句话我很赞同&#xff0c;未来能代替人的不是AI&#xff0c;是会使用AI的人。 最终&#xff0c;写下来效果还不错&#xff0c;完全提升了我的办公效率。 开发前…