wangyuxin commited on
Commit
b8e8c65
1 Parent(s): fb4a130

添加检索

Browse files
Files changed (1) hide show
  1. README.md +45 -8
README.md CHANGED
@@ -8,6 +8,11 @@ M3E 是 Moka Massive Mixed Embedding 的缩写
8
  * Massive,此文本嵌入模型通过**千万级**的中文句对数据集进行训练
9
  * Mixed,此文本嵌入模型支持中英双语的同质文本相似度计算,异质文本检索等功能,未来还会支持代码检索
10
 
 
 
 
 
 
11
  ## 使用方式
12
 
13
  您需要先安装 sentence-transformers
@@ -53,16 +58,18 @@ M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训
53
  - 中文训练集,M3E 在大规模句对数据集上的训练,包含中文百科,金融,医疗,法律,新闻,学术等多个领域共计 2200W 句对样本,数据集详见 [M3E 数据集](#M3E数据集)
54
  - 英文训练集,M3E 使用 MEDI 145W 英文三元组数据集进行训练,数据集详见 [MEDI 数据集](https://drive.google.com/file/d/1vZ5c2oJNonGOvXzppNg5mHz24O6jcc52/view),此数据集由 [instructor team](https://github.com/HKUNLP/instructor-embedding) 提供
55
  - 指令数据集,M3E 使用了 300W + 的指令微调数据集,这使得 M3E 对文本编码的时候可以遵从指令,这部分的工作主要被启发于 [instructor-embedding](https://github.com/HKUNLP/instructor-embedding)
56
- - 基础模型,M3E 使用 hfl 实验室的 [Roberta](https://huggingface.co/hfl/chinese-roberta-wwm-ext) 系列模型进行训练,目前提供 small 和 base 两个版本,大家则需选用
57
  - ALL IN ONE,M3E 旨在提供一个 ALL IN ONE 的文本嵌入模型,不仅支持同质句子相似度判断,还支持异质文本检索,你只需要一个模型就可以覆盖全部的应用场景,未来还会支持代码检索
 
58
  ## 评测
59
 
 
 
 
60
  ### 文本分类
61
 
62
  - 数据集选择,选择开源在 HuggingFace 上的 6 种文本分类数据集,包括新闻、电商评论、股票评论、长文本等
63
  - 评测方式,使用 MTEB 的方式进行评测,报告 Accuracy。
64
- - 评测模型,[text2vec](https://github.com/shibing624/text2vec), m3e-base, m3e-small, openai-ada-002
65
- - 评测脚本,具体参考此 [评测脚本](https://github.com/wangyuxinwhy/uniem/blob/main/mteb-zh/tasks.py)
66
 
67
  | | text2vec | m3e-small | m3e-base | openai |
68
  | ----------------- | -------- | --------- | -------- | ------ |
@@ -74,12 +81,32 @@ M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训
74
  | IFlyTek | 0.414 | 0.4263 | 0.4409 | 0.4486 |
75
  | Average | 0.5755 | 0.5834 | 0.6157 | 0.5956 |
76
 
77
- openai-ada-002 模型待评测
78
-
79
  ### 检索排序
80
 
81
- 更多任务,敬请期待
82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
 
84
  ## M3E数据集
85
 
@@ -119,7 +146,7 @@ openai-ada-002 模型待评测
119
 
120
  ## 计划表
121
 
122
- - [ ] 完成 MTEB 中文评测 BenchMark
123
  - [ ] 完成 Large 模型的训练和开源
124
  - [ ] 完成支持代码检索的模型
125
  - [ ] 对 M3E 数���集进行清洗,保留高质量的部分,组成 m3e-hq,并在 huggingface 上开源
@@ -133,4 +160,14 @@ openai-ada-002 模型待评测
133
 
134
  ## License
135
 
136
- M3E models 使用的数据集中包括大量非商用的数据集,所以 M3E models 也是非商用的,仅供研究使用。不过我们已经在 M3E 数据集上标识了商用和非商用的数据集,您可以根据自己的需求自行训练。
 
 
 
 
 
 
 
 
 
 
 
8
  * Massive,此文本嵌入模型通过**千万级**的中文句对数据集进行训练
9
  * Mixed,此文本嵌入模型支持中英双语的同质文本相似度计算,异质文本检索等功能,未来还会支持代码检索
10
 
11
+ ## 更新说明
12
+
13
+ - 2023.06.08,添加检索任务的评测结果,在 T2Ranking 1W 中文数据集上,m3e-base 在 ndcg@10 上达到了 0.8004,超过了 openai-ada-002 的 0.7786
14
+ - 2023.06.07,添加文本分类任务的评测结果,在 6 种文本分类数据集上,m3e-base 在 accuracy 上达到了 0.6157,超过了 openai-ada-002 的 0.5956
15
+
16
  ## 使用方式
17
 
18
  您需要先安装 sentence-transformers
 
58
  - 中文训练集,M3E 在大规模句对数据集上的训练,包含中文百科,金融,医疗,法律,新闻,学术等多个领域共计 2200W 句对样本,数据集详见 [M3E 数据集](#M3E数据集)
59
  - 英文训练集,M3E 使用 MEDI 145W 英文三元组数据集进行训练,数据集详见 [MEDI 数据集](https://drive.google.com/file/d/1vZ5c2oJNonGOvXzppNg5mHz24O6jcc52/view),此数据集由 [instructor team](https://github.com/HKUNLP/instructor-embedding) 提供
60
  - 指令数据集,M3E 使用了 300W + 的指令微调数据集,这使得 M3E 对文本编码的时候可以遵从指令,这部分的工作主要被启发于 [instructor-embedding](https://github.com/HKUNLP/instructor-embedding)
61
+ - 基础模型,M3E 使用 hfl 实验室的 [Roberta](https://huggingface.co/hfl/chinese-roberta-wwm-ext) 系列模型进行训练,目前提供 small 和 base 两个版本,大家则需选用
62
  - ALL IN ONE,M3E 旨在提供一个 ALL IN ONE 的文本嵌入模型,不仅支持同质句子相似度判断,还支持异质文本检索,你只需要一个模型就可以覆盖全部的应用场景,未来还会支持代码检索
63
+
64
  ## 评测
65
 
66
+ - 评测模型,[text2vec](https://github.com/shibing624/text2vec), m3e-base, m3e-small, openai-ada-002
67
+ - 评测脚本,具体参考此 [评测脚本](https://github.com/wangyuxinwhy/uniem/blob/main/mteb-zh)
68
+
69
  ### 文本分类
70
 
71
  - 数据集选择,选择开源在 HuggingFace 上的 6 种文本分类数据集,包括新闻、电商评论、股票评论、长文本等
72
  - 评测方式,使用 MTEB 的方式进行评测,报告 Accuracy。
 
 
73
 
74
  | | text2vec | m3e-small | m3e-base | openai |
75
  | ----------------- | -------- | --------- | -------- | ------ |
 
81
  | IFlyTek | 0.414 | 0.4263 | 0.4409 | 0.4486 |
82
  | Average | 0.5755 | 0.5834 | 0.6157 | 0.5956 |
83
 
 
 
84
  ### 检索排序
85
 
86
+ #### T2Ranking 1W
87
 
88
+ - 数据集选择,使用 [T2Ranking](https://github.com/THUIR/T2Ranking/tree/main) 数据集,由于 T2Ranking 的数据集太大,openai 评测起来的时间成本和 api 费用有些高,所以我们只选择了 T2Ranking 中的前 10000 篇文章
89
+ - 评测方式,使用 MTEB 的方式进行评测,报告 map@1, map@10, mrr@1, mrr@10, ndcg@1, ndcg@10
90
+
91
+ | | text2vec | openai-ada-002 | m3e-small | m3e-base |
92
+ | ------- | -------- | -------------- | --------- | -------- |
93
+ | map@1 | 0.4684 | 0.6133 | 0.5574 | 0.626 |
94
+ | map@10 | 0.5877 | 0.7423 | 0.6878 | 0.7656 |
95
+ | mrr@1 | 0.5345 | 0.6931 | 0.6324 | 0.7047 |
96
+ | mrr@10 | 0.6217 | 0.7668 | 0.712 | 0.7841 |
97
+ | ndcg@1 | 0.5207 | 0.6764 | 0.6159 | 0.6881 |
98
+ | ndcg@10 | 0.6346 | 0.7786 | 0.7262 | 0.8004 |
99
+
100
+ #### T2Ranking
101
+
102
+ - 数据集选择,使用 T2Ranking,刨除 openai-ada-002 模型后,我们对剩余的三个模型,进行 T2Ranking 10W 和 T2Ranking 50W 的评测。(T2Ranking 评测太耗内存了... 128G 都不行)
103
+ - 评测方式,使用 MTEB 的方式进行评测,报告 ndcg@10
104
+
105
+ | | text2vec | m3e-small | m3e-base |
106
+ | ------- | -------- | --------- | -------- |
107
+ | t2r-1w | 0.6346 | 0.72621 | 0.8004 |
108
+ | t2r-10w | 0.44644 | 0.5251 | 0.6263 |
109
+ | t2r-50w | 0.33482 | 0.38626 | 0.47364 |
110
 
111
  ## M3E数据集
112
 
 
146
 
147
  ## 计划表
148
 
149
+ - [x] 完成 MTEB 中文评测 BenchMark, [MTEB-zh](https://github.com/wangyuxinwhy/uniem/tree/main/mteb-zh)
150
  - [ ] 完成 Large 模型的训练和开源
151
  - [ ] 完成支持代码检索的模型
152
  - [ ] 对 M3E 数���集进行清洗,保留高质量的部分,组成 m3e-hq,并在 huggingface 上开源
 
160
 
161
  ## License
162
 
163
+ M3E models 使用的数据集中包括大量非商用的数据集,所以 M3E models 也是非商用的,仅供研究使用。不过我们已经在 M3E 数据集上标识了商用和非商用的数据集,您可以根据自己的需求自行训练。
164
+
165
+ ## Citation
166
+ Please cite this model using the following format:
167
+ ```
168
+ @software {Moka Massive Mixed Embedding,
169
+ author = {Wang Yuxin,Sun Qingxuan,He sicheng},
170
+ title = {M3E: Moka Massive Mixed Embedding Model},
171
+ year = {2023}
172
+ }
173
+ ```