動手學習RAG: 向量模型

在世界百年未有之變局與個人自暴自棄的間隙中,我們學一點RAG义锥。 RAG是一種獨特的應用岩灭,“一周寫demo噪径,優(yōu)化搞半年”,我甚至聽說它能破解幻術梗顺。

為了理解其優(yōu)化中的關鍵一環(huán),我們先看下文本向量寺谤。文本向量除了是RAG檢索的重要模塊外变屁,也應用在信息檢索薄料、排序摄职、分類、聚類蛔垢、語義相似度中。

structure.png

1. 詞向量到文本向量

向量模型把人類世界中的語言,變?yōu)橛嬎銠C世界中的數(shù)字艺玲。輸入一句話饭聚,輸出一維向量。由于transformer中的一句話一般會輸出一個二維向量法绵,其形狀為(sequence_length, embedding_dim)朋譬,因此模型后面通常加一層pooling兴垦,把sequence_length這一維坍塌探越。

pip install open-retrievals
Screen Shot 2024-09-07 at 16.54.30.png

colab上有這段小小的代碼: https://colab.research.google.com/drive/1dTzcMJNX3kSqqjTFUJXwZu6fRnf_5oHD?usp=sharing

更多更好的模型,根據(jù)語言需要(英文或中文還是多語言)节槐,順著MTEB的榜單捋一下就行:https://huggingface.co/spaces/mteb/leaderboard

2. 文本向量的若干主流訓練范式

語言模型可以很容易得到一個文本向量模型拐纱,但語言模型并不是為向量訓練的秸架,因此預訓練的語言模型直接pooling不一定能取得滿意的效果。那么蚂子,根據(jù)向量任務先微調(diào)一下再用。

微調(diào)的目的蒂破,把相似句子向量聚攏更近一些别渔,把不相關的句子向量拉的更遠一些哎媚。如何從一個語言模型訓練出一個向量模型呢?我們從幾篇典型論文中理解其范式稻据。

BGE模型

  • 使用普通的文本語料進行RetroMAE預訓練
  • 使用大量文本對進行batch內(nèi)負樣本對比學習
  • 使用高質(zhì)量文本進行困難負樣本加batch內(nèi)負樣本根據(jù)任務對比學習微調(diào)
Screen Shot 2024-09-07 at 15.34.00.png

GTE模型

  • 大量文本對進行batch內(nèi)負樣本對比學習
  • 高質(zhì)量文本進行困難負樣本學習
Screen Shot 2024-09-07 at 15.33.53.png

E5-mistral模型

  • 合成大量的不同任務不同語言的檢索數(shù)據(jù),困難負樣本與batch內(nèi)負樣本對比學習
Screen Shot 2024-09-07 at 15.33.45.png

nv-embed模型

  • 高質(zhì)量檢索數(shù)據(jù)進行困難負樣本加batch內(nèi)負樣本對比學習
  • 繼續(xù)根據(jù)非檢索數(shù)據(jù)秋度,如一些分類等其他任務數(shù)據(jù)進行微調(diào)
Screen Shot 2024-09-07 at 15.33.18.png

3. 結論

我們試圖從幾種范式中總結出以下幾點認知:

  • 訓練方式荚斯,尤其是合理設計的多階段pipeline仍然能夠提升性能
  • 數(shù)據(jù)事期,數(shù)據(jù)大小兽泣、質(zhì)量唠倦、多樣性很重要稠鼻,甚至更長的文本在向量模型中也更受重視候齿。更重要的慌盯,合成數(shù)據(jù)開始展露頭腳
  • 模型润匙,Decoder-only LLM微調(diào)的向量模型效果越來越好诗眨。大模型也逐步統(tǒng)治向量模型榜單,帶來的收益和增加的開銷相比如何孕讳,咱也不知道匠楚,但是這些參數(shù)中蘊含的知識確實讓人印象深刻
  • 對比學習和難負樣本挖掘仍然扮演關鍵角色。
  • 多任務厂财,用不同任務不同來源的數(shù)據(jù)進行訓練芋簿,一個batch內(nèi)如何組織數(shù)據(jù)也有優(yōu)化空間。instruction-based fine-tuning可以在訓練時幫助模型拿到任務上的線索

更多內(nèi)容璃饱,請關注:https://github.com/LongxingTan/open-retrievals

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末与斤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子荚恶,更是在濱河造成了極大的恐慌撩穿,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谒撼,死亡現(xiàn)場離奇詭異,居然都是意外死亡呻畸,警方通過查閱死者的電腦和手機据途,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門便脊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遂赠,“玉大人肋演,你說我怎么就攤上這事〔懔幔” “怎么了铅碍?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵悔叽,是天一觀的道長。 經(jīng)常有香客問我,道長戚啥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己繁疤,他們只是感情好架忌,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布井仰。 她就那樣靜靜地躺著合是,像睡著了一般辅辩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上臀稚,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天,我揣著相機與錄音,去河邊找鬼纬乍。 笑死,一個胖子當著我的面吹牛队伟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宜猜,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盐类?” 一聲冷哼從身側(cè)響起呻引,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤韭脊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蔫饰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茫因,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砰琢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澳骤。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡肤京,死狀恐怖颊艳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忘分,我是刑警寧澤棋枕,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站饭庞,受9級特大地震影響戒悠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舟山,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一绸狐、第九天 我趴在偏房一處隱蔽的房頂上張望卤恳。 院中可真熱鬧,春花似錦寒矿、人聲如沸突琳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拆融。三九已至,卻和暖如春啊终,著一層夾襖步出監(jiān)牢的瞬間镜豹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工蓝牲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留趟脂,地道東北人。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓例衍,卻偏偏與公主長得像昔期,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子佛玄,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容