介绍
人工智能技术正在继续融入我们的日常生活。人工智能的一种应用包括采用多模态方式,例如将语言与视觉模型结合起来。这些视觉-语言模型可以应用于视频字幕制作、语义搜索等许多其他问题。
我关注最近推出的一种名为 TinyGPT-V 的视觉语言模型。这种多模态语言模型的有趣之处在于,对于大型语言模型来说,它非常“小”,并且可以部署在单个 GPU 上,只需 8GB 的 GPU 或 CPU 即可进行推理。这对于最大限度地提高人工智能模型的速度、效率和成本具有重要意义。
我想指出的是,我不是该模型作者,也没有任何方式与作者有关联。然而,我认为这是AI中一个引人入胜的发展,值得研究,特别是因为拥有更高效的模型将会解锁更多应用。让我们深入了解吧!
问题:视觉-语言模型很有用,但资源密集型
多模态模型,比如视觉-语言模型,在生成与人类相符的响应上取得了创纪录的表现。随着这些模型的不断改进,我们可能会看到企业开始将这些技术应用于现实场境和应用程序。
然而,许多人工智能模型,尤其是多模态模型,无论是在模型训练还是推理阶段都需要大量的计算资源。时间、硬件资源和资本的物理约束成为了研究人员和从业者的瓶颈。
此外,目前这些限制阻止了多模态模型在某些应用界面中的部署,比如边缘设备。针对这些挑战,需要对量化(更小的)和高性能模型进行研究和开发。
TinyGPT-V:“小型”视觉语言模型
TinyGPT-V是一个拥有28亿参数的视觉-语言模型,能够在24GB的GPU上训练,并在8GB的GPU或CPU上进行推断。这一点很重要,因为其他最先进的“较小”的视觉-语言模型,比如LLaVA1.5,实际上依然“较大”(拥有70亿和130亿参数)。
当与其他较大的视觉-语言模型进行基准测试时,TinyGPT-V在多个任务上都取得了相似的性能。整体而言,这项工作朝着让 AI 模型更高效地运作迈进,通过减少计算需求的同时保持性能。平衡这两个目标将使视觉-语言模型可以直接在设备上运行,这将提供更好的用户体验,包括降低延迟和提高鲁棒性。
与TinyGPT-V架构相关工作和相关技术
不太大型的基础视觉-语言模型(VLM)
VLM学习图像/视频和文本之间的关系,适用于许多常见任务,比如在照片中搜索对象(语义搜索)、在视频中提问并获得答案(VQA),以及更多任务。截至2024年1月,LLaVA1.5和MiniGPT-4是两个多模态的、最先进的大型语言模型,并且相对于类似的VL基础模型来说较小。然而,这些VLM依然需要大量的GPU使用和训练时间。例如,作者描述了LLaVA-v1.5这个有130亿参数模型的训练资源,它使用了8个配备80GB内存的A100 GPU,训练时间为25.5小时。这对于希望在野外研究、开发和应用这些模型的个人和机构来说是一个障碍。
TinyGPT-V是最新的VLM之一,旨在解决这个问题。它使用了两个分离的基础模型分别用于视觉和语言组件:EVA 编码器被用作视觉组件,而Phi-2被用作语言模型。简而言之,EVA扩展到了一个有10亿参数的视觉变换器模型,该模型先前经过预训练以重建被遮挡的图像文本特征。Phi-2是一个27亿参数的语言模型,训练了精心策划的合成和网络数据集。作者能够将这两个模型合并,并量化它们以拥有总共28亿的参数大小。
下面显示了TinyGPT-V与其他VLM在不同视觉语言任务的性能对比。值得注意的是,TinyGPT-V的性能与BLIP-2相似,这可能归功于从BLIP-2中取得的预训练Q-Former模块。此外,据观察,InstructBLIP与TinyGPT-V相比取得了更好的性能,尽管最小的InstructBLIP模型是用40亿参数训练的。依据应用场景,这种权衡对于从业者来说可能是值得的,而且还需要进行额外的分析来解释这种差异。
模型训练所用的以下数据集包括:
跨模态对齐视觉与语言特征
视觉语言模型(VLM)训练包含了若干目标函数,需要优化以 a) 扩展VLM的应用性,b) 提高VLM的普遍性能,以及 c) 减轻灾难性遗忘的风险。除了不同的目标函数之外,还有多种模型架构或方法来学习和合并视觉与语言特征的联合表征。我们将讨论训练TinyGPT-V时所涉及的相关层,下面以块的形式展示。
在BLIP-2论文中描述的Q-Former被用来学习对齐的图像-文本数据的联合表示。Q-Former方法优化了三个目标,以学习视觉-语言表示:
在Q-former层之后,他们采用了来自MiniGPT-4(Vicuna 7B)的预训练线性投影层以加速学习。然后他们应用一个线性投影层将这些特征嵌入到Phi-2语言模型中。
归一化
从不同模态训练较小的大规模语言模型提出了重大挑战。在他们的训练过程中,他们发现模型输出很容易出现NaN或INF值。这很大程度上是由于梯度消失问题,因为模型的可训练参数数量有限。为了解决这些问题,他们在Phi-2模型中应用了数个归一化程序,以确保数据处于适于模型训练的适当表示中。
在Phi-2模型中实施了三种归一化技术,它们从其原始实现中做了微调。他们更新了在每个隐藏层内应用的LayerNorm机制,包括了一个用于数值稳定性的小数字。此外,他们在每个多头注意力层后实施了RMSNorm作为后归一化程序。最后,他们加入了Query-Key归一化程序,在低资源学习场景中被认为是重要的。
参数高效微调
微调模型对于在下游任务或者未被预训练涵盖的领域上取得更好的表现是至关重要的。这是一个提供与开箱即用的基础模型相比巨大性能提升的必要步骤。
微调一个模型的直观方法是更新所有预训练参数,考虑到新的任务或领域。然而,这种微调大语言模型的方式存在问题,因为它需要为每项任务复制一个完整的微调后的模型。参数高效微调(PEFT)是AI社区中一个活跃的研究领域,在此领域中,更新较少的特定任务参数,同时保持大部分基础模型参数固定。
低秩适应(LoRA)是一种特定的PEFT方法,用于微调TinyGPT-V模型。从高层次来看,LoRA冻结了预训练模型的权重,并把可训练的秩分解矩阵注入到变换器的每一层,这减少了下游任务的可训练参数数量。下面展示了LoRA模块如何应用于TinyGPT-V模型。
结论
TinyGPT-V为制造多模态大型语言模型提供了更高效的研究成果。在多个领域的创新,例如PEFT、量化方法以及模型架构,将对于尽可能缩小模型大小而不过多牺牲性能至关重要。正如预印本中所观察到的,TinyGPT-V实现了与其他较小的VLMs类似的性能。它与BLIP-2性能相当(最小模型有31亿参数),虽然它在类似基准测试中的表现不如InstructBLIP,但其尺寸仍更小(TinyGPT-V为28亿参数,而InstructBLIP为40亿参数)。