🚀 ModernPubMedBERT
这是一个基于 sentence-transformers 在PubMed数据集上训练的模型。它使用套娃表示学习(Matryoshka Representation Learning)将句子和段落映射到具有多个嵌入维度(768、512、384、256、128)的密集向量空间。这使得你可以根据应用需求灵活选择不同的嵌入大小,同时在语义文本相似度、语义搜索、释义挖掘、文本分类、聚类等任务中保持高性能。
🚀 快速开始
本模型是基于 sentence-transformers 在PubMed数据集上训练得到的。它借助套娃表示学习,能把句子和段落映射到具备多个嵌入维度(768、512、384、256、128)的密集向量空间。这一特性让你可以依据应用需求灵活选用不同的嵌入大小,并且在语义文本相似度、语义搜索、释义挖掘、文本分类、聚类等任务中表现出色。
✨ 主要特性
- 基于PubMed数据集训练,适用于医学、生物医学、临床等领域。
- 采用套娃表示学习,支持多种嵌入维度,可根据需求灵活选择。
- 对于语义文本相似度、语义搜索、释义挖掘、文本分类、聚类等任务具有高性能。
📦 安装指南
首先安装Sentence Transformers库:
pip install -U sentence-transformers
💻 使用示例
基础用法
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("lokeshch19/ModernPubMedBERT")
sentences = [
"The patient was diagnosed with type 2 diabetes mellitus",
"The individual shows symptoms of hyperglycemia and insulin resistance",
"Metastatic cancer requires aggressive treatment approaches"
]
embeddings = model.encode(sentences)
print(embeddings.shape)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
模型详情
模型描述
属性 |
详情 |
模型类型 |
句子转换器(Sentence Transformer) |
最大序列长度 |
8192个标记 |
输出维度 |
768维 |
相似度函数 |
余弦相似度 |
语言 |
英语 |
许可证 |
apache-2.0 |
完整模型架构
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: ModernBertModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)
损失函数
{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
768,
512,
384,
256,
128
],
"matryoshka_weights": [
1,
1,
1,
1,
1
],
"n_dims_per_step": -1
}
框架版本
框架 |
版本 |
Python |
3.10.10 |
Sentence Transformers |
4.1.0 |
Transformers |
4.51.3 |
PyTorch |
2.7.0+cu128 |
Accelerate |
1.6.0 |
Datasets |
3.5.1 |
Tokenizers |
0.21.1 |
📚 详细文档
引用
BibTeX
Sentence Transformers
@inproceedings{reimers-2019-sentence-bert,
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
author = "Reimers, Nils and Gurevych, Iryna",
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
month = "11",
year = "2019",
publisher = "Association for Computational Linguistics",
url = "https://arxiv.org/abs/1908.10084",
}
MatryoshkaLoss
@misc{kusupati2024matryoshka,
title={Matryoshka Representation Learning},
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}
}
MultipleNegativesRankingLoss
@misc{henderson2017efficient,
title={Efficient Natural Language Response Suggestion for Smart Reply},
author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
year={2017},
eprint={1705.00652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
📄 许可证
本模型使用的许可证为apache-2.0。