上一篇:《搭建人工智能多模态大语言模型的通用方法》
在今天的文章中,我将回顾2024年有关多模态大语言模型(LLM)的文献资料,主要关注过去几个月发布的工作,以确保范围合理。
因此,这并不是一个关于多模态LLM的历史性概述或全面回顾,而是对最新进展的简要探讨。同时,我会尽量保持总结简洁,不加太多无关内容,因为要介绍10项研究。
文章最后的结论部分会提供一个总结,比较这些论文中使用的方法。
4.1 Llama 3 模型系列
Meta AI 的 Llama 3 模型系列 论文(发表于2024年7月31日)在今年夏天发布,但在LLM领域,感觉像是很久以前的事情了。然而,考虑到他们只是描述了多模态模型,但直到更晚才真正发布模型,我认为将 Llama 3 包括在这份列表中是合理的。(Llama 3.2 模型正式宣布并开放获取的时间是2024年9月25日。)
Llama 3.2 是一种多模态模型,提供了 110亿和900亿参数的版本。这些模型基于之前描述的跨注意力(cross-attention)方法,与下图所示一致。
Llama 3.2 的多模态LLM方法示意图
(摘自 Llama 3 论文的注释图:https://arxiv.org/abs/2407.21783。这张图为了突出图像部分,视频和语音部分被视觉遮蔽。)
注意,虽然图中显示了视频和语音作为可能的模态,但截至撰写本文时,发布的模型仅支持图像和文本。
Llama 3.2 使用了跨注意力方法,但与我之前提到的有些不同。通常在多模态LLM开发中,我们会冻结图像编码器的参数,只更新语言模型的参数。然而,这里的研究人员几乎采取了相反的做法:他们更新了图像编码器的参数,而语言模型的参数则保持不变。研究人员指出,这样做是有意的,目的是保留其纯文本能力,使得 110亿和900亿参数的多模态模型可以无缝替代 Llama 3.1 的80亿和700亿参数纯文本模型,用于文本任务。
训练流程
训练分多个迭代,从 Llama 3.1 的文本模型开始。在添加图像编码器和投影(即“适配器”)层之后,模型在图文数据上进行预训练。接着,与 Llama 3 纯文本模型训练流程类似(我在之前的文章中写过),模型进行指令和偏好微调。
不同于采用 CLIP 等预训练模型作为图像编码器,研究人员从零开始预训练了一个视觉变换器(ViT)。具体而言,他们采用了经典视觉变换器架构(Dosovitskiy等,2020)中的 ViT-H/14 变体(6.3亿参数)。他们在包含25亿对图文数据的数据集上进行了5个epoch的预训练,这发生在将图像编码器连接到LLM之前。(图像编码器接收 224×224 分辨率的图像,将其分割为14×14的网格,每个网格块大小为16×16像素。)
由于跨注意力层会显著增加参数量,因此每四个变换器块才添加一次跨注意力层。(对于80亿参数的模型,这会增加30亿参数;对于700亿参数的模型,这会增加200亿参数。)
4.2 Molmo 和 PixMo:开源权重与数据的多模态模型前沿探索
《Molmo 和 PixMo:开源权重与数据的多模态模型前沿探索》 论文(2024年9月25日)非常值得注意,因为它不仅承诺开源模型权重,还会开源数据集和源码,类似于纯语言模型 OLMo LLM。(这对LLM研究非常有利,因为研究人员可以查看完整的训练过程和代码,还能在同一个数据集上进行消融实验并复现结果。)
如果你好奇为什么论文标题里有两个名字——Molmo 指代模型(Mul