Improving Text Embeddings with Large Language Models

📄 arXiv: 2401.00368v3 📥 PDF

作者: Liang Wang, Nan Yang, Xiaolong Huang, Linjun Yang, Rangan Majumder, Furu Wei

分类: cs.CL, cs.IR

发布日期: 2023-12-31 (更新: 2024-05-31)

备注: Accepted by ACL 2024


💡 一句话要点

利用大型语言模型和合成数据,无需标注数据即可显著提升文本嵌入质量。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 文本嵌入 大型语言模型 合成数据 对比学习 无监督学习

📋 核心要点

  1. 现有文本嵌入方法依赖大量弱监督数据预训练和少量标注数据微调,流程复杂且受限于数据集质量和覆盖范围。
  2. 该论文利用大型语言模型生成多样化的合成数据,并在此基础上微调开源解码器LLM,避免了对大量真实标注数据的依赖。
  3. 实验结果表明,该方法在文本嵌入基准测试中表现出色,无需任何标注数据,混合训练后更达到新的SOTA。

📝 摘要(中文)

本文提出了一种新颖而简单的方法,仅使用合成数据和不到1k的训练步骤即可获得高质量的文本嵌入。与现有方法不同,现有方法通常依赖于数十亿弱监督文本对的多阶段中间预训练,然后使用少量标记数据集进行微调,而我们的方法不需要构建复杂的训练流程或依赖于手动收集的数据集,这些数据集通常受到任务多样性和语言覆盖范围的限制。我们利用专有LLM为93种语言的数十万个文本嵌入任务生成多样化的合成数据。然后,我们使用标准对比损失在合成数据上微调开源的仅解码器LLM。实验表明,我们的方法在极具竞争力的文本嵌入基准测试中取得了强大的性能,而无需使用任何标记数据。此外,当使用合成数据和标记数据的混合进行微调时,我们的模型在BEIR和MTEB基准测试中创造了新的最先进结果。

🔬 方法详解

问题定义:现有文本嵌入方法通常需要依赖于大规模的弱监督数据进行预训练,然后使用少量标注数据进行微调。这种方法存在几个痛点:一是需要构建复杂的训练pipeline;二是依赖于人工标注的数据集,这些数据集往往在任务多样性和语言覆盖范围上存在限制;三是训练成本高昂。

核心思路:本文的核心思路是利用大型语言模型(LLM)生成高质量的合成数据,然后使用这些合成数据来训练文本嵌入模型。这样可以避免对大规模真实标注数据的依赖,降低训练成本,并提高模型的泛化能力。

技术框架:该方法主要包含两个阶段:1) 使用专有LLM生成合成数据。具体来说,针对93种语言的数十万个文本嵌入任务,生成多样化的合成数据。2) 使用标准对比损失在合成数据上微调开源的仅解码器LLM。

关键创新:该方法最重要的创新点在于,它完全依赖于合成数据来训练文本嵌入模型,而无需使用任何真实标注数据。这与现有方法形成了鲜明对比,现有方法通常需要依赖于大规模的弱监督数据进行预训练,然后使用少量标注数据进行微调。

关键设计:在数据生成方面,论文利用LLM生成了多样化的文本嵌入任务数据,涵盖了不同的语言和任务类型。在模型训练方面,论文使用了标准的对比损失函数,并对开源的仅解码器LLM进行了微调。具体的参数设置和网络结构等技术细节在论文中没有详细描述。

📊 实验亮点

该方法在无需任何标注数据的情况下,在文本嵌入基准测试中取得了强大的性能。此外,当使用合成数据和标记数据的混合进行微调时,该模型在BEIR和MTEB基准测试中创造了新的state-of-the-art结果,证明了该方法的有效性和优越性。

🎯 应用场景

该研究成果可广泛应用于信息检索、文本分类、语义相似度计算等领域。其无需标注数据的特性,使得该方法在低资源语言和领域具有巨大的应用潜力。未来,该方法可以进一步扩展到其他模态,例如图像和语音,从而实现跨模态的嵌入学习。

📄 摘要(原文)

In this paper, we introduce a novel and simple method for obtaining high-quality text embeddings using only synthetic data and less than 1k training steps. Unlike existing methods that often depend on multi-stage intermediate pre-training with billions of weakly-supervised text pairs, followed by fine-tuning with a few labeled datasets, our method does not require building complex training pipelines or relying on manually collected datasets that are often constrained by task diversity and language coverage. We leverage proprietary LLMs to generate diverse synthetic data for hundreds of thousands of text embedding tasks across 93 languages. We then fine-tune open-source decoder-only LLMs on the synthetic data using standard contrastive loss. Experiments demonstrate that our method achieves strong performance on highly competitive text embedding benchmarks without using any labeled data. Furthermore, when fine-tuned with a mixture of synthetic and labeled data, our model sets new state-of-the-art results on the BEIR and MTEB benchmarks.