大家好,我是HxShine
当蠢才享一篇Microsoft公司的一篇文章,Title: Improving Text Embeddings with Large Language Models:经常使用大型言语模型改善文本嵌入。
这篇文章探求了间接应用LLM来做embedding模型,其只要要应用分解数据和少于1000次的训练步骤就能取得高品质文本表征。
该方法分为两步:1)应用LLM生成文本embedding义务分解数据集:应用专有的大型言语模型(LLM)生成近100种言语的数十万个文本嵌入义务的多样化分解数据。2)对比损失微调:经常使用规范对比损失对开源的decoder-only LLM启动微调。
该方法特点总结如下:1)充沛开掘了大模型生成数据多样性还不错的特点,应用这个特点,可以应用LLM生成多样性比拟好、类型丰盛、以及多言语的文本表征模型数据集。2)相关于之前例如SimCSE等模型,须要在少量语料上继续做预训练以及微调,本文发现自回归的LLM只要大批监视数据就能取得一个十分不错的成果。3)多言语的检索才干也不错。
一、概述
Title:Improving Text Embeddings with Large Language Models论文地址:
1Motivation
省流版总结:
2.1 应用LLM生成训练样本
通常训练embedding模型剧烈依赖正负样本数据,标注老本比拟高。这里本文尝试应用专有LLM(如GPT-4)生成近100种言语的多样化分解数据,用于训练embedding模型。
背景:经常使用LLM分解数据,增强文本嵌入模型的多样性和鲁棒性。方法:设计了多种义务类型和言语的模板,经过LLM生成分解数据。特点: 能够笼罩宽泛的义务和言语类型,提高数据的多样性和品质。
1)应用LLM罗列检索义务:
2)针对每个义务,应用LLM依照要求生成训练样本:
2.2 模型训练
要点一:须要指定义务task_definition,输入用户疑问。其中分解的数据用2.1中第一步LLM生成的义务定义,其余数据集人工设置固定的模版。
要点二:相似度计算模式为cos相似度,并联合温度系数超参数来调理详细值。
要点三:Loss函数为规范的InfoNCE函数,其处罚了负样本,优化正样本的相似度分数。
3 Conclusion
论断1: 经常使用LLM生成的分解数据可以清楚优化文本嵌入的性能。
论断2: 方法在多言语环境下体现良好,特意是在BEIR和MTEB基准上。
论断3: 本方法提供了一种更高效的文本嵌入训练战略,防止了复杂的多阶段训练。
4Limitation
二、详细内容
2.1 分解数据的统计剖析
论断1: 生成了500k个样例,涵盖了150k个共同指令。包含非对称义务(query和doc不对称):short-long代表query是短文本,doc为长文本,其余可以反推。另一类义务是对称义务(query和doc语义相近,然而不平等):sts代表单言语语义相似度计算、bitext代表双言语检索义务。
论断2: 生成数据中笼罩93种言语。言语多样性不错,英语占大少数,其余言语占比也不少。
2.2 模型微调与评价
实验设置:基座模型为Mistral-7b,微调方法为Lora,rank=16。
论断1: "E5mistral-7b + full>论断4: 该方法的实验结果显示了生成言语建模和文本嵌入之间的潜在咨询。
2.3 与商业闭源模型对比
论断:在BEIR Retrieval数据集和MTEB数据集都取得了SoTa。
2.4 LLM只要要大批数据做微调即可取得比拟好的成果
论断一:传统数据应用少量数据联合对比学习做无监视训练可以带来不错的优化。
论断二:经过少量语料训练的自回归LLM模型曾经不须要继续做预训练了,只要要大批的数据微调即可取得比拟好的成果。
2.5 多言语义务上也十分有竞争力
论断一:高资源(数据量多)义务例如英语,成果比之前的mE5模型成果好,低资源义务成果相对mE5也十分有竞争力。
2.6 消融实验:instruction设置比拟关键
论断一:基座模型选用也比拟关键,选用LLaMA-2的基座模型比Mistral-7b作为基座模型差。
论断二:instruction的设置也十分关键,对最终结果的影响或者差4个点以上。
2.7 context长度对检索品质的影响:4k左右高低文文本表征都还不错,随后成果急剧降低。
论断:引入了一项名为共性化明码检索的新型分解义务,此义务须要在长高低文中将密钥消息编码到嵌入中。经过更改图5中的滑动窗口大小和RoPE旋转底座来比拟不同变体的性能。结果显示,带有4k滑动窗口的自动性能在4k token数到达100%的准确性,但随着高低文长度的增长,准确性会迅速降低。
三、总结
论断1:应用LLM生成的分解数据可以清楚优化文本嵌入的性能。 这种方法在处置多种言语时尤其有效,能够生成高品质、多样化的分解数据。
论断2:应用LLM训练Embedding模型可以十分高效。 与现有多阶段方法相比,其只要要少于1000次的训练步骤就可以拿到比拟好的成果,而现有方法或者要先应用少量数据做自监视训练,而后再经常使用有监视数据训练,效率不高。
论断3:本文应用LLM做embedding是一个打破,但产业界还不太适用。 本文初次探求LLM做embedding,成果还不错,但模型大,推理老本也高,产业界适用性不高(bge关系模型只要M左右,本文方法模型到达7B以上),后续可以探求LLM生成和开掘正负样本数据,应用传统方法例如双塔+SimCSE系列等模型启动训练,而后再运行到产业界。
本文转载自 NLP PaperWeekly ,作者:NLP PaperWeekly