一、摘要
本文介绍论文《MiniCPM-V: A GPT-4V Level MLLM on Your Phone》,该论文提出了这是一系列可部署在端侧设备上的高效多模态大语言模型(MLLMs)——MiniCPM-V,为实现更小尺寸、更强大的端侧 MLLMs 提供了可行方向。
译文:
多模态大型语言模型(MLLMs)的近期兴起从根本上改变了人工智能研究和行业的格局,为迈向下一个人工智能里程碑开辟了有前途的道路。然而,MLLMs 在实际应用中仍面临重大挑战,主要是运行具有大量参数和广泛计算的 MLLM 成本巨大,导致大多数 MLLMs 需部署在高性能云服务器上,限制了其在移动、离线、能源敏感和隐私保护等场景的应用范围。本文提出了 MiniCPM-V 系列,这是一系列可部署在端侧设备上的高效 MLLMs。通过整合架构、预训练和对齐方面的最新 MLLM 技术,最新的 MiniCPM-Llama3-V 2.5 具有多项显著特征:性能强劲,在 OpenCompass 上优于 GPT-4V-1106、Gemini Pro 和 Claude 3 等;具有强大的 OCR 能力和在任何纵横比下的 180 万像素高分辨率图像感知能力;行为可靠,幻觉率低;支持 30 多种语言的多语言支持;在手机上高效部署。更重要的是,MiniCPM-V 可被视为一个有前途趋势的代表示例:实现可用(例如 GPT-4V)水平性能的模型尺寸正在迅速减小,同时端侧计算能力快速增长。这表明在端设备上部署 GPT-4V 水平的 MLLMs 变得越来越有可能,在不久的将来开启更广泛的现实世界人工智能应用。
二、核心创新点
论文指出,MiniCPM-V系列大模型的设计理念是在性能和效率之间取得良好的平衡,这对于更广泛的实际应用来说是一个切实的目标,通过架构设计、训练、推理和部署上的优化,论文实现了它所描述的目标。
1、整体结构
论文所提出的模型包括三个关键模块:视觉编码器、压缩层和大模型。输入图像首先由视觉编码器进行编码,采用的是自适应视觉编码方法。具体来说,作者使用SigLIP SoViT-400m/14作为视觉编码器,然后视觉tokens由压缩层进行压缩,压缩层采用具有一层交叉注意力机制的感知器重采样架构。最后,压缩后的视觉tokens与文本输入同时被输入到大模型中,用于有条件的文本生成。
2、自适应视觉编码(Adaptive Visual Encoding)
论文认为,良好的视觉编码策略应当既尊重输入的原始宽高比,又保留足够多的视觉细节(即高分辨率)。为此,作者使用了LLaVA-UHD提出的自适应视觉编码方法。
(1)图像分割
为了处理具有不同宽高比的高分辨率图像,作者将图像分割成切片,其中每个切片应当在分辨率和宽高比方面更符合视觉Transformer(ViT)的预训练设置。首先,根据输入图像的大小计算理想的切片数量。对于分辨率为的图像以及在分辨率为
的图像上预训练的ViT,理想的切片数量为
。然后,从集合
,
中选择行 n 和列 m 的组合,一个好的分隔(m, n)应当使得到的切片与ViT的预训练设置较好地适配。由此,作者使用了一个评分函数来评估每个潜在的分隔:
然后从所有可能的候选分区中选择得分最高的分区:
其中,是乘积为N的可能的(m, n)组合,当N是质数时,可行解可以限制为(N, 1)和(1, N)。因此,另外引入
和
,并令
。
(2)切片编码(slice encoding)
尽管图像分割可以确保切片与ViT预训练设置之间有一个良好的匹配,但每个切片的大小并不完全等于。因此,为了将切片输入到ViT中,作者首先通过按比例调整每个切片的大小,使得得到的面积大小与
相匹配,这样可以防止编码的补丁数量与ViT预训练设置之间出现显著的差距。接着,作者对ViT的位置编码进行插值以便适配切片比率。这里将ViT的一维embedding
转换回了二维格式,即
,其中位置嵌入的数量
。然后,作者通过二维插值将
插值以适应每个切片的大小,此外还将原始图像作为一个额外的切片以提供关于整个图像的整体信息。
(3)token压缩
在视觉编码后,每个切片被编码为1024个token,其中10个切片总共可以产生超过10k个token。为了处理这样的高token数量情况,作者采用了一个压缩模块,由一层交叉注意力和适量的查询queries组成,并带有二维位置信息。在论文的事件中,通过这一层,每个切片的视觉token在MiniCPM V1和V2中被压缩为64个查询,在MiniCPM-Llama3-V2.5中被压缩为96个token。
(4)空间模式
为了表示每个切片相对于整个图像的位置,论文还引入了一种空间模式(spatial schema)。首先,用两个特殊标记<slice>和<\slice>包裹每个切片的token,然后使用一个特殊标记“\n”来分隔不同行的切片。