M3E開源中文 Embedding 模型新 SOTA
M3E 是 Moka Massive Mixed Embedding 的縮寫
- Moka,此模型由 MokaAI 訓(xùn)練,開源和評(píng)測(cè),訓(xùn)練腳本使用 uniem ,評(píng)測(cè) BenchMark 使用 MTEB-zh
- Massive,此模型通過千萬級(jí) (2200w+) 的中文句對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練
- Mixed,此模型支持中英雙語的同質(zhì)文本相似度計(jì)算,異質(zhì)文本檢索等功能,未來還會(huì)支持代碼檢索
- Embedding,此模型是文本嵌入模型,可以將自然語言轉(zhuǎn)換成稠密的向量
M3E models 使用的數(shù)據(jù)集中包括大量非商用的數(shù)據(jù)集,所以 M3E models 也是非商用的,僅供研究使用。官方在 M3E 數(shù)據(jù)集上標(biāo)識(shí)了商用和非商用的數(shù)據(jù)集,用戶可以根據(jù)自己的需求自行訓(xùn)練。
模型對(duì)比
| 參數(shù)數(shù)量 | 維度 | 中文 | 英文 | s2s | s2p | s2c | 開源 | 兼容性 | s2s Acc | s2p ndcg@10 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| m3e-small | 24M | 512 | 是 | 否 | 是 | 否 | 否 | 是 | 優(yōu) | 0.5834 | 0.7262 |
| m3e-base | 110M | 768 | 是 | 是 | 是 | 是 | 否 | 是 | 優(yōu) | 0.6157 | 0.8004 |
| text2vec | 110M | 768 | 是 | 否 | 是 | 否 | 否 | 是 | 優(yōu) | 0.5755 | 0.6346 |
| openai-ada-002 | 未知 | 1536 | 是 | 是 | 是 | 是 | 是 | 否 | 優(yōu) | 0.5956 | 0.7786 |
說明:
- s2s, 即 sentence to sentence ,代表了同質(zhì)文本之間的嵌入能力,適用任務(wù):文本相似度,重復(fù)問題檢測(cè),文本分類等
- s2p, 即 sentence to passage ,代表了異質(zhì)文本之間的嵌入能力,適用任務(wù):文本檢索,GPT 記憶模塊等
- s2c, 即 sentence to code ,代表了自然語言和程序語言之間的嵌入能力,適用任務(wù):代碼檢索
- 兼容性,代表了模型在開源社區(qū)中各種項(xiàng)目被支持的程度,由于 m3e 和 text2vec 都可以直接通過 sentence-transformers 直接使用,所以和 openai 在社區(qū)的支持度上相當(dāng)
- ACC & ndcg@10,詳情見下方的評(píng)測(cè)
Tips:
- 使用場(chǎng)景主要是中文,少量英文的情況,建議使用 m3e 系列的模型
- 多語言使用場(chǎng)景,并且不介意數(shù)據(jù)隱私的話,我建議使用 openai-ada-002
- 代碼檢索場(chǎng)景,推薦使用 ada-002
訓(xùn)練方案
M3E 使用 in-batch 負(fù)采樣的對(duì)比學(xué)習(xí)的方式在句對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,為了保證 in-batch 負(fù)采樣的效果,我們使用 A100 80G 來最大化 batch-size,并在共計(jì) 2200W+ 的句對(duì)數(shù)據(jù)集上訓(xùn)練了 1 epoch。訓(xùn)練腳本使用 uniem,您可以在這里查看具體細(xì)節(jié)。
特性
- 中文訓(xùn)練集,M3E 在大規(guī)模句對(duì)數(shù)據(jù)集上的訓(xùn)練,包含中文百科,金融,醫(yī)療,法律,新聞,學(xué)術(shù)等多個(gè)領(lǐng)域共計(jì) 2200W 句對(duì)樣本,數(shù)據(jù)集詳見 M3E 數(shù)據(jù)集
- 英文訓(xùn)練集,M3E 使用 MEDI 145W 英文三元組數(shù)據(jù)集進(jìn)行訓(xùn)練,數(shù)據(jù)集詳見 MEDI 數(shù)據(jù)集,此數(shù)據(jù)集由 instructor team 提供
- 指令數(shù)據(jù)集,M3E 使用了 300W + 的指令微調(diào)數(shù)據(jù)集,這使得 M3E 對(duì)文本編碼的時(shí)候可以遵從指令,這部分的工作主要被啟發(fā)于 instructor-embedding
- 基礎(chǔ)模型,M3E 使用 hfl 實(shí)驗(yàn)室的 Roberta 系列模型進(jìn)行訓(xùn)練,目前提供 small 和 base 兩個(gè)版本,大家則需選用
- ALL IN ONE,M3E 旨在提供一個(gè) ALL IN ONE 的文本嵌入模型,不僅支持同質(zhì)句子相似度判斷,還支持異質(zhì)文本檢索,你只需要一個(gè)模型就可以覆蓋全部的應(yīng)用場(chǎng)景,未來還會(huì)支持代碼檢索
評(píng)測(cè)
- 評(píng)測(cè)模型,text2vec, m3e-base, m3e-small, openai-ada-002
- 評(píng)測(cè)腳本,具體參考 [MTEB-zh] (https://github.com/wangyuxinwhy/uniem/blob/main/mteb-zh)
評(píng)論
圖片
表情
