隨著指令微調(diào)模型的發(fā)展,開始有人思考既然指令微調(diào)可以用來提升語言模型的性能,那么是否也可以用類似的方法來提升文本嵌入模型的性能呢?于是本文作者提出了INSTRUCTOR,這個模型設(shè)計(jì)了一種通用的Embedder,使得文本嵌入表示能更好地遷移到新的任務(wù)和領(lǐng)域,而不需要額外的訓(xùn)練。這個想法也是很有意思的,具體的請看下文吧~
背景介紹
現(xiàn)有的文本嵌入表示方法在應(yīng)用到新的任務(wù)或領(lǐng)域時,通常性能都會受損,甚至應(yīng)用到相同任務(wù)的不同領(lǐng)域也會遇到同樣的問題。常見的解決辦法是通過針對下游任務(wù)和領(lǐng)域的數(shù)據(jù)集進(jìn)一步微調(diào)文本嵌入,而這個工作通常需要大量的注釋數(shù)據(jù)。
本文提出的INSTRUCOR(Instruction-basedOmnifariousRepresentations)不需要針對特定任務(wù)或領(lǐng)域進(jìn)行微調(diào)就可以生成輸入文本的嵌入。該模型在70個嵌入評價(jià)數(shù)據(jù)集上表現(xiàn)比SOTA嵌入模型平均要高3.4%。INSTRUCTOR和以往的模型不同,它向量表示不僅包含輸入文本還有端任務(wù)和領(lǐng)域的指令。并且針對不同的目標(biāo),對于同一個輸入文本,INSTRUCTOR會將輸入表示為不同的嵌入。例如圖1中Who sings the song “Love Story”?會根據(jù)不同的任務(wù)被表示為不同的嵌入。
如圖2所示,INSTRUCTOR是在MEDI上進(jìn)行訓(xùn)練的,MEDI是我們的330個文本嵌入數(shù)據(jù)集的新集合,新標(biāo)注了人工編寫的任務(wù)指令。我們在所有數(shù)據(jù)集上使用對比損失來訓(xùn)練INSTRUCTOR,從而最大化語義相關(guān)文本對之間的相似性,同時最小化不相關(guān)文本對的相似性。
INSTRUCTOR
結(jié)構(gòu)
INSTRUCTOR基于單個Encoder來設(shè)計(jì),使用GTR系列模型作為框架(GTR-Base for INSTRUCTOR-Base,GTR-Large for INSTRUCTOR,GTR-XL for INSTRUCTOR-XL)。GTR模型使用T5進(jìn)行初始化。不同大小的GTR使得我們指令微調(diào)嵌入模型的表現(xiàn)也不同。給定一個輸入文本以及任務(wù)指令,INSTRUCTOR將他們組合成,然后通過對的最后一個隱藏表征進(jìn)行均值池化來生成固定大小、特定任務(wù)的嵌入。
訓(xùn)練目標(biāo)
通過將各種任務(wù)轉(zhuǎn)為文本到文本的方式來訓(xùn)練INSTRUCTOR,給定輸入,需要去區(qū)分好/壞候選輸出,其中訓(xùn)練樣本對應(yīng)于元組,其中和分別是與和相關(guān)的指令。例如,在檢索任務(wù)中,是查詢,好/壞是來自某個文檔的相關(guān)/不相關(guān)文檔。
輸入的候選的好由相似度給出,即它們的INSTRUCTOR嵌入之間的余弦:
最大化正樣本對之間的相似度,并最小化負(fù)樣本對之間的相似度,其中表示每個正樣本對的負(fù)樣本對的數(shù)量,訓(xùn)練目標(biāo):
其中是softmax的溫度,是和的并集。此外還加入了雙向批內(nèi)采樣損失。
MEDI: Multitask Embedding Data with Instructions
MEDI(MultitaskEmbeddingsData withInstructions)是我們由330個數(shù)據(jù)集構(gòu)造而成,該數(shù)據(jù)集包含不同任務(wù)和領(lǐng)域的指令。
數(shù)據(jù)構(gòu)造:使用來自super-NI的300個數(shù)據(jù)集,另外30個來自現(xiàn)有的為嵌入訓(xùn)練設(shè)計(jì)的數(shù)據(jù)集。super-NI數(shù)據(jù)集附帶自然語言指令,但不提供正負(fù)樣本對。我們使用Sentence-T5嵌入來構(gòu)建樣本對,用表示。對于分類數(shù)據(jù)集,我們基于輸入文本嵌入計(jì)算樣本之間的余弦相似度。如果兩樣本具有相同的類標(biāo)簽,則使用與高度相似的示例創(chuàng)建一個正樣本對,如果標(biāo)簽不同,則創(chuàng)建一個負(fù)樣本對。對于輸出標(biāo)簽為文本序列的其余任務(wù),首先計(jì)算以下分?jǐn)?shù):
選擇最高的樣本作為正樣本對,并選擇具有最高的作為負(fù)樣本對。其他30個嵌入訓(xùn)練數(shù)據(jù)集來自Sentence Transformers embedding data、KILT、MedMCQA。這30個數(shù)據(jù)集已經(jīng)包含正樣本對;其中MSMARCO和Natural Questions也包含負(fù)樣本對。我們在模型微調(diào)過程中使用了4個負(fù)樣本對。
指令注釋:每一個MEDI的實(shí)例都是一個元組。為了引入指令,我們設(shè)計(jì)了一個統(tǒng)一的指令模板:
- 文本類型:指定輸入文本的類型。例如,對于開放域QA任務(wù),查詢的輸入類型是問題,而目標(biāo)的輸入類型是文檔。
- 任務(wù)目標(biāo)(可選項(xiàng)):描述輸入文本在該任務(wù)中如何使用。
- 領(lǐng)域(可選項(xiàng)):描述任務(wù)領(lǐng)域
最終的指令格式:“REPRESENT THE(DOMAIN)TEXT TYPEFORTASK OBJECTIVE:."
實(shí)驗(yàn)
用MEDI數(shù)據(jù)集對INSTRUCTOR進(jìn)行訓(xùn)練,并在70個下游任務(wù)對其進(jìn)行評估。使用了MTEB基準(zhǔn),該基準(zhǔn)由7個不同任務(wù)類別(如分類、重新排序和信息檢索)的56個數(shù)據(jù)集組成。然后,我們進(jìn)一步將INSTRUCTOR應(yīng)用于上下文學(xué)習(xí)和文本生成評估的提示檢索。在三種設(shè)置中,INSRTUCTOR都達(dá)到了最先進(jìn)的性能。
正如預(yù)期的那樣,基于檢索的模型(如GTR-XXL)在檢索和重排序方面表現(xiàn)出較強(qiáng)的性能,但在STS和分類方面明顯落后。相反,基于相似性的模型(例如,Sent-T5-XXL)在STS、分類和文本評估方面表現(xiàn)良好,但在檢索方面表現(xiàn)不佳。這表明,這些基線傾向于生成只擅長某些任務(wù)的專門嵌入,而INSTRUCTOR提供了在不同任務(wù)類別上表現(xiàn)良好的通用嵌入。
分析以及消融實(shí)驗(yàn)
指令的重要性
我們將MEDI劃分為對稱和非對稱組,然后對每個組進(jìn)行有指令和沒有指令的訓(xùn)練。實(shí)驗(yàn)結(jié)果如圖3所示,結(jié)果表明如果數(shù)據(jù)是對稱的或非對稱的,在沒有指令的情況下進(jìn)行微調(diào)的INSTRUCTOR的性能與原始GTR相近或更好。但是,使用指令微調(diào)使模型能夠從對稱和非對稱數(shù)據(jù)的組合中獲益。這體現(xiàn)了指令微調(diào)的重要性。
指令的魯棒性
我們?yōu)樗性u估數(shù)據(jù)集編寫了五個意譯指令,并測量了表現(xiàn)最佳和表現(xiàn)最差的指令之間的INSTRUCTOR的性能差距。圖4表明,包含300個super-NI數(shù)據(jù)集對INSTRUCTOR的魯棒性至關(guān)重要。從訓(xùn)練中刪除這些數(shù)據(jù)集(沒有super-NI)大大增加了表現(xiàn)最好和最差的指令之間的性能差距,這表明super-NI的多樣化指令有助于模型處理不同的格式和風(fēng)格。
指令的復(fù)雜程度
我們考慮了四個層次的指令復(fù)雜性:N/A(無指令)、數(shù)據(jù)集標(biāo)簽、簡單指令和詳細(xì)指令。在數(shù)據(jù)集標(biāo)簽實(shí)驗(yàn)中,每個示例都附有其數(shù)據(jù)集名稱。例如,在Natural Questions數(shù)據(jù)集上,查詢格式為"Natural Questions; Input: who sings the song Love Story").。在簡單的指令實(shí)驗(yàn)中,我們使用一兩個單詞來描述域(例如,對于Natural Questions數(shù)據(jù)集,輸入查詢是Wikipedia Questions;輸入是who sings the song Love Story)。圖5表明使用瑣碎的數(shù)據(jù)集標(biāo)簽,INSTRUCTOR也優(yōu)于原始的GTR模型,說明了指令在不同訓(xùn)練中的有效性。隨著提供的信息越來越多,我們觀察到持續(xù)的改進(jìn)。
模型大小和指令微調(diào)
圖6展示了比較不同大小的模型的平均性能。隨著編碼器transformer模型的擴(kuò)大,GTR和INSTRUCTOR的性能都在不斷提高。盡管如此,INSTRUCTOR的改進(jìn)更加明顯,這可能是因?yàn)閹в兄噶畹那度胧芤嬗诟蟮娜萘?。這意味著大模型在計(jì)算各種領(lǐng)域和任務(wù)類型中的文本時更加一般化。
指令的域轉(zhuǎn)移
基于指令微調(diào)的一個優(yōu)點(diǎn)是,它提高了模型泛化到不可見領(lǐng)域和任務(wù)的能力。為了證明這種有效性,我們研究了三個unseen的INSTRUCTOR沒有受過訓(xùn)練的領(lǐng)域:地理、生物和民間評論。如表3所示,INSTRUCTOR在所有三個領(lǐng)域上極大地提高了GTR-Large的性能(高于平均水平),這表明當(dāng)將模型應(yīng)用于不可見或不常見的領(lǐng)域時,指令可以提供更多幫助。
消融實(shí)驗(yàn)
我們使用T-SNE來可視化兩個有和沒有指令的分類示例。如圖7所示,情感相同的點(diǎn)對距離更近,而情感不同的點(diǎn)對距離更遠(yuǎn)。
總結(jié)
本文的貢獻(xiàn)有兩點(diǎn):
- 提出了INSTRUCTOR,一個使用自然語言指令創(chuàng)建廣泛適用的文本嵌入的單模型。大量實(shí)驗(yàn)表明INSTRUCTOR在文本嵌入測試中達(dá)到了最先進(jìn)的性能。
- 構(gòu)建了MEDI數(shù)據(jù)集。
-
模型
+關(guān)注
關(guān)注
1文章
3342瀏覽量
49272 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1209瀏覽量
24850 -
自然語言
+關(guān)注
關(guān)注
1文章
291瀏覽量
13407
原文標(biāo)題:ACL2023 | 一個任務(wù)通用的的指令微調(diào)Embedder!
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
【「基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化」閱讀體驗(yàn)】+大模型微調(diào)技術(shù)解讀
文本分類任務(wù)的Bert微調(diào)trick大全
谷歌提出Flan-T5,一個模型解決所有NLP任務(wù)
GLoRA:一種廣義參數(shù)高效的微調(diào)方法
![GLoRA:<b class='flag-5'>一</b>種廣義參數(shù)高效的<b class='flag-5'>微調(diào)</b>方法](https://file1.elecfans.com/web2/M00/8B/88/wKgaomSao52AOrLIAAAQ0C76Jp4795.png)
基于一個完整的 LLM 訓(xùn)練流程
![基于<b class='flag-5'>一</b><b class='flag-5'>個</b>完整的 LLM 訓(xùn)練流程](https://file1.elecfans.com/web2/M00/8B/AA/wKgaomSc576AMTMgAAAnbXBTxgg289.png)
FreeRTOS任務(wù)通知通用發(fā)送函數(shù)
![FreeRTOS<b class='flag-5'>任務(wù)</b>通知<b class='flag-5'>通用</b>發(fā)送函數(shù)](https://file1.elecfans.com/web2/M00/8E/66/wKgaomTF2m2AbJBDAAOKiftfiko183.jpg)
多任務(wù)微調(diào)框架MFTCoder詳細(xì)技術(shù)解讀
![多<b class='flag-5'>任務(wù)</b><b class='flag-5'>微調(diào)</b>框架MFTCoder詳細(xì)技術(shù)解讀](https://file1.elecfans.com/web2/M00/B0/AC/wKgZomVXMciAORz9AABAWgdZs7o753.png)
四種微調(diào)大模型的方法介紹
![四種<b class='flag-5'>微調(diào)</b>大模型的方法介紹](https://file1.elecfans.com/web2/M00/BB/65/wKgaomWUzZqAcpXSAAAMMMd9w5k029.jpg)
評論