0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

能遵循instruction的句向量模型

深度學(xué)習(xí)自然語言處理 ? 來源:NLP日志 ? 2023-06-13 14:56 ? 次閱讀

1 簡介

句向量技術(shù)是將連續(xù)的文本轉(zhuǎn)化為固定長度的稠密向量,將句子映射到同一個向量空間中,從而應(yīng)用到各種下游任務(wù),例如分類,聚類,排序,檢索,句子相似度判別,總結(jié)等任務(wù),一種優(yōu)異的句向量技術(shù)可以明顯提升諸多下游任務(wù)的性能。關(guān)于如何利用語言模型輸出文本的句向量,在21年底的時候?qū)戇^一篇基于Bert的句向量文章,里面介紹了諸多種基于encoder-only的Bert相關(guān)方法Bert系列之句向量生成。

但是之前的句向量技術(shù),泛化能力相對有限,當(dāng)遷移到新任務(wù)或者新領(lǐng)域后,總需要進(jìn)一步的訓(xùn)練才能保證效果。最近發(fā)現(xiàn)了一種新的句向量技術(shù),在輸入中加入跟任務(wù)跟領(lǐng)域相關(guān)的instruction,來指導(dǎo)語言模型生成適配下游任務(wù)的句向量,而不需要進(jìn)行額外的訓(xùn)練,在MTEB榜單的表現(xiàn)可以媲美openai最新的text-embedding-ada-002模型。為了更好地理解Instructor,在這里梳理了Instructor的一個技術(shù)演化過程,從Sentence-T5到GTR,再到Instructor,這幾種模型都在MTEB榜單上有不錯的表現(xiàn),有興趣的讀者可以自行查詢。

2 Sentence-T5?????????

Encoder-decoder結(jié)構(gòu)的T5雖然在seq2seq的任務(wù)中表現(xiàn)優(yōu)異,但是如何從T5中獲取合適的句向量依舊未知。于是就有研究嘗試了幾種從T5中獲取句向量的方式,具體如圖所示,

a)Encoder-only first,利用T5 最后一層encoder第一個token的特征輸出作為句向量。不同于Bert,T5模型沒有CLS 的token。所以拿第一個token的輸出來當(dāng)句向量看起來就不靠譜。

b)Encoder-only mean,利用T5最后一層encoder所有token的特征輸出平均值作為句向量。

c)Encoder-Decoder first,利用T5最后一層decoder的第一個token的輸出作為句向量。為了獲得這個token的輸出,需要將input文本輸入encoder,還需要將代表start的token喂給decoder。

7f71eee4-09b5-11ee-962d-dac502259ad0.jpg

圖2: T5模型結(jié)構(gòu)跟3種句向量變體

利用的前面提及的幾種句向量變種可以獲得固定長度的句子表征,在加上一個全連接層跟Normalization層就可以得到歸一化的句向量。訓(xùn)練采用的是雙塔模型結(jié)構(gòu),但是左右兩邊共用同一個模型跟參數(shù)

7f8734ac-09b5-11ee-962d-dac502259ad0.jpg

圖3: dual encoder結(jié)構(gòu)

訓(xùn)練方法采用的是常見的對比學(xué)習(xí),同一個batch內(nèi),希望同個instance(sentence1, sentence2)的兩個相關(guān)句子之間的距離足夠接近(分子部分),不同instance里的不相關(guān)句子之間的距離足夠疏遠(yuǎn)。如果同個instance還有強(qiáng)不相關(guān)的sentence,也希望不相關(guān)的句子之間距離足夠疏遠(yuǎn)。同時了,為了研究增加額外訓(xùn)練數(shù)據(jù)的影響,采用了兩階段的訓(xùn)練方式,第一個階段現(xiàn)在通用領(lǐng)域的問答數(shù)據(jù)訓(xùn)練(Community QA),第二階段才在人工標(biāo)注的數(shù)據(jù)(NLI)訓(xùn)練。

7fa74cf6-09b5-11ee-962d-dac502259ad0.jpg

圖4: 損失函數(shù)

部分實驗結(jié)論

a)T5 Encoder-only mean的效果明顯優(yōu)于BERT系列,大部分?jǐn)?shù)據(jù)集上也優(yōu)于其余兩種T5句向量變體,在更多數(shù)據(jù)上finetune能給模型帶來巨大的提升,從而解決模型T5的句向量坍塌問題。(作者猜測encoder-decoder結(jié)構(gòu)里,encoder更傾向于生成通用性的表征,更具泛化能力,而decoder更聚焦于針對下游任務(wù)優(yōu)化。

b)在大部分任務(wù)上,增加T5模型的規(guī)??梢赃M(jìn)一步提升性能。

c)除此之外,還發(fā)現(xiàn)了實驗中訓(xùn)練過程使用了巨大的batch size,第一階段的batch size是2048,第二階段的batch size是512,遠(yuǎn)超simcse實驗中的最佳參數(shù)配置64。

7fb04874-09b5-11ee-962d-dac502259ad0.jpg

圖5: Sentence T5實驗效果對比

3 GTR????????

還是sentence T5的那批人,發(fā)現(xiàn)T5的encoder-only mean產(chǎn)生的句向量效果還不錯后,就繼續(xù)在這上面做進(jìn)一步研究,進(jìn)一步探索這種句向量模型在檢索任務(wù)上的遷移能力。模型沒變,訓(xùn)練數(shù)據(jù)把第二階段換成了另外的檢索相關(guān)的數(shù)據(jù)集,MS Macro(Bing的搜索數(shù)據(jù))跟Natural Questions(常用于檢索的問答數(shù)據(jù)集)。

訓(xùn)練方法雖然還是用的對比學(xué)習(xí),但是具體計算過程跟simcse有所差異,由于每一個instance都包含(query, pos, neg),pos跟neg分別是query對應(yīng)的相關(guān)文檔positive跟強(qiáng)不相關(guān)文檔hard negative,對應(yīng)的對比學(xué)習(xí)的損失由兩部分,

a)同一個instance里的query跟pos是正樣本,query跟同個batch里的所有neg之間都是負(fù)樣本。

b)同一個instance里的pos跟query是正樣本,pos跟同個batch里其他instance的query之間都是負(fù)樣本。

部分實驗結(jié)論

a)隨著模型規(guī)模的增加,在領(lǐng)域外的性能提升明顯,換言之,更大的模型具有更強(qiáng)大的泛化能力。同時,也發(fā)現(xiàn)GTR對于數(shù)據(jù)的利用非常高效,在MS Macro數(shù)據(jù)集上只使用10%的數(shù)據(jù)也能達(dá)到很不錯的效果。

7fd7c764-09b5-11ee-962d-dac502259ad0.jpg

圖6: GTR在BEIR榜的表現(xiàn)

b)做完兩階段訓(xùn)練的GTR強(qiáng)于只做第一階段或者第二階段訓(xùn)練的模型,在領(lǐng)域內(nèi)跟領(lǐng)域外的表現(xiàn)都比較一致,隨著模型規(guī)模增加也有一定的提升,同時也說明了第二階段的高質(zhì)量數(shù)據(jù)對于模型的幫助。

7ffc5a20-09b5-11ee-962d-dac502259ad0.jpg

圖7: 不同訓(xùn)練階段的GTR效果對比(GTR- FT跟GTR- PT分別是只進(jìn)行第二階段跟第一階段訓(xùn)練的模型)

c)隨著模型規(guī)模的增加,召回的文檔長度也有增加的趨勢。

d)依舊巨大的batch size,兩個階段的訓(xùn)練batch size都是2048。

4 Instructor?????????

目前的大模型,在給定instruction后會按照指令生成相應(yīng)的內(nèi)容,那么對于句向量模型而言,同樣一句話,可以通過給定模型不同的instruction,讓模型生成適合下游任務(wù)的句向量嘛?instructor就實現(xiàn)了這個設(shè)想。

800813ba-09b5-11ee-962d-dac502259ad0.jpg

圖8: Instructor

Instructor采用了前面的GTR作為初始模型,訓(xùn)練方法也依舊保持,只是原本的模型接受文本作為輸入,instructor同時接受instruction跟文本作為輸入,從而生成符合指令的句向量

Instructor的訓(xùn)練數(shù)據(jù)是一個數(shù)據(jù)集集合MEDI,里面包含330個來自SuperNaturalInstructions的數(shù)據(jù)集跟30個現(xiàn)存的用于句向量訓(xùn)練的數(shù)據(jù)集。每個數(shù)據(jù)集都包括對應(yīng)的instruction,數(shù)據(jù)集中的每個instance都是如下格式,

Instance = {“query”: [instruction_1, sentence_1],

“pos”:[instruction_2, sentence_2],

“neg”:[Instruction_2, sentence_3]}

如果是類似句子相似度的對稱類任務(wù),那就只有一個instruction,示例中的instruction_1跟instruction_2就是同一個,如果是類似檢索的非對稱任務(wù),那么query跟doc都各有一個instruction,instruction_1跟instruction_2就是兩個不同的instruction。Sentence_2表示是跟sentence_1相關(guān)的文本,而sentence_3則是不相關(guān)的文本。

通過這種數(shù)據(jù)集構(gòu)造,可以保證每個instance都有自身的hard negative,以及同個batch內(nèi)其他instance充當(dāng)簡單負(fù)樣本。在訓(xùn)練過程過程,為了提高難度,會保證同個batch里所有instance都來自于同個數(shù)據(jù)集。

部分結(jié)論如下:

a)Instructor在三個榜單的平均表現(xiàn)最佳,在多個不同任務(wù)上的呈現(xiàn)出強(qiáng)大的通用能力。

b)加上instruction的模型訓(xùn)練,讓模型在對稱類任務(wù)跟非對稱類任務(wù)上都取得明顯提升。

c)訓(xùn)練數(shù)據(jù)加入了330來自SUPERNATURALINSTRUCTION數(shù)據(jù)集的多個instruction使得模型具備處理不同類型跟風(fēng)格的instruction的能力,幫助模型更好的能泛化到新領(lǐng)域。同時,instruction的內(nèi)容越詳細(xì)豐富,instructor效果越好。

801113f2-09b5-11ee-962d-dac502259ad0.jpg

圖9:三個榜單的模型表現(xiàn)比較

8034501a-09b5-11ee-962d-dac502259ad0.jpg

圖10: instructor在新領(lǐng)域的表現(xiàn)

5 總結(jié)?????????????

instruction的引入,使得句向量模型能更好地遷移到新的任務(wù)跟領(lǐng)域,而不需要額外的訓(xùn)練。從Instructor的演化進(jìn)程,不難看出從encoder-deocder模型中選擇Encoder-only mean方法,生成的句向量效果明顯優(yōu)于Bert系列的方案,猜測這是由于其中的encoder更傾向于生成更通用的特征,而不是針對下游任務(wù)。同時也可以看到雖然還是沿用的對比學(xué)習(xí)方案,但是訓(xùn)練數(shù)據(jù)也逐漸從之前的(query,pos)pair對轉(zhuǎn)換為(query, pos, neg)的三元組,通過設(shè)置較大的batch,既能保證訓(xùn)練難度,也能保證訓(xùn)練效率。

Instructor看起來還是蠻吸引人的,不由聯(lián)想到語言模型的instruction tuning工作,有點異曲同工之意。本文提及的這三種方案是循序漸進(jìn)的,雖然模型都已經(jīng)開源,但遺憾的是都不支持中文。最近也看到一個中文的句向量開源方案,采用跟instructor類似的訓(xùn)練思路。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CLS
    CLS
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    9718
  • GTR
    GTR
    +關(guān)注

    關(guān)注

    1

    文章

    19

    瀏覽量

    11153

原文標(biāo)題:Instructor: 能遵循instruction的句向量模型

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    模型卷價格,向量數(shù)據(jù)庫“卷”什么?

    被大模型“帶飛”這一年,向量數(shù)據(jù)庫才剛剛寫下序言
    的頭像 發(fā)表于 05-23 09:24 ?1794次閱讀
    大<b class='flag-5'>模型</b>卷價格,<b class='flag-5'>向量</b>數(shù)據(jù)庫“卷”什么?

    介紹支持向量機(jī)與決策樹集成等模型的應(yīng)用

    本文主要介紹支持向量機(jī)、k近鄰、樸素貝葉斯分類 、決策樹、決策樹集成等模型的應(yīng)用。講解了支持向量機(jī)SVM線性與非線性模型的適用環(huán)境,并對核函數(shù)技巧作出深入的分析,對線性Linear核函
    發(fā)表于 09-01 06:57

    構(gòu)建詞向量模型相關(guān)資料分享

    向量模型與word2vec的實踐當(dāng)獲取到足夠多的語料之后, 需要語料中的主要語素"可計算", 而"向量"是最普遍和容易使用的可計算元素, 把詞語等語素編碼成
    發(fā)表于 09-17 07:17

    如何構(gòu)建詞向量模型?

    如何構(gòu)建詞向量模型?
    發(fā)表于 11-10 07:43

    智能N維向量的空間模型

    傳統(tǒng)向量空間模型在計算復(fù)雜度、查詢性能、智能性方面存在種種缺陷。在其基礎(chǔ)上,提出了智能N 維向量空間模型,改進(jìn)了文檔特征向量生成的算法,使用
    發(fā)表于 03-25 17:04 ?36次下載

    什么是KNI/Instruction Issue/Instr

    什么是KNI/Instruction Issue/Instruction Coloring  KNI: (Katmai New Instructions,Katmai新指令集,即SSE) Latency(潛伏期)從字面上了解其含義是比
    發(fā)表于 02-04 11:50 ?445次閱讀

    基于支持向量回歸的交易模型的穩(wěn)健性策略

    交易模型的穩(wěn)健性,指的是該模型的利潤率曲線的波動性較小,沒有大起大落。針對一個基于支持向量回歸(SVR)技術(shù)的算法交易模型的穩(wěn)健性問題,提出了使用若干導(dǎo)出指標(biāo)訓(xùn)練統(tǒng)一的交易
    發(fā)表于 12-05 15:30 ?0次下載
    基于支持<b class='flag-5'>向量</b>回歸的交易<b class='flag-5'>模型</b>的穩(wěn)健性策略

    支持向量機(jī)的故障預(yù)測模型

    算法優(yōu)化支持向量機(jī)參數(shù),解決了蟻群算法易陷入局部最優(yōu)的問題;然后,根據(jù)最優(yōu)參數(shù)建立擬合監(jiān)測數(shù)據(jù)和未來健康度下降過程非線性映射關(guān)系的和聲蟻群算法一支持向量機(jī)( HSACA-SVM)故障預(yù)測模型;最后,通過某裝備電源系統(tǒng)監(jiān)測
    發(fā)表于 12-29 11:24 ?0次下載

    基于支持向量回歸機(jī)的三維回歸模型

    ,有利于降低經(jīng)驗風(fēng)險和減小置信范圍,因此被眾多預(yù)測模型所采用,例如將支持向量回歸機(jī)( Support Vector Regression,SVR)用來預(yù)測短期的交通流;用于生態(tài)旅游經(jīng)濟(jì)的預(yù)測;用于預(yù)測提供給火電廠的煤炭質(zhì)量等。在電力行業(yè),SVR
    發(fā)表于 01-25 13:56 ?0次下載

    如何使用智能支持向量機(jī)的回歸模型進(jìn)行金融數(shù)據(jù)的預(yù)測

    針對金融數(shù)據(jù)的非線性、時變性、隨機(jī)性、模糊性、不確定性等特點,提出一種嶄新的智能支持向量回歸模型,并且運(yùn)用一種新型的遺傳算法優(yōu)選模型參數(shù)。實驗結(jié)果表明,所提出的智能支持向量回歸
    發(fā)表于 12-20 16:35 ?1次下載
    如何使用智能支持<b class='flag-5'>向量</b>機(jī)的回歸<b class='flag-5'>模型</b>進(jìn)行金融數(shù)據(jù)的預(yù)測

    基于支持向量機(jī)的壓力傳感器校正模型

    針對壓力傳感器輸出特性受溫度變化和電壓波動影響的問題,提出了應(yīng)用支持向量機(jī)對壓力傳感器輸出特性進(jìn)行非線性補(bǔ)償?shù)男U?b class='flag-5'>模型。校正模型利用支持向量機(jī)具有逼近任意非線性函數(shù)的特點,通過建立壓力
    發(fā)表于 03-24 11:34 ?9次下載
    基于支持<b class='flag-5'>向量</b>機(jī)的壓力傳感器校正<b class='flag-5'>模型</b>

    一種緩解負(fù)采樣偏差的對比學(xué)習(xí)表示框架DCLR

    近年來,預(yù)訓(xùn)練語言模型在各種 NLP 任務(wù)上取得了令人矚目的表現(xiàn)。然而,一些研究發(fā)現(xiàn),由預(yù)訓(xùn)練模型得出的原始表示相似度都很高,在向量空間中并不是均勻分布的,而是構(gòu)成了一個狹窄的錐體,
    的頭像 發(fā)表于 06-07 09:54 ?1883次閱讀

    模型如何快速構(gòu)建指令遵循數(shù)據(jù)集?

    構(gòu)造instruction data非常耗時耗力,常受限于質(zhì)量,多樣性,創(chuàng)造性,阻礙了instruction-tuned模型的發(fā)展。
    的頭像 發(fā)表于 06-27 16:52 ?2928次閱讀
    大<b class='flag-5'>模型</b>如何快速構(gòu)建指令<b class='flag-5'>遵循</b>數(shù)據(jù)集?

    模型如何快速構(gòu)建指令遵循數(shù)據(jù)集

    一、概述 1 Motivation 構(gòu)造instruction data非常耗時耗力,常受限于質(zhì)量,多樣性,創(chuàng)造性,阻礙了instruction-tuned模型的發(fā)展。 背景
    的頭像 發(fā)表于 06-27 16:56 ?2952次閱讀
    大<b class='flag-5'>模型</b>如何快速構(gòu)建指令<b class='flag-5'>遵循</b>數(shù)據(jù)集

    科技云報到:大模型時代下,向量數(shù)據(jù)庫的野望

    科技云報到:大模型時代下,向量數(shù)據(jù)庫的野望
    的頭像 發(fā)表于 10-14 17:18 ?267次閱讀