檢索增強(qiáng)生成(Retrieval-Augmented Generation, 簡稱RAG)正日益成為大模型應(yīng)用中的熱門范式。這種創(chuàng)新方法將檢索與生成相結(jié)合,使得大模型在提供回答時(shí),能夠充分借助外部知識(shí)庫的支撐,從而獲得更為準(zhǔn)確且豐富的內(nèi)容。這不僅有效地減輕了大模型常見的誤解和數(shù)據(jù)隱私問題,也提升了實(shí)時(shí)響應(yīng)的能力。在RAG實(shí)施過程中,文本表示模型(Embedding model)和排序模型(Reranker model)是至關(guān)重要的兩大模塊。兩者的目標(biāo)一致,皆為檢索與用戶問題相關(guān)的文檔,但在實(shí)現(xiàn)方法上卻有所不同:文本表示模型首先計(jì)算每段文本的向量表示,然后通過余弦距離等方法計(jì)算它們之間的相關(guān)性分?jǐn)?shù)。因此,所有文檔的向量表示可以在離線階段提前計(jì)算,在線上只需處理用戶查詢的向量,通過高效的向量搜索引擎迅速獲取相關(guān)候選文檔。而排序模型則直接將文本對(duì)作為輸入,通過更精細(xì)的計(jì)算方法輸出它們的相關(guān)性分?jǐn)?shù),實(shí)現(xiàn)更準(zhǔn)確的排序效果。需要注意的是,排序模型的計(jì)算復(fù)雜度較高,因此主要適用于小規(guī)模的候選集合。隨著RAG技術(shù)的不斷發(fā)展,系統(tǒng)的功能也在日益增強(qiáng)。早期的系統(tǒng)主要關(guān)注向量召回,而如今更復(fù)雜的模塊被逐步引入,進(jìn)一步提升了RAG系統(tǒng)的整體效果。同時(shí),隨著應(yīng)用場景的拓展以及大模型處理上下文長度的能力增強(qiáng),對(duì)多語言檢索、跨語言檢索以及長文本處理的需求也愈加迫切。此前,通義實(shí)驗(yàn)室推出了GTE(General Text Embedding)系列文本向量模型,涵蓋了基于BERT架構(gòu)的模型及基于Qwen LLM系列訓(xùn)練的LLM embedding模型,如gte-Qwen2-1.5B-instruct與gte-Qwen2-7B-instruct。目前,基于雙向注意力的Encoder-only結(jié)構(gòu)的模型在同一規(guī)模下相較于Decoder-only模型在召回和排序效果上明顯更優(yōu)。然而,當(dāng)前基于Encoder-only的Embedding和Ranking模型仍面臨一些來自BERT時(shí)代的遺留問題,例如最長上下文長度僅為512,以及預(yù)訓(xùn)練階段使用的語料明顯不足。為解決這些問題,GTE模型開發(fā)團(tuán)隊(duì)從零開始訓(xùn)練了一種能支持長上下文和多語言的Encoder-only基礎(chǔ)模型,并在此基礎(chǔ)上推出了最新版本的GTE-MultiLingual系列模型(簡稱mGTE模型)。該系列模型具備以下顯著特點(diǎn):
![]() 模型構(gòu)建mGTE系列模型構(gòu)建流程如圖2所示,首先,訓(xùn)練了支持長下文的多語言Encoder-only底座模型GTE-base-multilinguish。并在底座基礎(chǔ)上繼續(xù)訓(xùn)練文本表示模型gte-multilingual-base和排序模型gte-multilingual-base 圖2 模型訓(xùn)練過程示意圖 底座預(yù)訓(xùn)練模型結(jié)構(gòu)為了提升模型多語言以及長文本領(lǐng)域相關(guān)的能力,該系列模型參考了目前Decode-Only架構(gòu)大語言模型訓(xùn)練過程中一些常見的技巧,對(duì)原始的BERT架構(gòu)做了以下幾點(diǎn)改動(dòng),具體模型結(jié)構(gòu)如圖3所示
此外,為了滿足多語言和長文本處理能力的需求,模型使用了XLM-Roberta[3]系列的詞表。 圖3 GTE底座模型結(jié)構(gòu)示意圖 訓(xùn)練數(shù)據(jù)底座模型的訓(xùn)練數(shù)據(jù)來網(wǎng)絡(luò)上公開的多多言語料數(shù)據(jù),包括C4,Skypile,mC4,CuleturaX,Wikipedia,books等。訓(xùn)練過程中,通過對(duì)數(shù)據(jù)進(jìn)行過濾,清洗,采樣等操作,最終得到了1028B的Token(基于XLM-R tokenizer)作為最終的訓(xùn)練數(shù)據(jù)。其中主要語言的比例如下圖所示(占比小于1%的合并為 others),各語言的數(shù)據(jù)量可以參考mGTE論文[16]中的附錄。 訓(xùn)練過程與傳統(tǒng)的Encoder-only模型訓(xùn)練方法一樣,預(yù)訓(xùn)練階段mGTE使用MLM(Masked Language Prediction)作為預(yù)訓(xùn)練階段的loss。在此基礎(chǔ)上,該模型做出了以下優(yōu)化提升模型訓(xùn)練的效率:
其中n代表的是該語言的數(shù)據(jù)量,
預(yù)訓(xùn)練階段,模型均使用BF16精度進(jìn)行訓(xùn)練 底座模型效果評(píng)測為了驗(yàn)證預(yù)訓(xùn)練底座模型的效果,mGTE-mlm在多語言評(píng)測榜單XTREAM[4](共包含50種不同的語言)和英文GLUE[5]數(shù)據(jù)上對(duì)比了2K階段與8K階段訓(xùn)練模型與之前Encoder-only架構(gòu)的同尺寸多語言模型的效果,可以看到在絕大多數(shù)任務(wù)上mGTE-mlm都相較于過去的模型有更好的效果。 Embedding模型目前基于Encoder-only架構(gòu)的文本表征模型基本上都采用雙階段訓(xùn)練的范式(弱監(jiān)督訓(xùn)練與監(jiān)督訓(xùn)練)[6],以提升模型的泛化性和效果。 弱監(jiān)督訓(xùn)練在弱監(jiān)督訓(xùn)練階段,mGTE-embedding利用從網(wǎng)絡(luò)上爬取的大規(guī)模文本對(duì)數(shù)據(jù)集,例如網(wǎng)頁的標(biāo)題與正文、QA論壇中的問題與答案等,這些數(shù)據(jù)無需人工標(biāo)注,相對(duì)容易獲取,但質(zhì)量可能較低。這一階段通過對(duì)比學(xué)習(xí)方法進(jìn)行訓(xùn)練,使模型具備基本的嵌入表示能力。經(jīng)過數(shù)據(jù)清理和整理,共收集約28億多語言弱監(jiān)督數(shù)據(jù)。在該階段中,mGTE使用了主流的對(duì)比學(xué)習(xí)方法進(jìn)行模型訓(xùn)練。 監(jiān)督訓(xùn)練監(jiān)督訓(xùn)練階段,mGTE使用了經(jīng)過人工標(biāo)注的高質(zhì)量文本對(duì)數(shù)據(jù)對(duì)模型進(jìn)行進(jìn)一步訓(xùn)練,以提升模型的文本表示能力。其中,中文監(jiān)督數(shù)據(jù)包含Dureader,Simcluse,Multi-CPR等在內(nèi)的6個(gè)數(shù)據(jù)集,共計(jì)200萬標(biāo)注數(shù)據(jù),英文監(jiān)督數(shù)據(jù)集使用了包括Msmarco,Nq,NLI等在內(nèi)的7個(gè)數(shù)據(jù)集,共計(jì)140萬數(shù)據(jù)。此外還包括MLDR,MIRACL,Mr.TyDi三個(gè)多語言數(shù)據(jù)集:共計(jì)12萬數(shù)據(jù),具體的數(shù)據(jù)集情況請(qǐng)參考論文附錄部分。在監(jiān)督訓(xùn)練階段,除了基礎(chǔ)的連續(xù)向量對(duì)比學(xué)習(xí)損失,mGTE引入了兩個(gè)額外的表征特性:
因此, 模型最終的訓(xùn)練損失函數(shù)為MRL部分損失函數(shù)與Sparse部分損失函數(shù)的加權(quán)和:
Embedding與Ranking的訓(xùn)練過程都是基于FP16精度進(jìn)行的,使用了DeepSpeed zero0與Gradient checkpoint來節(jié)省內(nèi)存。 效果評(píng)測檢索效果評(píng)測為了評(píng)測文本表征模型的檢索效果,尤其是模型的多語言和長文本處理能力,mGTE模型主要在以下幾個(gè)數(shù)據(jù)集進(jìn)行評(píng)測
表3展示了在這5個(gè)數(shù)據(jù)集上mGTE模型和同規(guī)模模型的效果對(duì)比:
多任務(wù)文本表征效果評(píng)測MTEB[14]是一個(gè)涵蓋多任務(wù)文本表示的通用評(píng)測數(shù)據(jù)集,英語、法語和波蘭語這四種不同語言上對(duì)mGTE模型與其他模型的性能進(jìn)行了對(duì)比。類似于檢索任務(wù),mGTE模型在與開源社區(qū)中同規(guī)模的Encoder-only系列模型進(jìn)行比較時(shí)表現(xiàn)出非常好的效果。當(dāng)然,與更大型的基于LLM的模型相比,mGTE仍存在明顯差距。然而,考慮到mGTE小模型在推理性能方面的優(yōu)勢,其在實(shí)際應(yīng)用場景中應(yīng)具備更大的發(fā)揮空間。 彈性向量表示通過進(jìn)行彈性向量表示,可以大幅提升文本處理與信息檢索的效率和效果,使高維文本數(shù)據(jù)的處理更加可行和高效。在MTEB英文評(píng)測中,mGTE對(duì)比了mGTE模型在不同維度表征下的表現(xiàn),結(jié)果與OpenAI的彈性表示模型類似。降低同一模型的向量表征維度雖然會(huì)導(dǎo)致部分效果的損失,但在512維以上的情況效果損失仍在可接受范圍內(nèi)。 排序模型在訓(xùn)練排序模型時(shí),mGTE-reranker繼續(xù)采用對(duì)比學(xué)習(xí)損失函數(shù)。論文中介紹通過實(shí)現(xiàn)發(fā)現(xiàn),弱監(jiān)督訓(xùn)練階段對(duì)排序模型效果的提升非常有限。因此,在最終的排序模型訓(xùn)練過程中,mGTE-rerank僅使用監(jiān)督數(shù)據(jù)進(jìn)行微調(diào)。由于Ranking模型需要以文本對(duì)作為輸入來計(jì)算相關(guān)性分?jǐn)?shù)。此外,排序模型的超參數(shù)設(shè)置與文本表示模型保持一致。 效果評(píng)測類似地,mGTE-reranker對(duì)MLDR、MIRACL、MKQA和BEIR數(shù)據(jù)集上的排序結(jié)果進(jìn)行了評(píng)估。所有的排序模型都基于mGTE-TRM-base模型生成的向量召回的結(jié)果top100進(jìn)行重新排序。具體結(jié)果如下: 圖5 排序模型結(jié)果對(duì)比圖 圖5展示了不同排序模型的檢索效果:
模型使用模型的使用方法可以參考Huggingface上的樣例: Embedding模型:# Requires transformers>=4.36.0 Ranking模型:
總結(jié)本文介紹了阿里巴巴通義實(shí)驗(yàn)室最新開源的gte-multilinguial系列模型工作,包含底座模型,文本表示模型與排序模型,提供了一系列支持多語言,長文檔且推理成本友好的模型。GTE(General Text Embedding)系列模型是通義實(shí)驗(yàn)室開源的一種通用文本向量模型,旨在為RAG(檢索增強(qiáng)生成)等檢索場景提供業(yè)界領(lǐng)先的檢索能力。目前,GTE系列已涵蓋多種模型,包括GTE中/英單語言系列、GTE-Qwen-instruct系列(在MTEB榜單上多語言SOTA)以及本文介紹的GTE-Multilingual系列。這些模型均已在modelscope和huggingface平臺(tái)上開源。 開源模型列表ModelScope
Huggingface
商業(yè)化API服務(wù)除了開源的GTE系列模型,GTE系列模型同時(shí)在阿里云上提供商用API服務(wù):
通用文本向量_大模型服務(wù)平臺(tái)百煉(Model Studio)-阿里云幫助中心
通用文本排序模型_大模型服務(wù)平臺(tái)百煉(Model Studio)-阿里云幫助中心 參考資料[1] Su, Jianlin, Murtadha Ahmed, Yu Lu, Shengfeng Pan, Wen Bo, and Yunfeng Liu. 'Roformer: Enhanced transformer with rotary position embedding.' Neurocomputing 568 (2024): 127063. [2] Shazeer, Noam. 'Glu variants improve transformer.' arXiv preprint arXiv:2002.05202 (2020). [3] Conneau, A., Khandelwal, K., Goyal, N., Chaudhary, V., Wenzek, G., Guzmán, F., Grave, E., Ott, M., Zettlemoyer, L., & Stoyanov, V. (2019). Unsupervised Cross-lingual Representation Learning at Scale. Annual Meeting of the Association for Computational Linguistics. [4] Hu, J., Ruder, S., Siddhant, A., Neubig, G., Firat, O., & Johnson, M. (2020). XTREME: A Massively Multilingual Multi-task Benchmark for Evaluating Cross-lingual Generalization. ArXiv, abs/2003.11080. [5] Wang, A., Singh, A., Michael, J., Hill, F., Levy, O., & Bowman, S.R. (2018). GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding. BlackboxNLP@EMNLP. [6] Li, Z., Zhang, X., Zhang, Y., Long, D., Xie, P., & Zhang, M. (2023). Towards General Text Embeddings with Multi-stage Contrastive Learning. ArXiv, abs/2308.03281. [7] Kusupati, A., Bhatt, G., Rege, A., Wallingford, M., Sinha, A., Ramanujan, V., Howard-Snyder, W., Chen, K., Kakade, S.M., Jain, P., & Farhadi, A. (2022). Matryoshka Representation Learning. Neural Information Processing Systems. [8] Robinson, J., Chuang, C., Sra, S., & Jegelka, S. (2020). Contrastive Learning with Hard Negative Samples. ArXiv, abs/2010.04592. [9] Chen, J., Xiao, S., Zhang, P., Luo, K., Lian, D., & Liu, Z. (2024). BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation. ArXiv, abs/2402.03216. [10] Zhang, X.C., Thakur, N., Ogundepo, O., Kamalloo, E., Alfonso-Hermelo, D., Li, X., Liu, Q., Rezagholizadeh, M., & Lin, J.J. (2022). Making a MIRACL: Multilingual Information Retrieval Across a Continuum of Languages. ArXiv, abs/2210.09984. [11] Longpre, S., Lu, Y., & Daiber, J. (2020). MKQA: A Linguistically Diverse Benchmark for Multilingual Open Domain Question Answering. Transactions of the Association for Computational Linguistics, 9, 1389-1406. [12] Thakur, N., Reimers, N., Ruckl'e, A., Srivastava, A., & Gurevych, I. (2021). BEIR: A Heterogenous Benchmark for Zero-shot Evaluation of Information Retrieval Models. ArXiv, abs/2104.08663. [13] https://hazyresearch./blog/2024-01-11-m2-bert-retrieval [14] Muennighoff, N., Tazi, N., Magne, L., & Reimers, N. (2022). MTEB: Massive Text Embedding Benchmark. Conference of the European Chapter of the Association for Computational Linguistics. [15] Wang, L., Yang, N., Huang, X., Yang, L., Majumder, R., & Wei, F. (2023). Improving Text Embeddings with Large Language Models. ArXiv, abs/2401.00368. [16] Zhang, X. Zhang Y, et al.(2024). mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval. |
|