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

相关推荐
Donvink5 分钟前
预训练语言模型微调和部署——《动手学大模型》实践教程第一章
深度学习·语言模型·llama
WangLanguager11 分钟前
图像重建之深度学习重建
人工智能·深度学习
一 铭1 小时前
llamaindex实战-Agent-在Agent中和数据库对话(本地部署)
人工智能·chatgpt·大模型·llm
zyq~1 小时前
【自学笔记】推荐系统
人工智能·笔记·机器学习
fanxbl9571 小时前
模糊神经网络学习方法探讨
人工智能·神经网络·学习方法
取个名字真难呐2 小时前
3、PyTorch张量的运算API(下)
人工智能·pytorch·python
冻感糕人~2 小时前
利用RAGflow和LM Studio建立食品法规问答系统
人工智能·程序人生·llm·问答系统·大语言模型·大模型微调·ragflow
StarRocks_labs2 小时前
StarRocks Summit Asia 2024 全部议程公布!
人工智能·湖仓一体·lakehouse
sp_fyf_20243 小时前
【大语言模型】ACL2024论文-15 大型语言模型中的最佳解释推断
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·数据挖掘