去年年底,OpenAI向公众推出了ChatGPT。该技术一经发布,立即将AI驱动的聊天机器人推向了主流话语的中心。许多研究人员就它如何改变商业、教育等展开了一轮讨论。另一轮争论。随后,科技巨头纷纷跟进,投入科研团队,他们所谓的“生成式AI”技术(可以产生对话文字、图形等的技术)也蓄势待发。众所周知,ChatGPT是在GPT-3.5系列模型的基础上进行微调的,我们看到很多研究都在迎头赶上,但是相比ChatGPT,他们的新研究到底好到什么程度呢??最近,在亚马逊发表的一篇论文《Multimodal Chain-of-Thought Reasoning in Language Models》中,他们提出了具有视觉特征的Multimodal-CoT。该架构在ScienceQA基准测试中参数个数小于10亿时比GPT-3.5高16。百分比(75.17%→91.68%),甚至超过许多人类。这里简单介绍一下ScienceQA基准测试,这是第一个多模态科学问答数据集,有详细的解释。它由加州大学洛杉矶分校和艾伦人工智能研究所(AI2)提出,主要用于测试模型的多模态推理能力。它具有非常丰富的领域多样性,涵盖了自然科学、语言科学和社会科学等领域,对模型的逻辑推理能力提出了很高的要求。论文地址:https://arxiv.org/abs/2302.00923项目地址:https://github.com/amazon-science/mm-cot来看看亚马逊的语言模型是如何超越GPT-3.5的。包含视觉特征的Multimodal-CoT大型语言模型(LLM)在复杂推理任务上表现出色,离不开思维链(CoT)提示的辅助。然而,现有的CoT研究只关注语言模态。为了在多模态中触发CoT推理,一种可能的解决方案是微调一个小型语言模型,通过融合视觉和语言特征来执行CoT推理。然而,根据现有观察,小模特往往比大模特更频繁地化妆,而模特的这种行为通常被称为“幻觉”。谷歌之前的一项研究还表明(论文Chain-of-ThoughtPromptingElicitsReasoninginLargeLanguageModels),基于CoT的提示只有在模型至少有1000亿个参数时才有用!也就是说,CoT提示不会对小型模型的性能产生积极影响,并且仅在与具有~100B参数的模型一起使用时才会产生性能增益。但是这篇论文研究的是在少于10亿个参数的情况下的性能提升,是怎么做到的呢?简而言之,本文提出了包含视觉特征的Multimodal-CoT,并使用这种范式(Multimodal-CoT)来寻找多模态中的CoT推理。Multimodal-CoT将视觉特征结合在一个单一的训练框架中,以减少语言模型倾向于产生幻觉推理模式的影响。总体而言,该框架将推理过程分为两个部分:基本原理生成(找到原因)和答案推理(找出答案)。MultimodalCoT两阶段过程:使用文本(问题+上下文)和视觉特征来生成逻辑证据。数据集本文重点介绍ScienceQA数据集,其中包括图像和文本作为上下文的一部分,此外,该数据集还包含对答案的解释,以便可以对模型进行微调以生成CoT基本原理。此外,本文利用DETR模型生成视觉特征。较小的LM在生成CoT/基本原理时容易产生幻觉,作者推测如果有一个修改后的架构,模型可以利用LM生成的文本特征和图像模型生成的视觉特征,它将更有能力推理和回答问题。总体而言,我们需要一个可以生成文本和视觉特征并使用它们生成文本响应的模型。人们还知道,文本和视觉特征之间的某种交互本质上是一种共同的注意力机制,有助于封装两种模态中存在的信息,这使得借用思想成为可能。为此,作者选择了具有编码器-解码器架构的T5模型,以及如上所述的用于生成视觉特征的DETR模型。T5模型的encoder负责生成文本特征,但是T5模型的decoder并没有利用encoder产生的文本特征,而是使用作者提出的co-attention-styledinteractionlayer的输出。对于反汇编,假设H_language是T5编码器的输出。X_vision是DETR的输出。第一步是确保视觉特征和文本特征具有相同的隐藏大小,以便我们可以使用注意力层。注:所有代码片段均来自论文的GitHub:https://github.com/amazon-science/mm-cot/blob/main/model.pyself.image_dense=nn.Linear(self.patch_dim,config.d_model)W_h本质上是一个线性层,H_vision对应最终的视觉特征。W_h有助于更改视觉特征的大小以匹配文本特征的大小。接下来我们需要添加一个注意力层,以便视觉和文本特征可以相互交互。为此,作者使用单头注意力层,以H_language作为查询向量,以H_vision作为键和值向量。self.mha_layer=torch.nn.MultiheadAttention(embed_dim=config.hidden_??size,kdim=config.hidden_??size,vdim=config.hidden_??size,num_heads=1,batch_first=True)image_att,_=self.mha_layer(hidden_??states,image_embedding,ding)image_embed现在我们有了包含来自文本和视觉特征的信息的嵌入。随后,作者利用门控融合生成最终的特征集,并将其发送给解码器。Gatedfusion有两个步骤:获取一个0到1之间分数的向量来确定每个注意力特征的重要性。使用分数来融合文本和注意力特征。W_I和W_v本质上是两个线性层。self.gate_dense=nn.Linear(2*config.hidden_??size,config.hidden_??size)self.sigmoid=nn.Sigmoid()hidden_??states=encoder_outputs[0]merge=torch.cat([hidden_??states,image_att],dim=-1)gate=self.sigmoid(self.gate_dense(merge))hidden_??states=(1-gate)*hidden_??states+gate*image_att最后,融合的特征被传递给解码器。decoder_outputs=self.decoder(input_ids=decoder_input_ids,attention_mask=decoder_attention_mask,inputs_embeds=decoder_inputs_embeds,past_key_values=past_key_values,encoder_hidden_??states=hidden_??states,这几乎就是作者遵循的架构!但是,请记住第一阶段是两个。生成基本原理/CoT.第二阶段利用第一阶段生成的CoT生成答案,如上图结果作者使用UnifiedQA模型的权重作为T5模型的初始化点,在ScienceQA数据集上进行fine-tune.他们观察到他们的MultimodalCoT方法优于所有之前的基准测试,包括GPT-3.5。有趣的是,即使只有2.23亿个参数的基础模型也优于GPT-3.5和其他VisualQA模型!这凸显了具有多模态架构的力量。作者还表明,他们的两阶段方法优于单阶段方法。本文中的y是多模态特征在解决视觉和文本特征问题方面的强大之处。作者表明,利用视觉特征,即使是小型语言模型(LM)也可以产生有意义的思维链/推论,而幻觉要少得多,揭示了视觉模型在开发基于思维链的学习技术中的潜力。影响。从实验中,我们看到以数百万参数为代价添加视觉特征比将纯文本模型扩展到数十亿参数可以带来更大的价值。
