《X-LLM: Bootstrapping Advanced Large Language Models by Treating Multi-Modalities as Foreign Languages》论文学习 - 郑瀚Andrew
2023-12-18 16:2:0 Author: www.cnblogs.com(查看原文) 阅读量:10 收藏

大型语言模型(LLM)已经展示出了显著的语言能力。基于先进LLM的GPT-4,展现出了超越以往视觉语言模型的非凡多模态能力。我们认为这是由于与以前的多模态模型相比,使用了更先进的LLM。不幸的是,GPT-4的模型架构和训练策略尚不为人知。为了赋予LLM多模态能力,我们提出了X-LLM,它使用X2L接口将多模态内容(图片、语音、视频)转换成外语,并输入到一个大型语言模型(ChatGLM)中。

具体来说,X-LLM使用X2L接口将多个冻结的单模态编码器和一个冻结的LLM对齐,其中

  • “X”表示多模态内容,如图像、语音和视频
  • “L”表示语言

X-LLM的训练包括三个阶段:

  • (1)转换多模态信息:第一阶段分别训练每个X2L接口与其对应的单模态编码器对齐,以将多模态信息转换成语言。
  • (2)将X2L表示与LLM对齐:单模态编码器通过X2L接口独立地与LLM对齐。
  • (3)整合多种模态:所有单模态编码器通过X2L接口与LLM对齐,以将多模态能力整合到LLM中。

我们的实验表明,X-LLM展现了令人印象深刻的多模态聊天能力,有时候表现出在未见过的图像/指令上的多模态GPT-4的行为,并且在一个合成的多模态指令跟随数据集上与GPT-4相比取得了84.5%的相对分数。

同时,我们还对使用LLM进行ASR和多模态ASR进行了定量测试,希望推动基于LLM的语音识别时代的到来。

参考链接:

https://x-llm.github.io/
https://arxiv.org/pdf/2305.04160.pdf

近年来,多模态语言模型得到了快速发展。这些模型在多模态理解和响应生成方面具有出色的能力,并且在图像标注、视觉问题回答、视觉对话、视频标注以及口语对话等任务上表现良好。

值得注意的是,最近发布的大规模多模态模型GPT-4,展示了许多令人印象深刻的能力。例如,GPT-4可以遵循各种指令来完成语言任务,并且还能回答关于图像的各种问题。举例来说,GPT-4能给出图像的详细准确描述,理解并解释视觉内容中的幽默,并且甚至能基于手写代码图像提供正确的网站建设代码。尽管GPT-4展示了非凡的能力,不幸的是,我们不知道其模型结构和训练方法的细节。我们相信这是因为GPT-4相比之前的多模态模型使用了更先进更大规模的语言模型。有了强大的语言能力支撑,GPT-4可以以语言的形式表达理解到的视觉内容。

为了验证这一假设并让大型语言模型(LLM)具备多模态能力,我们提出了X-LLM。它通过X2L接口将图像、语音和视频等多模态信息转换为外语,然后将转换后的多模态信息输入到一个大型语言模型(ChatGLM)。

具体来说,X-LLM使用X2L接口对齐多个冻结的单模态编码器和一个冻结的LLM。X2L接口包括

  • 一个图像I2L接口
  • 一个视频V2L接口
  • 一个语音S2L接口

其中“X”表示多模态,“L”表示语言。

图像接口和视频接口的结构相同,我们采用了BLIP-2中的Q-Former将视觉信息转换为外语表征。为了效率,视频接口复用了图像接口在图文数据上的参数,但进一步利用视频-文本数据训练,以使编码后的视频特征与LLM对齐。

语音接口利用continuous integrate-and-fire (CIF)机制和transformer结构将语音话语转换为外语表征。

X-LLM的训练包括三个阶段。

  • (1) 转换多模态信息:第一阶段分别训练每个X2L接口与单模态编码器对齐,将多模态信息转换为语言。
  • (2) 将X2L表征与LLM对齐:单模态编码器通过X2L接口与LLM对齐。
  • (3) 整合多模态:所有单模态编码器通过X2L接口与LLM对齐,将多模态能力整合到LLM中。

在前两个阶段,我们使用图像字幕数据、视频字幕数据和自动语音识别(ASR)数据训练X2L接口。为了更好地使LLM具备多模态能力,我们基于开源数据集构建了一个多模态指令数据集(约10K),以进一步改进所提出的模型。尽管没有经过第三阶段的训练,X-LLM已经有能力完成视觉口语问答等多模态任务,我们发现,仅使用少量额外的多模态指令数据,LLM可以进一步统一多模态的能力。

在我们的实验中,我们发现X-LLM具有类似于GPT-4的能力。例如,

  • X-LLM可以生成复杂的图像描述并解释不寻常的视觉现象。在我们的研究中,当使用输入图像时,X-LLM可以识别图像中的位置,比如识别故宫并提供相关信息,观察图像中的食物并提供详细的食谱
  • X-LLM可以为图片创作故事,为标志提出文字意义。我们还发现,X-LLM的图像相关能力可以扩展到视频,比如介绍视频内容,直接从视频中检索电影名称或与艺术相关的事实。
  • X-LLM可以基于口语问题回答问题,并且可以结合图像或视频回答口语问题。

这些能力以前并不存在于早期的多模态模型中,但现在通过X-LLM强大的语言建模能力成为可能。

X-LLM旨在将多个预训练的单模态编码器与高级的大规模语言模型(LLMs)对齐,如下图所示。

具体来说,

  • 对于语言感知与生成,我们使用ChatGLM作为语言解码器,它建立在GLM之上,能够执行各种复杂的语言任务。
  • 对于视觉感知,我们采用ViT-g作为图像编码器和视频编码器。
  • 对于语音感知,我们使用由卷积层和conformer结构组成的语音编码器。

我们设计了一个模块,将多模态信息与LLM对齐,统称为X2L接口,包括

  • 图像接口,图像接口和视频接口具有相同的结构,由Q-Formers和Adapter模块组成。
  • 视频接口
  • 语音接口,语音接口包括C-Former和一个Adapter模块。C-Former可以通过continuous integrate-and-fire (CIF)机制将语音编码器中的帧级语音特征序列压缩成token级的语音嵌入序列。由于token级的语音嵌入序列严格与语音发声的转录文字序列对齐,因此使用token级语音嵌入表示语音可以在将语音整合到LLMs时有效减少GPU内存的使用。

0x1:X2L Interfaces

X2L接口旨在将多模态信息转换成外语,其中包括图像接口、视频接口和语音接口。 

1、The Image Interface 

图像接口由Q-Formers和一个I-Adapter模块组成。

  • Q-Formers的目标是将图像转换成语言,其中从图像编码器获得的图像特征被转换成具有Li拟语言嵌入的序列。
  • I-Adapter模块的目标是将拟语言嵌入的维度与LLM的嵌入维度对齐。

2、The Video Interface 

视频接口的结构与图像接口相同,同样由Q-Formers和一个V-Adapter模块组成。我们使用均匀采样,并用T帧来表示每个视频。然后我们将每一帧视为一幅图像。

视频接口将每一帧的特征转换成一个包含Li拟语言嵌入的序列,然后视频接口将所有序列连接起来,获得最终的拟语言嵌入,其长度为T × Li

3、The Speech Interface

为了将语音编码器的语音特征转换为更具语义的表征,我们引入了一个称为语音接口的语音到语言转换接口。

语音接口由两部分组成,即

  • C-Former
  • S-Adaptor

C-Former是CIF模块和一个12层transformer结构的组合。首先,CIF模块通过可变长度的下采样将语音编码器的语音特征序列压缩成与相应转录文字序列等长的令牌级语音嵌入序列。假设语音编码器为输入语音发射的特征序列长度为U,而语音发声的转录文字序列的令牌长度为Ls,那么令牌级语音嵌入序列的长度应为Ls(U通常是Ls的几倍)。接着,transformer结构为CIF模块提供的令牌级语音嵌入提供上下文建模。最后,S-Adaptor用于将transformer结构的输出投影到LLM的输入向量空间中,进一步缩小语音和语言之间的语义差距。

0x2:Training Strategy

为了高效地实现X-LLM,我们提出了一个三阶段训练策略。

  • (1)转换多模态信息:我们将图像编码器与图像的Q-Former对齐,将语音编码器与CIF模块对齐。
  • (2)将X2L表示与LLM对齐:在第二阶段,我们通过图像接口将图像编码器与LLM对齐,通过视频接口将视频编码器与LLM对齐,通过语音接口将语音编码器与LLM对齐。
  • (3)整合图像、视频和语音的训练,并使用一个较小但高质量的多模态指令数据集(例如包含视觉口语对话的指令,即基于图像响应口语对话输入)将所有单模态编码器与LLM对齐。

1、First Training Stage: Converting Multimodal Information

在第一阶段,传统的方法是使用大量的图像-文本数据将图像编码器与图像Q-Former对齐,类似于BLIP2的第一阶段,它使用了大约5亿对图像-文本配对。然而,我们发现,尽管BLIP2使用的是英文数据,我们仍然可以利用BLIP2中Q-Former的预训练参数来实现一个中文多模态LLM。

因此,在第一阶段,为了高效地实现X-LLM,我们只需要通过语音接口将语音编码器的表示转换为准语言表示。对于与语音相关的结构,我们使用包含多个ASR数据集的CIF基础ASR模型进行训练,以获得C-Former中的语音编码器和CIF模块。基于CIF的ASR模型包括一个语音编码器、一个CIF模块和一个解码器。我们使用这个ASR模型的语音编码器作为语音编码器,并使用这个ASR模型的CIF模块作为在语音接口的C-Former中的CIF模块。

请注意,在所有后续训练阶段,语音编码器和CIF模块的参数都保持冻结。

2、Second Training Stage: Aligning X2L Representations with the LLM

如上所述,尽管存在语言差异,我们仍然可以复用BLIP2中Q-Former的参数。具体来说,我们使用BLIP2第二阶段训练好的Q-Former来初始化X-LLM中图像接口的Q-Former。为了将Q-Former适配到中文LLM,我们使用了一个组合数据集,总共大约有1400万对中文图像-文本配对进行训练。

接下来,我们使用训练好的图像接口来初始化视频接口(Q-Former和V-Adapter),并在翻译后的视频-文本数据上训练视频接口。

最后,我们使用ASR数据训练语音接口,以便将语音接口的输出与LLM对齐。

需要注意的是,在整个第二训练阶段期间,所有编码器和LLM都保持冻结,只有接口进行训练。

3、Third Training stage: Integrating Multiple Modalities

在前两个训练阶段之后,我们的X-LLM展现出了显著的能力,能够基于多模态信息合理地回答人类提出的查询,并且获得了大量的知识。我们观察到,即使没有针对多种模态的联合训练指令,比如“使用声音输入基于图像回答问题”,X-LLM也能够执行需要多种模态的任务,如视觉口语对话、多模态语音识别和多模态机器翻译。这一显著的能力可能是由于X-LLM集成了LLM卓越的指令泛化能力,这一能力已经扩展到了多模态领域。这种能力使我们能够在前两个阶段独立训练更多的模态,并将它们集成到模型中,而无需与现有模态进行联合训练。

为了探索多模态联合指令数据在进一步增强X-LLM执行多模态任务能力方面的潜力,比如视觉口语问题回答,我们构建了一个简洁但高质量的多模态指令数据集。

与MiniGPT-4和LLaVA的数据集不同,这些只包含图像-文本指令数据以及其他文本指令数据集,用于指令微调和对话,我们的数据集支持多模态联合指令,并包括

  • (1)图像-文本指令数据
  • (2)语音-文本指令数据
  • (3)视频-文本指令数据
  • (4)图像-文本-语音指令数据

1)Constructing a High-quality Alignment Dataset for Multimodal LLM

  1. 我们使用ChatGPT来翻译由MiniGPT-4构建的3.5千个图像-文本指令。
  2. 我们手动从AISHELL-2中选取2千个数据,并为语音识别任务编写5种不同的指令。
  3. 我们使用ChatGPT来翻译ActivityNet数据集,接着手动选择1千个数据,并为相应的视频-文本任务编写5种不同的指令。
  4. 我们手动挑选并重写自构建的VSDial-CN数据中的1千个数据,目的是使模型能够基于图像和语音执行对话生成任务。

2)The Third Training Stage

在这个阶段,我们使用构建的紧凑且高质量的数据来微调我们的模型。在微调过程中,我们使用以下模板中预定义的提示:

<Image><ImageFeats></Image><Video><VideoFeats></Video><Speech><SpeechFeats>
</Speech>Question: <Instruction>\n Answer:

在这个提示中,<Instruction>代表我们预定义指令集中随机抽样的一个指令,包括不同的形式,比如

  • “详细描述这张图片”
  • “你能描述一下视频中你注意到的内容吗”
  • “基于图片回答语音中的问题”

需要注意的是,我们不会为这个特定的instruction prompt设定特别的回归损失。

因此,X-LLM可以整合多种模态,并根据需要基于各种指令组合生成更自然、更可靠的回应。

参考链接: 

https://github.com/phellonchen/X-LLM

本文展示了X-LLM的有效性,该模型通过X2L接口将多种模态作为外语注入到大型语言模型中,赋予LLM强大的多模态能力。

我们设计了一个三阶段训练方法来训练X-LLM,在前两个阶段中每个模态接口都具有很高的独立性,便于同时训练。通过前两个阶段的训练,X-LLM可以通过语言与每个模态进行交互。此外,得益于其对大型语言模型指令泛化能力的整合以及对多模态领域的适应,X-LLM可以在不进一步微调联合指令数据集的情况下完成涉及多模态的任务(例如视觉口语问答)。未经训练的多模态整合极大地促进了X-LLM的模态扩展。为了进一步探索联合多模态指令数据对X-LLM整合多模态能力的影响,我们构建了一个精简但高质量的多模态指令数据集,并且在该数据上微调后X-LLM的性能进一步提高。

这个项目仍在进行中,目前有几个局限性:

  • (1)语言模型的局限性。X-LLM建立在仅具有60亿参数的ChatGLM之上,并继承了其局限性,包括但不限于不可靠的推理能力和编造不存在的事实。
  • (2)模态连接的训练不足。X-LLM的多模态感知能力有些受限。我们只使用了少量多模态数据集来连接多模态编码器和大型语言模型。

未来有几个可进一步探索的方向:

  • (1)数据规模。与BLIP2相比,我们只使用了少量的中文多模态数据。我们相信,使用更大的中文数据进行训练,可以通过增加概念覆盖率显著提高模型性能。
  • (2)连接更多模态。我们可以连接音频,使LLM能够理解和交互非语言音频。我们还可以将各种终端的状态信息连接到LLM上,这样LLM就可以根据它们的状态信息控制终端。
  • (3)使用更好的LLM。由于计算资源的限制,我们只用了一个60亿参数的语言模型进行实验。可以预期,使用更强大的语言模型,X-LLM将获得更强大的能力。
 

文章来源: https://www.cnblogs.com/LittleHann/p/17910736.html
如有侵权请联系:admin#unsafe.sh