PubMedBERT Embeddings项目介绍
PubMedBERT Embeddings是一个基于PubMedBERT-base模型的句子嵌入项目。这个项目利用sentence-transformers对原始模型进行了微调,使其能够将句子和段落映射到768维的密集向量空间中。该项目的主要目标是为医学文献提供高质量的嵌入表示,可用于聚类或语义搜索等任务。
项目特点
-
专门针对医学文献:该模型使用PubMed标题-摘要对的随机样本进行训练,因此特别适合处理医学领域的文本。
-
高性能:与通用模型相比,PubMedBERT Embeddings在医学文献处理方面表现更优秀。
-
可扩展性:该模型可以进一步针对特定医学子领域进行微调,以获得更好的性能。
-
多种使用方式:项目支持通过txtai、sentence-transformers和Hugging Face Transformers等多种方式使用。
使用方法
PubMedBERT Embeddings提供了多种使用方法,以适应不同的需求:
-
使用txtai构建嵌入数据库,用于语义搜索或作为检索增强生成(RAG)的知识源。
-
通过sentence-transformers加载模型,直接对句子进行编码。
-
使用Hugging Face Transformers直接调用模型,可以更灵活地控制编码过程。
性能评估
项目团队对PubMedBERT Embeddings进行了全面的性能评估。评估使用了多个数据集,包括PubMed QA、PubMed Subset和PubMed Summary。评估指标采用皮尔逊相关系数。
结果显示,PubMedBERT Embeddings在所有测试数据集上都取得了最好的性能,平均得分为95.64,超过了其他流行的基础模型和专门的PubMed相似度模型。
模型训练
PubMedBERT Embeddings的训练过程采用了精心设计的参数配置:
-
使用RandomSampler和BatchSampler进行数据加载,批量大小为24。
-
采用MultipleNegativesRankingLoss作为损失函数,使用余弦相似度。
-
训练使用AdamW优化器,学习率为2e-05,权重衰减为0.01。
-
使用WarmupLinear作为学习率调度器,预热步数为10000。
模型架构
PubMedBERT Embeddings的完整模型架构包括两个主要组件:
-
Transformer:基于BertModel,最大序列长度为512。
-
Pooling:使用平均池化模式,词嵌入维度为768。
这种架构设计使得模型能够有效地处理医学文献中的长文本,并生成高质量的嵌入表示。
通过这个项目,研究人员和开发者可以更便捷地处理医学文献,进行语义搜索、文本聚类等任务,从而促进医学知识的挖掘和应用。