博客 / 詳情

返回

開源Embedding模型,有效提升中文語義理解與召回

此前,我們已經簡單介紹了TextIn團隊開發的開源acge_text_embedding模型及其下載和使用方法。本篇將展開討論Embedding模型中使用的技術框架。

Huggingface地址:https://huggingface.co/aspire/acge_text_embedding
模型API調用:https://www.textin.com/market/detail/acge_text_embeddingEmbedding

在自然語言處理和機器學習中起着關鍵作用,是基礎、核心且經典的建模任務,對於各種不同的下游NLP任務是必不可少的,如分類、聚類、檢索、句子相似性判斷等[1]。
從Word2Vec到BERT表徵模型、再到現如今的大模型,Embedding 建模方法在不斷創新迭代。不論在傳統的搜索[2]、問答場景,還是如今大語言模型(LLM)驅動的檢索增強生成(Retrieval-Augmented Generation, RAG)場景中[3],Embedding 技術一直扮演着語義理解的核心角色。
圖片
圖1 基於embedding的檢索系統流程圖[2]
在這款曾登頂C-MTEB榜首Embedding模型的研發過程中,TextIn團隊採用並結合了多種技術框架:概括來講,為提高整體召回效果,使用對比學習技術[4],通過最小化正對之間的距離和最大化負對之間的距離來呈現文本語義表示;重視數據挖掘,構造多場景、數量龐大的數據集提升模型泛化能力,挑選高質量數據集加快模型收斂。技術開發過程中,採用多任務混合訓練,多loss適配場景,適應各種下游任務,避免模型“偏科”;引入持續學習訓練方式[5],改善引入新數據後模型災難性遺忘問題;同時運用MRL技術[6],訓練可變維度的嵌入,提高處理速度,降低了存儲需求。

SimCSE: 對比學習技術

對比學習是一種自監督學習方法,它通過拉進語義相似樣本的距離和推遠語義不相似樣本的距離來學習數據的有效表示。 在句子嵌入中,對比學習通過構建正負例對來優化模型。正例對通常是語義上相似的句子,比如同一句子的不同表述或通過數據增強得到的句子變體;負例對則是語義不相似的句子。
 正負例對的構建:

  • 無監督方法:在SimCSE中,通過在同一個句子上應用不同的隨機掩碼來生成兩個略有不同的嵌入向量,這兩個向量構成一個正例對。而同一個mini-batch中的其他句子的嵌入則被視為負例。
  • 有監督方法:使用自然語言推理(NLI)數據集中的藴含對作為正例,矛盾對作為負例(硬負例),來構建正負例對。
    圖片
    圖2 無監督與有監督方法[4]
    對比學習的價值在於它能夠學習到區分不同語義的句子嵌入,這對於提升下游任務如語義文本相似性(STS)的性能至關重要。通過最小化對比損失函數,模型成功捕捉到句子語義信息的嵌入表示。這種表示不僅能夠捕捉句子的表面形式,還能夠捕捉其深層含義,從而在各種NLP任務中發揮作用。

    EWC:彈性權重固化算法

    彈性權重固化(EWC)算法是一種用於解決神經網絡在連續學習任務中遭受災難性遺忘問題的方法。在神經網絡學習一系列任務時,通常會遇到這樣一個問題:當網絡學習新任務時,它往往會迅速遺忘之前學到的任務,這種現象被稱為災難性遺忘。
    EWC算法通過保護對舊任務重要的權重參數,減緩這些參數在新任務學習過程中的更新速度,從而減輕了這種遺忘現象。EWC的核心思想是在新任務學習中引入一個二次懲罰項,這個懲罰項會對於那些對舊任務有較大影響的權重參數施加更大的約束。具體來説,EWC通過以下幾個關鍵步驟防止災難性遺忘:

  • 重要性評估:EWC首先需要確定哪些權重對於已經學習過的任務(舊任務)是重要的。這通常是通過計算Fisher信息矩陣來完成的,該矩陣反映了參數對損失函數的敏感度,從而可以評估每個參數對當前任務的重要性。
  • 二次懲罰:在新任務的學習過程中,EWC引入了一個二次懲罰項(也稱為彈性約束)。這個懲罰項會對那些對舊任務重要的參數施加更大的約束,減緩這些參數的學習速度,而對不那麼重要的參數則允許更自由的學習。
  • 權重更新:在每次權重更新時,除了正常的梯度下降步驟外,還會加上這個二次懲罰項。這意味着,如果更新後的權重導致舊任務性能下降太多,那麼這個更新會受到懲罰,從而使得模型在保持舊任務性能的同時,學習新任務。
  • 平衡新舊任務:EWC通過一個超參數λ來平衡舊任務和新任務的重要性。這個參數決定了舊任務的保護程度,以及新任務學習的速度。
  • 持續學習:通過這種方式,EWC允許模型在學習新任務的同時,保持對舊任務的記憶,從而實現持續學習。
    圖片
    圖3 EWC訓練策略
    在Embedding模型中,EWC算法的引入能夠起到不錯的效果。Embedding模型在自然語言處理、推薦系統、圖像識別等領域中扮演着重要角色,它們需要捕捉和記憶大量的特徵和模式。例如,在自然語言處理中,句子或詞的嵌入向量需要捕捉足夠的語義信息,以便在各種下游任務中使用。當模型需要連續學習多個任務,如文本分類、情感分析等時,EWC算法可以幫助模型在不遺忘先前任務的情況下,學習新的任務。
    實際應用中,EWC算法通過在訓練過程中動態調整學習率,為不同權重參數設置不同的更新速度。對於那些對舊任務影響較大的參數,EWC會減小其學習率,從而在更新這些參數時更加謹慎。這種方法不僅提高了模型在新任務上的學習效率,還保持了對舊任務的高性能,實現模型的持續學習,構建出魯棒性更強的通用模型。

    MRL:俄羅斯套娃表徵學習

    "Matryoshka Representation Learning (MRL)" 中的 "Matryoshka" 一詞來源於俄羅斯傳統的套娃(Matryoshka doll)。在MRL方法中,"Matryoshka" 用來形象地描述這種表示學習框架的一個核心特點:嵌套性和層次性。
    俄羅斯套娃是由一系列尺寸逐漸縮小的娃娃組成的,每個大娃娃打開後都包含着一個小娃娃,這些娃娃可以層層嵌套。類似地,MRL框架學習的是一系列不同粒度的表徵,每個表徵可以看作是嵌套在更高維表示中的“小娃娃”。這種設計允許模型能夠根據下游任務的計算資源需求,靈活地選擇不同粒度的表示,從而實現對資源的高效利用。
    在ML系統中,學習到的表徵是執行各種下游任務的核心組件。這些表徵通常是在訓練階段生成,並且一旦完成就會被凍結,用於後續的任務。然而,在實際部署時,每個下游任務可能面對不同的計算和統計約束條件,這使得固定容量的表示方法往往不是最佳選擇。
    作為應對這個問題的方法,MRL具有幾項顯著優勢:

  • 減少嵌入大小:對於ImageNet-1K分類任務,使用MRL可以將嵌入大小減小至原來的1/14,同時保持相同的精度水平。
  • 加速大規模檢索:在處理像ImageNet-1K這樣的大型數據集時,MRL可以提供高達14倍的實際加速,而檢索準確性與常規方法相當。
  • 提升長尾分類性能:MRL還能夠在少樣本長尾分類任務上帶來最高2%的準確率提升,同時保持原有的魯棒性。
    在Embedding模型中的應用方面,MRL可以通過自適應分類和自適應檢索兩種方式來提高效率。在自適應分類場景下,利用MRL訓練出的可變尺寸表示,可以根據需要調整使用的嵌入維度,從而大幅降低平均所需嵌入維度以達到特定精度。而在自適應檢索系統中,查詢時首先使用嵌入的前幾維進行候選對象的初選,然後逐步利用更多維度對結果進行重新排序,這樣既提高了檢索速度又保證了檢索質量。
    圖片
    圖4 MRL訓練和推理
    與目前C-MTEB榜單上排名前列的開源模型相比,acge模型體量較小,佔用資源少;模型輸入文本長度為1024,滿足絕大部分場景的需求。此外,acge模型還支持可變輸出維度,使應用者能夠根據具體場景去合理分配資源。
    隨着NLP技術的不斷進步,Embedding模型正朝着更高效的方向發展,包括輕量化模型以適應更多場景、增強可解釋性以及通過多任務學習提升泛化能力。同時,開源社區的活躍促進了模型創新與應用落地,細分領域RAG的開發也不斷取得進展,在需求的推動下,Embedding模型始終處於算法研究前沿。

    [1] Nils Reimers and Iryna Gurevych. Sentence-bert: Sentence em_x0002_beddings using siamese bert-networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 3982–3992, 2019.
    [2] Huang, Jui-Ting, Ashish Sharma, Shuying Sun, Li Xia, David Zhang, Philip Pronin, Janani Padmanabhan, Giuseppe Ottaviano and Linjun Yang. “Embedding-based Retrieval in Facebook Search.” Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (2020): n. pag.
    [3] Gao, Yunfan, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Qianyu Guo, Meng Wang and Haofen Wang. “Retrieval-Augmented Generation for Large Language Models: A Survey.” ArXiv abs/2312.10997 (2023): n. pag.
    [4] Tianyu Gao, Xingcheng Yao, and Danqi Chen. Simcse: Simple contrastive learning of sentence embeddings. In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pages 6894–6910, 2021.
    [5] Kirkpatrick, James, Razvan Pascanu, Neil C. Rabinowitz, Joel Veness, Guillaume Desjardins, Andrei A. Rusu, Kieran Milan, John Quan, Tiago Ramalho, Agnieszka Grabska-Barwinska, Demis Hassabis, Claudia Clopath, Dharshan Kumaran and Raia Hadsell. “Overcoming catastrophic forgetting in neural networks.” Proceedings of the National Academy of Sciences 114 (2016): 3521 - 3526.
    [6] Aditya Kusupati, Gantavya Bhatt, Aniket Rege, Matthew Wallingford, Aditya Sinha, Vivek Ramanujan, William Howard-Snyder, Kaifeng Chen, Sham Kakade, Prateek Jain, et al. Matryoshka representation learning. Advances in Neural Information Processing Systems, 35:30233–30249, 2022.
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.