基础模型: EuroBERT/EuroBERT-210m
语言:
- 阿拉伯语
库名称: sentence-transformers
许可证: mit
指标:
- 皮尔逊余弦相似度
- 斯皮尔曼余弦相似度
管道标签: 特征提取
标签:
- sentence-transformers
- 损失函数:MatryoshkaLoss
- 损失函数:MultipleNegativesRankingLoss
- EuroBert
- 阿拉伯语
小部件示例:
- 源句: 金发女子眺望(西雅图太空针塔)景色
对比句:
- 男子欣赏金门大桥风景
- 女孩在户外雪地玩耍
- 有人正在观看太空针塔
- 源句: 中东市场
对比句:
- 源句: 两名穿武术服的男子在较量
对比句:
- 源句: 一群人沿卡车行走
对比句:
- 源句: 垒球运动员将球传给队友
对比句:
- 两个打棒球的人
- 正在打扫的男子
- 坐在长椅上的棒球运动员
模型索引:
- 名称: 基于EuroBERT/EuroBERT-210m的SentenceTransformer
结果:
- 任务:
类型: 语义相似度
名称: 语义相似度
数据集:
名称: sts开发集768维
类型: sts-dev-768
指标:
- 类型: 皮尔逊余弦
值: 0.8111988062913815
名称: 皮尔逊余弦
- 类型: 斯皮尔曼余弦
值: 0.8100586279907306
名称: 斯皮尔曼余弦
- 任务:
类型: 语义相似度
名称: 语义相似度
数据集:
名称: sts开发集512维
类型: sts-dev-512
指标:
- 类型: 皮尔逊余弦
值: 0.8092891955563192
名称: 皮尔逊余弦
- 类型: 斯皮尔曼余弦
值: 0.8087644228771842
名称: 斯皮尔曼余弦
- 任务:
类型: 语义相似度
名称: 语义相似度
数据集:
名称: sts开发集256维
类型: sts-dev-256
指标:
- 类型: 皮尔逊余弦
值: 0.8076510620939634
名称: 皮尔逊余弦
- 类型: 斯皮尔曼余弦
值: 0.8080588277305082
名称: 斯皮尔曼余弦
- 任务:
类型: 语义相似度
名称: 语义相似度
数据集:
名称: sts开发集128维
类型: sts-dev-128
指标:
- 类型: 皮尔逊余弦
值: 0.8028710019029521
名称: 皮尔逊余弦
- 类型: 斯皮尔曼余弦
值: 0.8054855987917489
名称: 斯皮尔曼余弦
- 任务:
类型: 语义相似度
名称: 语义相似度
数据集:
名称: sts开发集64维
类型: sts-dev-64
指标:
- 类型: 皮尔逊余弦
值: 0.7923252906438638
名称: 皮尔逊余弦
- 类型: 斯皮尔曼余弦
值: 0.7975941111911333
名称: 斯皮尔曼余弦
阿拉伯-EuroBERT:阿拉伯语优化的句子转换模型
阿拉伯-EuroBERT是基于EuroBERT/EuroBERT-210m微调的sentence-transformers模型,专门针对阿拉伯语文本语义嵌入进行了优化。
该模型将句子和段落映射到768维稠密向量空间,最大序列长度为8,192个标记。
论文链接:
基础模型更多信息请访问: https://huggingface.co/EuroBERT/EuroBERT-210m

我们的微调模型相比基础模型有显著提升,在STS17上相对提升73.5%,在STS22.v2上相对提升21.6%。
模型详情
模型描述
- 模型类型: 带Matryoshka嵌入的句子转换器
- 基础模型: EuroBERT/EuroBERT-210m
- 最大序列长度: 8,192个标记
- 输出维度: Matryoshka嵌入维度[768, 512, 256, 128, 64]
- 相似度函数: 余弦相似度
- 语言: 针对阿拉伯语优化
- 许可证: 与EuroBERT相同(MIT)
Matryoshka嵌入
该模型采用Matryoshka表示学习训练,无需重新训练即可灵活调整嵌入维度。可使用较小维度(64, 128, 256, 512)提高效率,或使用完整768维获取最佳性能。即使在降维情况下模型仍保持强劲表现:
维度 |
斯皮尔曼相关性(STS开发集) |
768 |
0.8101 |
512 |
0.8088 |
256 |
0.8081 |
128 |
0.8055 |
64 |
0.7976 |
完整模型架构
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: EuroBertModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)
使用场景
该模型在以下阿拉伯语NLP任务中表现优异:
- 语义文本相似度
- 语义搜索和信息检索
- 文档聚类和分类
- 问答系统
- 复述检测
- 零样本分类
使用方法
安装
pip install -U sentence-transformers
基础用法
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Omartificial-Intelligence-Space/AraEuroBert-210M")
sentences = [
'近年来人工智能领域的科学进步显著加速',
'开发先进语言模型有助于改进阿拉伯语的自动理解',
'自然语言处理技术已成为现代应用的核心组成部分',
'中东地区面临日益严峻的气候挑战,威胁水粮安全',
'阿拉伯文学遗产富含反映地区历史和文化的诗歌小说',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
from sentence_transformers import util
similarities = util.cos_sim(embeddings, embeddings)
print(similarities)
使用Matryoshka嵌入
embeddings_768 = model.encode(sentences)
embeddings_256 = model.encode(sentences, truncate_dim=256)
embeddings_64 = model.encode(sentences, truncate_dim=64)
训练方法
- 损失函数: 结合MatryoshkaLoss与MultipleNegativesRankingLoss
- Matryoshka维度: [768, 512, 256, 128, 64]
- 批大小: 32
- 训练轮次: 1(带早停机制)
- 优化器: AdamW
- 学习率: 5e-05配合线性调度器和10%预热
- 硬件: 多块NVIDIA GPU配合混合精度(fp16)
基础模型: EuroBERT
EuroBERT是专为欧洲及全球广泛使用语言设计的新一代多语言编码器模型,相比传统多语言编码器具有以下优势:
- 广泛的多语言覆盖: 在15种语言的5万亿标记数据集上训练
- 先进架构: 采用分组查询注意力、旋转位置嵌入和RMS归一化
- 长文本支持: 原生支持8,192个标记的上下文
- 专业知识: 包含数学和编程语言数据以提升推理能力
局限性与建议
- 该模型主要针对阿拉伯语文本优化,对其他语言可能表现不佳
- 对训练数据中未充分代表的专业领域,性能可能有所波动
- 处理短文本(<5词)时建议增加上下文以获得更好表征
- 处理超长文档时建议先分割为有意义段落再编码
引用
若在研究中使用本模型,请引用以下文献:
@misc{boizard2025eurobertscalingmultilingualencoders,
title={EuroBERT: 面向欧洲语言的多语言编码器扩展},
author={Nicolas Boizard and Hippolyte Gisserot-Boukhlef and Duarte M. Alves and André Martins and Ayoub Hammal and Caio Corro and Céline Hudelot and Emmanuel Malherbe and Etienne Malaboeuf and Fanny Jourdan and Gabriel Hautreux and João Alves and Kevin El-Haddad and Manuel Faysse and Maxime Peyrard and Nuno M. Guerreiro and Patrick Fernandes and Ricardo Rei and Pierre Colombo},
year={2025},
eprint={2503.05500},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2503.05500},
}
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: 使用孪生BERT网络的句子嵌入",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "2019年自然语言处理实证方法会议论文集",
month = "11",
year = "2019",
publisher = "计算语言学协会",
url = "https://arxiv.org/abs/1908.10084",
}
@misc{kusupati2024matryoshka,
title={Matryoshka表示学习},
author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
year={2024},
eprint={2205.13147},
archivePrefix={arXiv},
primaryClass={cs.LG}
}