Gecko: Versatile Text Embeddings Distilled from Large Language Models

TL;DR

Gecko通过两步蒸馏大模型知识,使用256维超越768维模型性能。

cs.CL 🔴 高级 2024-03-30 46 次浏览
Jinhyuk Lee Zhuyun Dai Xiaoqi Ren Blair Chen Daniel Cer Jeremy R. Cole Kai Hui Michael Boratko Rajvi Kapadia Wen Ding Yi Luan Sai Meher Karthik Duddu Gustavo Hernandez Abrego Weiqiang Shi Nithi Gupta Aditya Kusupati Prateek Jain Siddhartha Reddy Jonnalagadda Ming-Wei Chang Iftekhar Naim
文本嵌入 知识蒸馏 大模型 信息检索 多任务学习

核心发现

方法论

该方法利用大语言模型(LLM)生成多样化合成数据,首先通过提示生成任务和查询,再用预训练模型嵌入,结合LLM重新排序候选段落,提取正负样本。随后,将此数据与人工标注结合,进行两步蒸馏训练,形成紧凑高效的嵌入模型。模型在MTEB基准中,256维超越768维模型,768维达66.31分,表现优异。

关键结果

  • 在MTEB上,Gecko-256维模型以较少参数超越所有768维模型,表现出极佳的检索和语义相似性性能,平均得分66.31,优于多项大模型。Gecko-768维模型达66.31分,接近7倍参数规模模型,显示出极强的效率与效果比。
  • 在多语言检索任务中,Gecko多语言版本在18种语言中表现优异,超越传统方法如BM25和mDPR,验证其跨语言泛化能力。
  • 通过多任务和合成数据的结合,模型在多任务、多场景中均展现出良好的适应性,尤其在零样本环境下依然保持较高性能,验证了知识蒸馏的有效性。

研究意义

该研究突破了文本嵌入模型对大规模标注数据的依赖,利用LLM的知识生成高质量合成数据,显著提升模型效率。其紧凑性和多任务适应性,为信息检索、问答、文本分类等实际应用提供了强有力的技术支撑,推动了轻量级模型在工业界的广泛应用。

技术贡献

提出基于两步蒸馏的训练框架,结合LLM生成多样化任务和候选排序,创新性地将合成数据与人工数据融合,极大提升模型性能。引入多任务混合训练和硬负样本挖掘策略,优化对多场景的适应能力,显著缩小模型规模与性能差距。

新颖性

首次系统性利用LLM生成多任务、多样化合成数据,通过两步蒸馏训练紧凑模型,超越传统依赖人工标注的方法。创新性在于结合LLM的知识生成与排序能力,提升低维模型的表现,开创了文本嵌入的全新路径。

局限性

  • 模型主要在英语数据上训练,跨语言泛化仍需验证,特别是低资源语言表现可能不足。
  • 依赖LLM的生成质量,若LLM偏误或生成偏差,可能影响最终模型的效果。
  • 训练过程中对大规模LLM调用成本较高,实际部署需考虑效率优化。

未来方向

未来将探索多语言、多任务的联合训练策略,提升模型在低资源场景中的表现。还将结合更高效的LLM生成技术,降低训练成本,扩展模型适用范围,并研究模型对偏见和误导信息的鲁棒性。

AI 总览摘要

随着自然语言处理任务的不断复杂化,构建高效、通用的文本嵌入模型成为研究热点。传统方法依赖大量人工标注数据,成本高昂且难以覆盖所有场景。本文提出Gecko,一种基于大模型知识蒸馏的紧凑、多任务文本嵌入方案。其核心创新在于利用大语言模型(LLM)生成多样化的合成数据,通过两步蒸馏,将丰富的知识融入到参数较少的模型中。具体流程包括:首先用LLM提示生成任务和查询,再用预训练模型嵌入候选段落,结合LLM排序筛选正负样本;其次,将此合成数据与人工数据融合,进行多任务联合训练。实验结果显示,256维的Gecko模型在MTEB基准中,超越了参数规模更大的模型,达到了66.31的平均分,表现优异。多语言版本在18种语言中也展现出强大泛化能力,验证了其跨域适应性。该方法极大降低了数据依赖,提升了模型效率,为信息检索、问答等应用提供了新思路。未来,将继续优化多语言能力和训练效率,推动轻量级模型在实际场景中的广泛部署。

深度分析

研究背景

近年来,文本嵌入技术不断发展,从早期的Word2Vec到BERT、SBERT,再到大规模预训练模型,极大提升了语义理解能力。代表性工作如Universal Sentence Encoder、Sentence-T5等,追求多任务通用性,但仍受制于大量标注数据和模型规模。随着大模型兴起,利用其知识优势进行合成数据生成成为新趋势,但多依赖人工标注,成本高昂。当前研究试图突破这一瓶颈,通过知识蒸馏和合成数据,提升模型的效率和泛化能力。

核心问题

现有文本嵌入模型在多任务、多场景应用中表现有限,主要受制于训练数据的不足和模型规模限制。大模型虽有丰富知识,但部署成本高,难以普及。如何在保持高性能的同时,减小模型体积、降低训练成本,成为亟待解决的问题。尤其是在多任务、多语言环境下,模型的泛化能力和适应性不足,限制了其实际应用范围。

核心创新

本研究提出两步蒸馏框架,创新点在于:1)利用LLM生成多样化任务和查询,丰富训练样本;2)结合LLM排序筛选正负样本,提升数据质量;3)将合成数据与人工数据融合,进行多任务联合训练。此方法突破了传统依赖人工标注的局限,显著提升低维模型性能。引入硬负样本挖掘和多任务混合训练策略,增强模型的泛化能力和鲁棒性。

方法详解

  • �� 利用大语言模型(如GPT-3)通过提示生成多样化任务和查询,覆盖问答、事实核查、句子相似等场景。• 通过预训练模型(如BERT)将任务和查询嵌入,利用相似度检索候选段落。• 使用LLM对候选段落进行排序,筛选出最相关的正样本和难负样本。• 将合成数据(FRet)与人工标注数据结合,构建多任务训练集。• 采用对比学习损失(如InfoNCE)进行模型优化,加入多尺度嵌入(如768和256维)以支持多场景。• 训练过程中,动态调整正负样本,强化模型对不同任务的适应性。

实验设计

在MTEB基准上,采用多任务、多语言数据集,比较不同模型表现。基线包括SBERT、Universal Sentence Encoder等,评估指标涵盖检索、STS、分类等。超参数包括:批次大小、温度参数、负样本采样策略。通过消融实验验证合成数据和排序策略的贡献,分析模型在不同任务中的表现差异。多语言模型还在18种语言中测试,验证跨域能力。

结果分析

Gecko-256维模型在MTEB中达66.31分,超越参数更大模型,表现优异。多语言版本在18语种中平均得分56.2,优于传统方法。合成数据的引入显著提升了模型的多任务性能,尤其在零样本环境中表现出色。多任务融合策略增强了模型的泛化能力,验证了知识蒸馏的有效性。

通俗解读 非专业人士也能看懂

想象你在厨房做菜,传统的方法需要准备很多不同的食材和调料,每次做不同菜都要重新准备。现在,有一种神奇的厨师(大模型),它可以根据你的需要,自动生成各种菜谱和调料配方,还能帮你挑选最合适的食材。你只需告诉它想做什么菜,它就能帮你准备好所有材料,还能帮你挑出最好的配料。这样一来,做菜变得更快、更方便,而且每次都能做出美味的菜肴。这就像Gecko用大模型生成多样化的训练数据,帮助小模型学会更多技能,变得更聪明、更高效。

简单解释 像给14岁少年讲一样

想象你在学校里学新东西,老师给你讲很多知识,但你觉得有时候老师讲的内容太多,记不住。于是,你的朋友(大模型)帮你整理出重点,还给你讲一些有趣的故事,让你更容易理解。这个朋友还能帮你找一些相关的例子,帮你练习。慢慢地,你变得越来越聪明,学东西也更快了。Gecko就像这个朋友,它用大模型帮小模型学习,把复杂的知识变得简单,让它在考试和生活中都能表现得很好。

原文摘要

We present Gecko, a compact and versatile text embedding model. Gecko achieves strong retrieval performance by leveraging a key idea: distilling knowledge from large language models (LLMs) into a retriever. Our two-step distillation process begins with generating diverse, synthetic paired data using an LLM. Next, we further refine the data quality by retrieving a set of candidate passages for each query, and relabeling the positive and hard negative passages using the same LLM. The effectiveness of our approach is demonstrated by the compactness of the Gecko. On the Massive Text Embedding Benchmark (MTEB), Gecko with 256 embedding dimensions outperforms all existing entries with 768 embedding size. Gecko with 768 embedding dimensions achieves an average score of 66.31, competing with 7x larger models and 5x higher dimensional embeddings.

cs.CL cs.AI