M3E首頁、文檔和下載- 開源中文Embedding 模型新SOTA – 程式开发

M3E 是Moka Massive Mixed Embedding 的縮寫

  • Moka,此模型由MokaAI 訓練,開源和評測,訓練腳本使用 uniem ,評測BenchMark 使用 MTEB-zh
  • Massive,此模型通過千萬級 (2200w+) 的中文句對數據集進行訓練
  • Mixed,此模型支持中英雙語的同質文本相似度計算,異質文本檢索等功能,未來還會支持代碼檢索
  • Embedding,此模型是文本嵌入模型,可以將自然語言轉換成稠密的向量

M3E models 使用的數據集中包括大量非商用的數據集,所以M3E models 也是非商用的,僅供研究使用。官方在M3E 數據集上標識了商用和非商用的數據集,用戶可以根據自己的需求自行訓練。

模型對比








參數數量維度中文英文s2ss2ps2c開源兼容性s2s Accs2p ndcg@10
m3e-small24M5120.58340.7262
m3e-base110M7680.61570.8004
text2vec110M7680.57550.6346
openai-ada-002未知15360.59560.7786

說明:

  • s2s, 即sentence to sentence ,代表了同質文本之間的嵌入能力,適用任務:文本相似度,重複問題檢測,文本分類等
  • s2p, 即sentence to passage ,代表了異質文本之間的嵌入能力,適用任務:文本檢索,GPT 記憶模塊等
  • s2c, 即sentence to code ,代表了自然語言和程序語言之間的嵌入能力,適用任務:代碼檢索
  • 兼容性,代表了模型在開源社區中各種項目被支持的程度,由於m3e 和text2vec 都可以直接通過sentence-transformers 直接使用,所以和openai 在社區的支持度上相當
  • ACC & ndcg@10,詳情見下方的評測

Tips:

  • 使用場景主要是中文,少量英文的情況,建議使用m3e 系列的模型
  • 多語言使用場景,並且不介意數據隱私的話,我建議使用openai-ada-002
  • 代碼檢索場景,推薦使用ada-002

訓練方案

M3E 使用in-batch 負採樣的對比學習的方式在句對數據集進行訓練,為了保證in-batch 負採樣的效果,我們使用A100 80G 來最大化batch-size,並在共計2200W+ 的句對數據集上訓練了1 epoch。訓練腳本使用 uniem,您可以在這裡查看具體細節。

特性

  • 中文訓練集,M3E 在大規模句對數據集上的訓練,包含中文百科,金融,醫療,法律,新聞,學術等多個領域共計2200W 句對樣本,數據集詳見 M3E 數據集
  • 英文訓練集,M3E 使用MEDI 145W 英文三元組數據集進行訓練,數據集詳見 MEDI 數據集,此數據集由 instructor team 提供
  • 指令數據集,M3E 使用了300W + 的指令微調數據集,這使得M3E 對文本編碼的時候可以遵從指令,這部分的工作主要被啟發於 instructor-embedding
  • 基礎模型,M3E 使用hfl 實驗室的 Roberta 系列模型進行訓練,目前提供small 和base 兩個版本,大家則需選用
  • ALL IN ONE,M3E 旨在提供一個ALL IN ONE 的文本嵌入模型,不僅支持同質句子相似度判斷,還支持異質文本檢索,你只需要一個模型就可以覆蓋全部的應用場景,未來還會支持代碼檢索

評測

#M3E首頁文檔和下載 #開源中文Embedding #模型新SOTA #程式开发

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *