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

相关推荐
代码小库5 分钟前
【2026前端转 AI 全栈指南】第 1 章:前言 · 后端架构 · 章节导览
前端·人工智能·架构
极光代码工作室6 分钟前
基于深度学习的手写数字识别系统
人工智能·python·深度学习·神经网络·机器学习
Tbisnic9 分钟前
AI大模型学习第十三天:让AI学会查资料、记数据、看图和听声
人工智能·ai·大模型开发·rag·coze
blue_dou17 分钟前
灵活拓展能力对决:多款CRM自定义与数据互通实测
大数据·人工智能
女神下凡20 分钟前
这是 Cursor(Composer) 的五种核心交互模式
服务器·人工智能·windows·vscode·microsoft
AI创界者22 分钟前
告别云端限制!Sulphur 2 本地文生视频/图生视频整合包,本地部署,解压即用,保姆级部署与工作流实战
人工智能·python·aigc·音视频
蓝星空200026 分钟前
GPT-Image-2 实战教程:一段提示词生成专业分镜图(含 9 格脚本模板,附一键同款)
人工智能·gpt·image2·imagen
用户3379225456827 分钟前
从字节跳动 DeerFlow 源码看 Agent 平台设计(二):工具系统设计 — 从全量绑定到按需加载
人工智能
IT 行者34 分钟前
GitHub Spec Kit 实战(四):读懂和干预 /speckit.plan——AI 最自由发挥的一步
java·人工智能·github·ai编程·claude
城事漫游Molly36 分钟前
AI辅助实验设计的标准工作流
人工智能·提示词·ai for science·科研论文·实验设计