基础模型:
- Snowflake/snowflake-arctic-embed-l-v2.0
管道标签:句子相似度
标签:
- xlm-roberta
- mteb
- arctic
- snowflake-arctic-embed
- 文本嵌入推理
库名称:sentence-transformers
支持语言:
- 南非荷兰语
- 阿拉伯语
- 阿塞拜疆语
- 白俄罗斯语
- 保加利亚语
- 孟加拉语
- 加泰罗尼亚语
- 宿务语
- 捷克语
- 威尔士语
- 丹麦语
- 德语
- 希腊语
- 英语
- 西班牙语
- 爱沙尼亚语
- 巴斯克语
- 波斯语
- 芬兰语
- 法语
- 加利西亚语
- 古吉拉特语
- 希伯来语
- 印地语
- 克罗地亚语
- 海地克里奥尔语
- 匈牙利语
- 亚美尼亚语
- 印尼语
- 冰岛语
- 意大利语
- 日语
- 爪哇语
- 格鲁吉亚语
- 哈萨克语
- 高棉语
- 卡纳达语
- 韩语
- 吉尔吉斯语
- 老挝语
- 立陶宛语
- 拉脱维亚语
- 马其顿语
- 马拉雅拉姆语
- 蒙古语
- 马拉地语
- 马来语
- 缅甸语
- 尼泊尔语
- 荷兰语
- 旁遮普语
- 波兰语
- 葡萄牙语
- 克丘亚语
- 罗马尼亚语
- 俄语
- 僧伽罗语
- 斯洛伐克语
- 斯洛文尼亚语
- 索马里语
- 阿尔巴尼亚语
- 塞尔维亚语
- 瑞典语
- 斯瓦希里语
- 泰米尔语
- 泰卢固语
- 泰语
- 他加禄语
- 土耳其语
- 乌克兰语
- 乌尔都语
- 越南语
- 约鲁巴语
- 中文
使用llama.cpp创建的Snowflake/snowflake-arctic-embed-l-v2.0的GGUF量化版本
原始模型卡片:
Snowflake的Arctic-embed-l-v2.0
新闻 |
模型 |
使用 |
评估 |
联系 |
常见问题
许可证 |
致谢
新闻
模型
Snowflake arctic-embed-l-v2.0是Snowflake发布的一系列嵌入模型中的最新成员,优化了检索性能和推理效率。
Arctic Embed 2.0为多语言嵌入模型设立了新标准,在不牺牲英语性能的前提下,实现了高质量的多语言文本检索。
在宽松的Apache 2.0许可证下发布,Arctic Embed 2.0非常适合需要大规模可靠、企业级多语言搜索和检索的应用。
主要特点:
-
无妥协的多语言支持:在英语和非英语检索中表现出色,在MTEB Retrieval、CLEF和MIRACL等基准测试中优于领先的开源和专有模型。
-
推理效率:其303m非嵌入参数推理速度快,适用于任何规模的效率需求。
-
压缩友好:通过Matryoshka表示学习(MRL)和量化感知嵌入训练,实现高质量检索,嵌入向量小至128字节/向量。
-
直接替换:arctic-embed-l-v2.0基于BAAI/bge-m3-retromae,可直接替换任何形式的新库、内核、推理引擎等。
-
长上下文支持:arctic-embed-l-v2.0基于BAAI/bge-m3-retromae,通过RoPE支持高达8192的上下文窗口。
质量基准
与大多数其他开源模型不同,Arctic-embed-l-v2.0在英语(通过MTEB Retrieval)和多语言(通过MIRACL和CLEF)方面表现出色。
您不再需要支持多个模型来实现高质量的英语和多语言检索。下面提到的所有数字都是所讨论数据集的平均NDCG@10。
模型名称 |
参数数量 |
非嵌入参数数量 |
维度 |
BEIR (15) |
MIRACL (4) |
CLEF (聚焦) |
CLEF (完整) |
snowflake-arctic-l-v2.0 |
568M |
303M |
1024 |
55.6 |
55.8 |
52.9 |
54.3 |
snowflake-arctic-m |
109M |
86M |
768 |
54.9 |
24.9 |
34.4 |
29.1 |
snowflake-arctic-l |
335M |
303M |
1024 |
56.0 |
34.8 |
38.2 |
33.7 |
me5 base |
560M |
303M |
1024 |
51.4 |
54.0 |
43.0 |
34.6 |
bge-m3 (BAAI) |
568M |
303M |
1024 |
48.8 |
56.8 |
40.8 |
41.3 |
gte (Alibaba) |
305M |
113M |
768 |
51.1 |
52.3 |
47.7 |
53.1 |
除了高质量的检索,arctic还提供了易于压缩的嵌入。通过MRL利用向量截断,将向量大小减少4倍,质量下降不到3%。
将MRLed向量与向量压缩(Int4)结合,实现每文档128字节的检索。
模型 |
|
BEIR (15) |
相对性能 |
MIRACL (4) |
相对性能 |
CLEF (5) |
相对性能 |
CLEF (完整) |
相对性能 |
snowflake-arctic-l-v2.0 |
1024 |
55.6 |
N/A |
55.8 |
N/A |
52.9 |
N/A |
54.3 |
N/A |
snowflake-arctic-l-v2.0 |
256 |
54.3 |
-0.18% |
54.3 |
-2.70% |
51.9 |
-1.81% |
53.4 |
-1.53% |
使用
使用Sentence Transformers
from sentence_transformers import SentenceTransformer
model_name = 'Snowflake/snowflake-arctic-embed-l-v2.0'
model = SentenceTransformer(model_name)
queries = ['什么是snowflake?', '哪里可以吃到最好的墨西哥卷饼?']
documents = ['数据云!', '当然是墨西哥城!']
query_embeddings = model.encode(queries, prompt_name="query")
document_embeddings = model.encode(documents)
scores = model.similarity(query_embeddings, document_embeddings)
for query, query_scores in zip(queries, scores):
doc_score_pairs = list(zip(documents, query_scores))
doc_score_pairs = sorted(doc_score_pairs, key=lambda x: x[1], reverse=True)
print("查询:", query)
for document, score in doc_score_pairs:
print(score, document)