LLM2CLIP:通过大型语言模型扩展 CLIP 的能力边界

微软的 LLM2CLIP 利用大型语言模型(LLM)来增强多模态模型 CLIP(对比语言图像预训练)的功能。LLM2CLIP 解决了现有 CLIP 模型的局限性,例如上下文窗口受限和文本理解能力较弱,它整合了 LLM 的强大功能,从而增强了对更长、更密集和更复杂字幕的理解能力。这种整合可以提供更丰富的文本上下文,改进文本与图像的对齐,并提供开放世界的知识,从而提高多模态特征对齐和训练效率。LLM2CLIP 利用字幕到字幕对比学习策略来提高字幕之间的区分度,从而克服了 LLM 输出空间的可分离性有限这一关键难题。这种方法提高了跨模态任务的性能,只需极少的微调就能提升现有 SOTA CLIP 模型的性能。LLM2CLIP 在跨模态检索等任务中表现出了显著的改进,同时也增强了复杂图像理解任务的能力,Llava 等模型的改进就证明了这一点。

在本文中,我们提出了 LLM2CLIP,这是一种利用 LLM 的力量来释放 CLIP 潜力的新方法。 通过对比学习对字幕空间中的 LLM 进行微调,我们将其文本能力提取到输出嵌入中,从而显著提高了输出层的文本可辨别性。 然后,我们设计了一个高效的训练过程,在这个过程中,经过微调的 LLM 成为 CLIP 视觉编码器的强大教师。 由于 LLM 的存在,我们现在可以加入更长、更复杂的字幕,而不必受限于 vanilla CLIP 文本编码器的上下文窗口和能力限制。 我们的实验证明,这种方法在跨模态任务中带来了实质性的改进。 在长文本和短文本检索任务中,我们的方法直接将之前的 SOTA EVA02 模型的性能提高了 16.5%,将仅在英语数据上训练的 CLIP 模型转变为最先进的跨语言模型。 此外,当将该方法与 Llava 1.5 等模型整合到多模式训练中时,它在几乎所有基准测试中的表现都超过了 CLIP,显示出全面的性能提升。

模型详情

  • 模型类型:视觉基础模型,特征骨干
  • 预训练数据集: CC3M、CC12M、YFCC15M 和 Recap-DataComp-1B(3000 万子集)

Huggingface

python 复制代码
from PIL import Image
from transformers import AutoModel
from transformers import CLIPImageProcessor
import torch

image_path = "CLIP.png"
model_name_or_path = "LLM2CLIP-EVA02-L-14-336" # or /path/to/local/LLM2CLIP-EVA02-L-14-336
image_size = 336

processor = CLIPImageProcessor.from_pretrained("openai/clip-vit-large-patch14-336")
model = AutoModel.from_pretrained(
    model_name_or_path, 
    torch_dtype=torch.float16,
    trust_remote_code=True).to('cuda').eval()

image = Image.open(image_path)
input_pixels = processor(images=image, return_tensors="pt").pixel_values.to('cuda')

with torch.no_grad(), torch.cuda.amp.autocast():
    outputs = model.get_image_features(input_pixels)

CLIP 作为检索器,能够支持零 - shot 分类、检测、分割和图像 - 文本检索等多种任务。同时,作为特征提取器,它在几乎所有跨模态表示任务中占据主导地位,例如图像理解、视频理解以及文本到图像或视频生成。CLIP 的强大之处在于它能够将图像与自然语言相连接,并捕捉人类知识,这得益于其在大规模网络数据上的训练,其中包含详细的文本描述。

然而,CLIP 在处理长而复杂的文本说明方面存在一定的局限性。为了克服这一问题,微软和同济大学的研究人员提出了 LLM2CLIP 方法,旨在通过整合大型语言模型(LLMs)来增强视觉表示学习。这一方法大胆地替换了原有的 CLIP 文本编码器,利用 LLMs 的丰富知识来提升 CLIP 的视觉编码器性能。研究发现,直接将 LLMs 集成到 CLIP 中会导致性能下降,因此需要解决这一挑战。

LLM2CLIP 方法通过引入 "标题对比微调" 技术,大大提高了 LLM 在分离图像标题方面的能力,从而实现了性能的显著提升。

研究者们使用不同大小的数据集进行微调实验,包括小型的 CC-3M、中型的 CC-3M 和 CC-12M,以及大型的 CC-3M、CC-12M、YFCC-15M 和 Recaption-1B。结果表明,使用 LLM2CLIP 训练的模型在图像到文本及文本到图像检索任务中表现优于传统的 CLIP 和 EVA 模型。

通过与 Llava1.5等模型结合进行多模态训练,LLM2CLIP 在几乎所有基准测试中表现出色,尤其是在处理长短文本检索任务时,将之前的 EVA02模型性能提升了16.5%。这一创新方法不仅将 CLIP 从仅仅处理英文数据转变为一种强大的跨语言模型,也为 CLIP 训练的未来研究奠定了基础。相信这样的技术会让RAG在多模态方面得到进一步提升!

模型:https://huggingface.co/collections/microsoft/llm2clip-672323a266173cfa40b32d4c

代码:https://github.com/microsoft/LLM2CLIP/

论文:https://arxiv.org/abs/2411.04997

相关推荐
lisw051 小时前
6G频段与5G频段有何不同?
人工智能·机器学习
2501_941623323 小时前
人工智能赋能智慧农业互联网应用:智能种植、农业数据分析与产量优化实践探索》
大数据·人工智能
不爱吃糖的程序媛3 小时前
华为 CANN:昇腾 AI 的异构计算架构核心与开源生态解析
人工智能·华为·架构
AKAMAI4 小时前
从客户端自适应码率流媒体迁移到服务端自适应码率流媒体
人工智能·云计算
jinxinyuuuus4 小时前
GTA 风格 AI 生成器:跨IP融合中的“视觉语义冲突”与风格适配损失
人工智能·网络协议
如何原谅奋力过但无声4 小时前
TensorFlow 1.x常用函数总结(持续更新)
人工智能·python·tensorflow
翔云 OCR API4 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
咚咚王者4 小时前
人工智能之数据分析 numpy:第十三章 工具衔接与迁移
人工智能·数据分析·numpy
咚咚王者4 小时前
人工智能之数据分析 numpy:第九章 数组运算(二)
人工智能·数据分析·numpy
YangYang9YangYan4 小时前
网络安全专业职业能力认证发展路径指南
大数据·人工智能·安全·web安全