重塑 CLIP模型,jina-clip-v1 统一多模态模型,实现最先进表现!
对比语言-图像预训练(CLIP)通过将图像和文本映射到固定大小的向量,在共同的嵌入空间中实现对齐——这套思路已经成为多模态领域的基石。这类模型对信息检索、图像理解等任务至关重要,但一个明显短板是:一旦离开图像、只处理纯文本,CLIP 的表现通常不如专门为文本设计的模型。这意味着,如果检索系统需要同时应对纯文本和多媒体内容,就得维护两套独立的嵌入和模型,显然不够高效。
针对这一痛点,一种新颖的多任务对比训练方法被提出来——用该方法训练的 jina-clip-v1 模型,在文本-图像和文本-文本检索任务上都达到了当前最优水平。
1 Introduction
文本-图像对比训练模型(CLIP 是典型代表)利用海量图像及其对应标题的配对,构建了图文对齐的表示空间。另一边,文本-文本对比训练模型(如 jina-embeddings-v2)则通过问题/答案对、查询/文档对等语义相关的文本对,搭建纯文本的相似空间。问题在于,大部分图像标题都很简短,用它们训练出来的 CLIP 模型自然只擅长处理短文本,一遇到长文本就力不从心。从表 1 的实证数据可以清晰看到,OpenAI 的 CLIP 在所有纯文本检索任务上的表现都不理想。这对许多需要长文本输入的应用来说是个麻烦——例如图像-文本检索、多模态检索增强生成(RAG)、图像生成等场景。
本文提出并验证了一套新方法:将大规模图像-标题配对和文本配对放在一起进行对比训练,同时优化图文对齐和文本语义对齐。由于目前缺乏现成的多模态多目标数据集(比如文本-文本-图像三元组),我们为每类任务分别准备数据,然后做联合训练。最终得到的模型 jina-clip-v1,在跨模态 CLIP 基准测试上与原版 EVA-CLIP 旗鼓相当,而文本编码器本身在 MTEB 基准上的表现也与同级别专用模型不相上下。
相关工作
对比学习在文本嵌入中的应用早已成熟。Reimers 和 Gurevych 提出的双编码器架构为成对文本相似性训练开辟了新路;Ni 等人证明了该架构可以高效扩展;Wang 和 Gunther 等人开发了包含“硬负样本”的多阶段训练方法;Mohr 等人则把文本相似性分数直接引入训练。Gunther 和 Chen 等人进一步将文本嵌入模型的输入长度扩展到了 8192 个 token。
在文本-图像对比预训练方面,自 Radford 等提出 CLIP 范式后,改进工作层出不穷。Zhai 等人引入了“锁定图像调优”(LiT),固定图像编码器权重只训练文本编码器与之对齐;Kossen 等人将 LiT 推广到更灵活的“三塔”架构;Zhai 等人提出改进后的 sigmoid 损失函数,在较小 batch size 下表现更好;Cherti 和 Sun 等人探索了不同训练配置(数据集、模型大小、超参数);Zhang 等人实证发现 CLIP 的有效上下文长度不到 20 个 token,并提出拉伸位置编码的方法来提升长文本性能;Sun 等人更是把 EVA-CLIP 架构扩展到了 1800 亿参数。
数据集的持续扩大也功不可没——从 YFCC100M 到 LAION-5B,再到精选数据集 ShareGPT4v,不断推动 CLIP 类模型的能力边界。
3 Model Architecture
模型沿用原始 CLIP 的双编码器架构:一个文本编码器、一个图像编码器,输出维度相同。文本编码器采用 JinaBERT 架构(BERT 变体,集成了 AliBi 以支持长序列输入),并先用 BERT 的掩码语言建模目标进行预训练。实验表明,这种预训练方式比直接用已经经过完整对比训练的文本嵌入模型作为起点,最终效果更好。
图像编码器选择了 EVA02 架构的基础变体,用其预训练权重初始化,以保持与文本编码器相当的参数量。实验显示,EVA02 显著优于同类模型,如 DinoV2 和 OpenCLIP 中的 ViT B/16。
4 Training
图 1 展示了三阶段多任务训练方法(受 Gunther 等人启发),联合优化两个目标:文本-图像匹配和文本-文本匹配。
用于文本-文本匹配的文本通常比用于文本-图像匹配的标题长得多——这正是 CLIP 类模型在纯文本任务上性能下降的主要原因之一。为了缓解模型“忘记”长文本处理能力的问题,训练时同时进行文本-文本和文本-图像匹配,并在训练数据中加入 AI 生成的长图像标题。三个阶段的核心思路如下:
- :重点学习图文对齐,同时尽量不牺牲文本-文本性能。训练数据为短人工标题的图像-文本对 + 文本-文本对。
阶段 1
- :引入更长的合成图像标题,同时继续使用文本-文本对训练。
阶段 2
- :采用困难负样本进一步磨炼文本编码器的分辨能力,同时仍用长图像标题保持图文对齐。
阶段 3
Data Preparation
文本对的来源是一个由 40 个数据集组成的多样化集合(与 Gunther 等人所用类似)。训练时随机选取一个数据集,用文本对嵌入填满每个批次。
第一阶段做图文训练时,图像-标题语料库使用 LAION-400M——从 Common Crawl 中提取的 4 亿图文对。第二阶段和第三阶段换用 ShareGPT4V 数据集,其中包含约 10 万条由 GPT4v 生成的合成标题,加上一个大型标题生成模型产出的 110 万条长标题,总共约 120 万条。
第三阶段还额外引入包含困难负样本的三元文本语料库,混合了 MSMarco、Natural Questions、HotpotQA 以及自然语言推理(NLI)数据集。每个训练批次带一个标注的正样本和七个负样本(通过文本检索模型挑选的困难负样本,NLI 中的负样本则随机选择)。
Loss Functions
三个训练阶段都采用一个联合损失函数,由两个 InfoNCE 损失组成。对于第 1、2 阶段的文本对,损失函数计算批次中文本嵌入对的余弦相似性,并双向求和以保持对称:
常数温度参数控制损失函数对微小差异的敏感程度。参考相关研究,本文选择了合适的值。
对于图文匹配损失,将同样方法应用于图像嵌入和标题对的批次(温度参数可训练,遵循 OpenCLIP 的默认做法)。
在第三阶段的文本-文本训练中,使用从三元组数据库抽取的批次(一个查询、一个正样本、七个负样本)。损失函数是 InfoNCE 的扩展版本(公式 2),双向计算,但加入了额外的负样本:
损失函数定义为:随机变量服从分布时的期望,包含对数负项——第一项是查询与正样本的余弦相似度指数除以温度,除以该指数与所有负样本相似度指数之和;第二项则是对称方向。
Training Steps
每个阶段将文本和图像编码器应用于对应语料库,并组合损失函数进行训练:
阶段 1
阶段 2
阶段 3
5 Evaluation
本文在纯文本任务、纯图像任务以及跨模态任务上评估了模型。表 1 将 jina-clip-v1 与 OpenAI CLIP、EVA-CLIP、LongCLIP ViT B/16 进行了对比。同时,为了评估文本检索能力,也与 jina-embeddings-v2 做了比较。结果明确显示,本文模型在所有基准测试中都表现出色。
跨模态性能通过 CLIP 基准测试中的零样本图像分类和跨模态检索来衡量。零样本图像-文本和文本-图像检索使用了 Flickr8k、Flickr30K 和 MSCOCO Captions 数据集。jina-clip-v1 在所有检索基准上实现了 85.8% 的平均 Recall@5,超过了 OpenAI 的 CLIP,与 EVA-CLIP 不相上下,而训练数据量却显著更少。
文本编码器的评估采用大规模文本嵌入基准(MTEB),涵盖 58 个数据集上的 8 个任务。CLIP 类模型原本在纯文本嵌入上表现一般,尤其是信息检索。但 jina-clip-v1 与顶级纯文本嵌入模型竞争激烈,平均得分 60.12%,比同类 CLIP 模型整体提升约 15%,在检索任务上提升达 22%。
6 Conclusion
本文提出了一种多任务、三阶段的训练方法,使多模态模型在纯文本任务上也能保持高水平性能。使用该方法训练的 jina-clip-v1,在跨模态任务(如图像-文本检索)和纯文本任务(语义文本相似性、文本检索)上都表现优异。这一结果证实,统一的多模态模型可以替代不同模态的独立模型,带来可观的成本节省。
目前模型仅支持英文,受限于多语言资源。未来工作将扩展到多语言场景。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名