LLM2CLIP

GitHub
644 29 较难 1 次阅读 2天前MIT插件其他
AI 解读 由 AI 自动生成,仅供参考

LLM2CLIP 是一个旨在显著提升现有 CLIP 模型性能的开源项目。它创新性地将大型语言模型(LLM)引入视觉编码训练,将其作为强大的“文本教师”,从而赋予多模态学习更丰富的语义理解能力。

传统 CLIP 模型受限于较短的文本上下文窗口(仅 77 个 token),且文本编码器对复杂语句的理解往往停留在关键词匹配层面,难以处理长文本或深层语义。LLM2CLIP 有效解决了这些痛点:它不仅大幅扩展了输入上下文长度,让模型能读懂更详尽的图片描述,还利用 LLM 蕴含的开放世界知识,显著提升了图文对齐的精准度。即使在纯英文语料上微调,其在中文等多语言场景下的表现也能超越原生模型。

该项目的核心技术亮点在于提出了“标题到标题的对比学习”(Caption-to-Caption Contrastive Learning)策略。这一方法克服了直接使用 LLM 输出空间可分性不足的难题,成功将 LLM 强大的语言理解力转化为高效的视觉表征能力,并在 AAAI 2026 荣获杰出论文奖。

LLM2CLIP 非常适合从事多模态算法研究的研究人员、需要高性能视觉编码器的开发者,以及希望探索前沿图文检索技术的工程师使用。通过集成此框架,用户可以轻松获得在长短文本检索及多语言任务中表现卓越的新一代 CLIP 模型。

使用场景

某电商平台的算法团队正在构建一个支持长描述检索的智能图库系统,旨在让用户能通过详细的自然语言描述精准定位商品图片。

没有 LLM2CLIP 时

  • 长文本截断严重:传统 CLIP 模型仅支持 77 个 token 的上下文窗口,用户输入的“带有复古花纹且适合夏季穿着的红色棉质连衣裙”等长描述会被强制截断,导致关键特征丢失。
  • 语义理解浅层化:文本编码器更像是一个“词袋模型”,难以理解复杂的修饰关系和抽象概念,无法区分“放在桌子上的苹果”与“作为图案印在衣服上的苹果”。
  • 跨语言检索效果差:在处理非英语的多语言商品描述时,由于缺乏开放世界知识的支持,图文匹配准确率大幅下降,严重影响国际化业务体验。
  • 训练效率低下:为了弥补文本理解的不足,团队不得不耗费大量算力收集并清洗海量配对数据进行暴力训练,但提升依然有限。

使用 LLM2CLIP 后

  • 超长上下文完美支持:LLM2CLIP 利用大语言模型扩展了输入窗口,能够完整处理冗长的商品详情描述,确保每一个形容词和场景细节都被纳入视觉对齐计算。
  • 深度语义对齐:借助 LLM 强大的推理能力,模型能精准捕捉复杂句式中的逻辑关系,显著提升了对细粒度视觉特征的识别精度,误检率大幅降低。
  • 多语言能力跃升:即使在纯英文语料上微调,LLM2CLIP 也能凭借大模型的开放世界知识,在中文等多语言检索任务中超越原生多语言 CLIP 模型的表现。
  • 数据效率显著提高:通过“标题对标题”的对比学习策略,模型在更少的高质量数据下即可实现更优的特征分离度,大幅缩短了模型迭代周期。

LLM2CLIP 通过将大语言模型转化为视觉编码器的“文本导师”,彻底突破了传统多模态模型在长文本理解与语义深度上的天花板。

运行环境要求

操作系统
  • 未说明
GPU

未说明 (项目涉及 LLM 和 CLIP 视觉编码器训练,通常隐含需要 NVIDIA GPU,但 README 未指定具体型号、显存或 CUDA 版本)

内存

未说明

依赖
notes1. 建议使用 conda 创建名为 'llm2clip' 的虚拟环境。 2. 运行前需准备数据集(如 CC3M, CC12M, YFCC15M),并执行脚本下载及提取嵌入向量。 3. 模型权重可通过 HuggingFace Collection 获取。 4. 该项目主要利用大语言模型作为文本教师来微调 CLIP 视觉编码器,训练时 LLM 梯度冻结。
python3.8
requirements.txt 中定义的依赖 (具体列表未在 README 中展示)
LLM2CLIP hero image

快速开始

LLM2CLIP:强大语言模型解锁更丰富的视觉表征

欢迎来到 LLM2CLIP 的官方仓库!本项目利用大型语言模型(LLMs)作为 CLIP 视觉编码器的强大文本教师,从而实现更加细腻和全面的多模态学习。

论文 项目主页 HuggingFace 专区
论文:已被 NeurIPS 2024 自监督学习——理论与实践研讨会以及 AAAI 2026 接受(杰出论文奖


新闻 🚀🚀🚀

  • [2026-01-23] 🎉 LLM2CLIP 荣获 AAAI 2026 杰出论文奖!
    我们的成果因在多模态表征学习领域的贡献而受到 AAAI 的认可,凸显了利用大型语言模型作为文本教师来显著提升 CLIP 式视觉表征的有效性。
    👉 AAAI 2026 大会论文奖项及表彰
  • [2025-03-25] 🔥 SigLIP2 模型已更新为采用 LLM2CLIP 训练版本。
    基于 SigLIP2 的新检查点在 短文本和长文本图像检索 以及 多语言文本-图像检索 方面均表现出 显著提升,进一步验证了 LLM2CLIP 框架的可扩展性和通用性。
  • [2024-11-18] 我们在 HuggingFace 上发布了基于 Caption-Contrastive 微调的 Llama3-8B-CC 模型,并计划推出更多版本。
  • [2024-11-08] 我们目前正在训练一个使用十倍数据集的 扩展版,同时还将发布 EVA ViT-E、InternVL-300M、SigCLIP-SO-400M 等模型,以及更多通过 LLM2CLIP 训练的 VLLM 结果。敬请期待最强大的 CLIP 模型,感谢您的 Star 支持!
  • [2024-11-06] OpenAI 的 CLIP 以及 EVA02 的 ViT 基础和大型模型现已在 HuggingFace 上提供。
  • [2024-11-01] 我们的论文已被 NeurIPS 2024 SSL 研讨会接收!

现有 CLIP 面临的挑战

当前版本的 CLIP 存在若干局限性:

  • 有限的上下文窗口:文本编码器的上下文窗口仅有 77 个 token,这限制了其对长篇输入的理解能力。
  • 较弱的文本理解能力:文本编码器在理解复杂文本方面相对有限,常常表现为一种缺乏深度的词袋模型。

为何将 LLM 与 CLIP 结合?

LLM2CLIP 将大型语言模型难以想象的强大能力引入 CLIP,甚至超越了原生的语言能力。我们仅基于英文语料微调的 LLM2CLIP,在性能上超越了标准中文 CLIP 模型:

  1. 扩展输入窗口:LLM 扩展了 CLIP 的输入窗口,允许更丰富的文本上下文,更好地理解长篇输入。
  2. 增强理解力:借助 LLM,CLIP 对密集且复杂的标题有了更深入的理解,从而提升了文本与图像的对齐效果。
  3. 开放世界知识:LLM 提供开放世界的知识,使多模态特征对齐更具全局性,并提高了训练效率。

核心挑战

尽管 LLM 具备强大的文本编码能力,但其输出空间往往分离度不高,这限制了它在对比学习中的有效性。 coco_score.svg

我们的解决方案

为克服这些挑战,我们设计了一种 标题到标题的对比学习 策略。我们训练 LLM 更好地区分相同或不同图像的标题,从而增强 LLM 输出空间的可分离性。在训练过程中,LLM 的梯度被冻结,而 CLIP 的视觉编码器则在有限的数据上进行微调,最终实现了显著的性能提升。

通过这一策略,我们更好地利用了 LLM 理解和处理 长篇且密集标题 的能力,从而提升了整体的表征能力。

使用 LLM2CLIP 可以实现什么?

  1. 增强 CLIP 模型:使用密集标题或特定任务的图像-文本数据集对预训练的 CLIP 模型进行微调,使其在各种应用场景中表现更强。
  2. 开箱即用的强大性能:直接使用我们经过 LLM 指导大幅提升的 CLIP 模型,在多模态任务中获得卓越的表现。

main.svg

模型库(持续更新)

请持续关注预训练模型和数据集的更新,它们将在 HuggingFace 模型库 中陆续发布。


💻 安装指南

  1. 创建环境

    conda create -n llm2clip python=3.8
    conda activate llm2clip
    pip install -r requirements.txt
    
  2. LLM2CLIP 数据准备

    cd llm2clip/data
    
    # 训练数据集
    DATASET=cc3m #选项: "cc3m", "cc12m", "yfcc15m"
    bash download_dataset.sh $DATASET
    python extract_embedding.py $DATASET
    
    # 评估数据集
    bash setup_eval_datasets.sh
    python extract_eval_embedding.py
    
  3. 🔥 训练

    sh run.sh
    

📚 常见问题解答

如需更多见解和解答,请访问我们的 FAQ 页面。

Q1:

问:可以预见,LLM2CLIP技术将在扩展CLIP对更多模态数据的支持方面具有重要意义。就文章内容而言,LLM2CLIP令人惊喜地提升了CLIP在跨语言和长文本任务中的适应性。同时,它也为音频、视频等更高维数据模态的应用提供了可能性。当然,这也对LLM2CLIP的适配策略和微调方法提出了更高的要求。基于贵团队目前对LLM2CLIP的理解,您认为还会面临哪些额外的挑战,比如高维模态的特征空间对齐问题?

A1 答: 说实话,我们已经在探索基于视频的LLM2CLIP版本,包括将数据集规模和模型参数都提升几个数量级。请大家持续关注我们的后续进展,如果您感兴趣,我们也非常乐意进一步交流!

在这一领域,我还看到了以下一些挑战:

  1. 增强对比学习中的监督信号: 虽然大语言模型在理解文本方面具有很强的能力,但提供有价值且丰富的文本信息同样至关重要。例如,在视频任务中,我们可以用更密集的字幕、提示或指令来丰富输入。这些信息能够为大语言模型提供更复杂、更细致的解读线索,从而更好地引导跨模态空间的构建。

  2. 跨维度扩展对比学习损失: 对比学习损失可以应用于多个维度,比如视频数据中的时间维度。针对这些额外维度,我们可以设计不同的提示输入给大语言模型,以引导和控制训练过程,进一步强化多模态表征。

  3. 应对视频中复杂的时序逻辑: 视频理解的难点往往在于如何处理长时间跨度内的复杂时序关系。对此,我们可以引入基于大语言模型的自我博弈技术,通过设置任务来增加训练目标的复杂度。例如,设计让大语言模型模拟并推理序列场景的情境,从而进一步提升其学习能力。

Q2:

问:LLM2CLIP这篇论文真是太有突破性了!将大型语言模型与CLIP创新性地结合,以增强跨模态表征学习,确实令人振奋。文中展示的性能提升,尤其是在长文本和短文本检索任务上的表现,十分亮眼,对多模态人工智能领域具有重大意义。

我对你们工作的钦佩促使我想要探讨LLM2CLIP在更为专业领域的应用潜力,比如医学或法律,这些领域对文本理解的精准性和专业性有着极高的要求。因此,我想了解一下,LLM2CLIP是否已经针对需要高度准确性和专业性的领域特定文本进行了测试?或者是否有相关计划?

非常期待您就此问题的见解,以及LLM2CLIP如何被调整或扩展以应对这些专业领域的挑战!

A2 答: 您的想法非常棒,事实上我们也曾有过类似的思考。我认为在专业领域开展研究具有巨大潜力,原因如下:

  1. 数据有限,效果显著: 我们的工作主要是在极少量数据(300万到6000万)上对预训练的CLIP模型进行LLM2CLIP微调。与CLIP预训练通常使用的10亿到20亿数据相比,这属于小样本范畴,但已展现出显著的性能提升。如果聚焦于专业领域,我们便能利用有限的领域专属数据,使模型在特定知识方向上得到极为出色的训练。这种方法甚至有可能彻底解决相关多模态领域中可能出现的感知或认知幻觉问题。

  2. 利用大语言模型的知识作为数据增强: 某些专业领域,如医疗报告,常常面临数据匮乏的问题。而大语言模型由于长期积累的开放世界知识,其内部所蕴含的知识恰恰可以作为优质的数据增强手段。

我们非常期待与您合作,共同推动多模态领域的边界拓展!

顺便提一下,我们计划在下个季度发布更大规模的LLM2CLIP模型(规模扩大10至100倍)。这些模型将继承我们通用型的参数,有望变得更加强大。请大家持续关注我们的GitHub!

第三问:

问:非常感谢您们发表了如此出色的工作。我有两个关于第3.2节中描述的微调过程的问题,尤其是关于损失函数和数据集的整合方式:

论文中提到了两种损失函数:SimCSE损失和掩码下个词预测(MNTP)。然而,目前尚不明确这两种损失函数是在训练过程中同时使用,还是将训练过程分为不同阶段,分别应用每种损失。能否请您澄清一下这些损失的具体使用方式?如果它们是共同使用的,那么各自分配的权重是多少呢?

关于数据集,文中提到CC-3M和Wikitext-103作为训练的一部分。但似乎不太清楚这两类数据集在训练阶段是如何结合使用的。考虑到Wikitext-103是一个纯文本语料库,而CC-3M则是图像-标题对数据集,它们在微调过程中是如何协同工作的?是用于不同的阶段或任务吗?

期待您的解答!

A3 答: 感谢您的提问,很高兴为您解答。

损失函数的整合: 我们使用监督式SimCSE损失,使得同一张图片的不同标题互为正样本,而不同图片的标题则互为负样本。这一损失函数是我们方法的核心,它能够为图像提供有意义的监督信号。不过,掩码下个词预测(MNTP)是我们采用监督式SimCSE损失之前的初始阶段,可以理解为更早的训练步骤。具体来说,我们先进行MNTP训练,然后再进行监督式SimCSE损失训练,整个过程分为两个阶段。实际上,MNTP对最终结果的影响较小,因此即使去掉MNTP也不会影响结论。不过,为了达到最佳性能,我们仍然选择在应用监督式SimCSE损失之前先执行MNTP。

数据集的组合: 我们确实混合了纯文本数据集和标题数据集。这是因为大语言模型最初是在纯文本数据上预训练的,所以我们希望通过使用纯文本数据集Wikitext-103来尽量保留其原始分布,避免出现较大偏移,同时也有助于缓解由标题数据可能带来的偏差。我们的做法是将两类数据集混合并随机打乱,然后按照常规方式采样批次进行训练。这是一种常见且有效的实践。

如果您还有其他问题,欢迎随时提出。

❤️ 致谢

我们的代码基于EVA-CLIP构建。在此,我们要感谢EVA团队所做的基础性工作。

引用信息

如果您使用了我们的工作,请引用以下内容:

@misc{huang2024llm2clippowerfullanguagemodel,
      title={LLM2CLIP: Powerful Language Model Unlock Richer Visual Representation}, 
      author={Weiquan Huang and Aoqi Wu and Yifan Yang and Xufang Luo and Yuqing Yang and Liang Hu and Qi Dai and Xiyang Dai and Dongdong Chen and Chong Luo and Lili Qiu},
      year={2024},
      eprint={2411.04997},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2411.04997}, 
}

常见问题

相似工具推荐

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|2天前
插件开发框架

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|4天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

75.1k|★★★☆☆|今天
语言模型图像开发框架

awesome-machine-learning

awesome-machine-learning 是一份精心整理的机器学习资源清单,汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点,这份清单按编程语言(如 Python、C++、Go 等)和应用场景(如计算机视觉、自然语言处理、深度学习等)进行了系统化分类,帮助使用者快速定位高质量项目。 它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库,还是资深工程师对比不同语言的技术选型,都能从中获得极具价值的参考。此外,清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源,构建了从学习到实践的全链路支持体系。 其独特亮点在于严格的维护标准:明确标记已停止维护或长期未更新的项目,确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”,awesome-machine-learning 以开源协作的方式持续更新,旨在降低技术探索门槛,让每一位从业者都能高效地站在巨人的肩膀上创新。

72.1k|★☆☆☆☆|5天前
开发框架其他

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.8k|★★★☆☆|今天
语言模型Agent开发框架