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