Microsoft | 利用LLM本身訓(xùn)練SoTA embedding模型
大家好,我是HxShine
今天分享一篇Microsoft公司的一篇文章,Title: Improving Text Embeddings with Large Language Models:使用大型語言模型改善文本嵌入。
這篇文章探索了直接利用LLM來做embedding模型,其只需要利用合成數(shù)據(jù)和少于1000次的訓(xùn)練步驟就能獲得高質(zhì)量文本表征。
該方法分為兩步:1)利用LLM生成文本embedding任務(wù)合成數(shù)據(jù)集:利用專有的大型語言模型(LLM)生成近100種語言的數(shù)十萬個文本嵌入任務(wù)的多樣化合成數(shù)據(jù)。2)對比損失微調(diào):使用標(biāo)準(zhǔn)對比損失對開源的decoder-only LLM進(jìn)行微調(diào)。
該方法特點總結(jié)如下:1)充分挖掘了大模型生成數(shù)據(jù)多樣性還不錯的特點,利用這個特點,可以利用LLM生成多樣性比較好、類型豐富、以及多語言的文本表征模型數(shù)據(jù)集。2)相對于之前例如SimCSE等模型,需要在大量語料上繼續(xù)做預(yù)訓(xùn)練以及微調(diào),本文發(fā)現(xiàn)自回歸的LLM只需少量監(jiān)督數(shù)據(jù)就能獲得一個非常不錯的效果。3)多語言的檢索能力也不錯。
一、概述
Title:Improving Text Embeddings with Large Language Models
論文地址:???https://arxiv.org/abs/2401.00368??
1 Motivation
- 現(xiàn)有的文本嵌入方法依賴于多階段預(yù)訓(xùn)練和少量標(biāo)注數(shù)據(jù)的微調(diào)【大量數(shù)據(jù)->弱監(jiān)督預(yù)訓(xùn)練,少量標(biāo)注數(shù)據(jù)->fine-tuning】,需要構(gòu)建復(fù)雜的訓(xùn)練流程,且數(shù)據(jù)集通常受限于任務(wù)多樣性和語言覆蓋范圍。
- 本文提出了一種新的方法:利用大型語言模型生成多樣化的合成數(shù)據(jù),通過簡單但有效的訓(xùn)練步驟改善文本嵌入的質(zhì)量,特別在多種語言環(huán)境中效果非常不錯。
2 Methods
省流版總結(jié):
- 合成數(shù)據(jù)生成:分兩步生成合成數(shù)據(jù),第一步生成檢索任務(wù)主題,第二步根據(jù)主題生成問題、正樣本、負(fù)樣本。其特點是生產(chǎn)的檢索任務(wù)多樣性不錯、同時還可以生成多語言的數(shù)據(jù)集。
- 對比學(xué)習(xí)訓(xùn)練:利用常規(guī)的對比學(xué)習(xí)loss InfoNCE函數(shù)訓(xùn)練模型,只是用合成數(shù)據(jù),只需要1k步左右訓(xùn)練就能有一個不錯的效果,疊加監(jiān)督數(shù)據(jù)效果更佳 。
2.1 利用LLM生成訓(xùn)練樣本
通常訓(xùn)練embedding模型強(qiáng)烈依賴正負(fù)樣本數(shù)據(jù),標(biāo)注成本比較高。這里本文嘗試?yán)脤S蠰LM(如GPT-4)生成近100種語言的多樣化合成數(shù)據(jù),用于訓(xùn)練embedding模型。
背景:使用LLM合成數(shù)據(jù),增強(qiáng)文本嵌入模型的多樣性和魯棒性。
方法:設(shè)計了多種任務(wù)類型和語言的模板,通過LLM生成合成數(shù)據(jù)。
特點: 能夠覆蓋廣泛的任務(wù)和語言類型,提高數(shù)據(jù)的多樣性和質(zhì)量。
1)利用LLM列舉檢索任務(wù):
2)針對每個任務(wù),利用LLM按照要求生成訓(xùn)練樣本:
2.2 模型訓(xùn)練
要點一:需要指定任務(wù)task_definition,輸入用戶問題。其中合成的數(shù)據(jù)用2.1中第一步LLM生成的任務(wù)定義,其他數(shù)據(jù)集人工設(shè)置固定的模版。
要點二:相似度計算方式為cos相似度,并結(jié)合溫度系數(shù)超參數(shù)來調(diào)節(jié)具體值。
要點三:Loss函數(shù)為標(biāo)準(zhǔn)的InfoNCE函數(shù),其懲罰了負(fù)樣本,提升正樣本的相似度分?jǐn)?shù)。
3 Conclusion
結(jié)論1: 使用LLM生成的合成數(shù)據(jù)可以顯著提升文本嵌入的性能。
結(jié)論2: 方法在多語言環(huán)境下表現(xiàn)良好,特別是在BEIR和MTEB基準(zhǔn)上。
結(jié)論3: 本方法提供了一種更高效的文本嵌入訓(xùn)練策略,避免了復(fù)雜的多階段訓(xùn)練。
4 Limitation
- 盡管在多種語言中表現(xiàn)良好,但對低資源語言的支持仍有待改進(jìn),利用LLM做文本embedding成本還比較高。
- 未來工作將探索使用開源LLM生成合成數(shù)據(jù),并提高模型在長文本處理方面的效率。
二、詳細(xì)內(nèi)容
2.1 合成數(shù)據(jù)的統(tǒng)計分析
結(jié)論1: 生成了500k個樣例,涵蓋了150k個獨(dú)特指令。包括非對稱任務(wù)(query和doc不對稱):short-long代表query是短文本,doc為長文本,其他可以反推。另一類任務(wù)是對稱任務(wù)(query和doc語義相近,但是不對等):sts代表單語言語義相似度計算、bitext代表雙語言檢索任務(wù)。
結(jié)論2: 生成數(shù)據(jù)中覆蓋93種語言。語言多樣性不錯,英語占大多數(shù),其他語言占比也不少。
2.2 模型微調(diào)與評估
試驗設(shè)置:基座模型為Mistral-7b,微調(diào)方法為Lora,rank=16。
結(jié)論1: "E5mistral-7b + full data"模型在MTEB基準(zhǔn)上超過先前最佳模型2.4分。
結(jié)論2: 使用混合數(shù)據(jù)微調(diào)的模型在MTEB基準(zhǔn)上取得了最高平均得分。
結(jié)論3: w/synthetic data only代表僅使用合成數(shù)據(jù)訓(xùn)練的模型表現(xiàn)仍然競爭力十足。
結(jié)論4: 該方法的實驗結(jié)果顯示了生成語言建模和文本嵌入之間的潛在聯(lián)系。
2.3 與商業(yè)閉源模型對比
結(jié)論:在BEIR Retrieval數(shù)據(jù)集和MTEB數(shù)據(jù)集都取得了SoTa。
2.4 LLM只需要少量數(shù)據(jù)做微調(diào)即可取得比較好的效果
結(jié)論一:傳統(tǒng)數(shù)據(jù)利用大量數(shù)據(jù)結(jié)合對比學(xué)習(xí)做無監(jiān)督訓(xùn)練可以帶來不錯的提升。
結(jié)論二:經(jīng)過大量語料訓(xùn)練的自回歸LLM模型已經(jīng)不需要繼續(xù)做預(yù)訓(xùn)練了,只需要少量的數(shù)據(jù)微調(diào)即可取得比較好的效果。
2.5 多語言任務(wù)上也非常有競爭力
結(jié)論一:高資源(數(shù)據(jù)量多)任務(wù)例如英語,效果比之前的mE5模型效果好,低資源任務(wù)效果相對mE5也非常有競爭力。
2.6 消融實驗:instruction設(shè)置比較關(guān)鍵
結(jié)論一:基座模型選擇也比較重要,選擇LLaMA-2的基座模型比Mistral-7b作為基座模型差。
結(jié)論二:instruction的設(shè)置也非常重要,對最終結(jié)果的影響可能差4個點以上。
2.7 context長度對檢索質(zhì)量的影響:4k左右上下文文本表征都還不錯,隨后效果急劇下降。
結(jié)論:引入了一項名為個性化密碼檢索的新型合成任務(wù),此任務(wù)需要在長上下文中將密鑰信息編碼到嵌入中。通過更改圖5中的滑動窗口大小和RoPE旋轉(zhuǎn)底座來比較不同變體的性能。結(jié)果顯示,帶有4k滑動窗口的默認(rèn)配置在4k token數(shù)達(dá)到100%的準(zhǔn)確性,但隨著上下文長度的增長,準(zhǔn)確性會迅速下降。
三、總結(jié)
結(jié)論1:利用LLM生成的合成數(shù)據(jù)可以顯著提升文本嵌入的性能。 這種方法在處理多種語言時尤其有效,能夠生成高質(zhì)量、多樣化的合成數(shù)據(jù)。
結(jié)論2:利用LLM訓(xùn)練Embedding模型可以非常高效。 與現(xiàn)有多階段方法相比,其只需要少于1000次的訓(xùn)練步驟就可以拿到比較好的效果,而現(xiàn)有方法可能要先利用大量數(shù)據(jù)做自監(jiān)督訓(xùn)練,然后再使用有監(jiān)督數(shù)據(jù)訓(xùn)練,效率不高。
結(jié)論3:本文利用LLM做embedding是一個突破,但產(chǎn)業(yè)界還不太適用。 本文首次探索LLM做embedding,效果還不錯,但模型大,推理成本也高,產(chǎn)業(yè)界實用性不高(bge相關(guān)模型只有400M左右,本文方法模型達(dá)到7B以上),后續(xù)可以探索LLM生成和挖掘正負(fù)樣本數(shù)據(jù),利用傳統(tǒng)方法例如雙塔+SimCSE系列等模型進(jìn)行訓(xùn)練,然后再應(yīng)用到產(chǎn)業(yè)界。
本文轉(zhuǎn)載自 ??NLP PaperWeekly??,作者: NLP PaperWeekly?
