Model reference · open weights

BiomedNLP-KRISSBERT-PubMed-UMLS-EL

Embeddings microsoft Embeddings 1 build Open weights 960 dl/mo

BiomedNLP-KRISSBERT-PubMed-UMLS-EL is an open-weight embedding model from microsoft. BiomedNLP-KRISSBERT-PubMed-UMLS-EL (BF16) weighs 438 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • BiomedNLP-KRISSBERT-PubMed-UMLS-EL is a feature extraction model developed by Microsoft for biomedical entity linking.
  • It is initialized with PubMedBERT parameters and continuously pretrained using UMLS entity names to self-supervise examples from PubMed abstracts.
  • The model supports English, has a context length of 512 tokens, and is released under the MIT licence.

Summary of the microsoft/BiomedNLP-KRISSBERT-PubMed-UMLS-EL model card, 2026-10-13

What it is

Released bymicrosoft
Released2022-04-15
VRAM438 MB for the weights

What it runs on

Memory and cards for BiomedNLP-KRISSBERT-PubMed-UMLS-EL (BF16)

438 MBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What microsoft says about BiomedNLP-KRISSBERT-PubMed-UMLS-EL

Read the model card

KRISSBERT

https://arxiv.org/pdf/2112.07887.pdf

Entity linking faces significant challenges such as prolific variations and prevalent ambiguities, especially in high-value domains with myriad entities. Standard classification approaches suffer from the annotation bottleneck and cannot effectively handle unseen entities. Zero-shot entity linking has emerged as a promising direction for generalizing to new entities, but it still requires example gold entity mentions during training and canonical descriptions for all entities, both of which are rarely available outside of Wikipedia (Logeswaran et al., 2019; Wu et al., 2020). We explore Knowledge-RIch Self-Supervision (KRISS) and train a contextual encoder (KRISSBERT) for entity linking, by leveraging readily available unlabeled text and domain knowledge.

Specifically, the KRISSBERT model is initialized with PubMedBERT parameters, and then continuously pretrained using biomedical entity names from the UMLS ontology to self-supervise entity linking examples from PubMed abstracts. Experiments on seven standard biomedical entity linking datasets show that KRISSBERT attains new state of the art, outperforming prior self-supervised methods by as much as 20 absolute points in accuracy. See Zhang et al., 2021 for the details.

Note that some prior systems like BioSyn, SapBERT, and their follow-up work (e.g., Lai et al., 2021) claimed to do entity linking, but their systems completely ignore the context of an entity mention, and can only predict a surface form in the entity dictionary (See Figure 1 in BioSyn), not the canonical entity ID (e.g., CUI in UMLS). Therefore, they can't disambiguate ambiguous mentions. For instance, given the entity mention "ER" in the sentence "ER crowding has become a wide-spread problem", their systems ignore the sentence context, and simply predict the closest surface form, which is just "ER". Multiple entities share this surface form as a potential name or alias, such as Emergency Room (C0562508), Estrogen Receptor Gene (C1414461), and Endoplasmic Reticulum(C0014239). Without using the context information, their systems can't resolve such ambiguity and pinpoint the correct entity Emergency Room (C0562508). More problematically, their evaluation would deem such an ambiguous prediction as correct. Consequently, the reported results in their papers do not reflect true performance on entity linking.

Usage for Entity Linking

Here, we use the MedMentions data to show you how to 1) generate prototype embeddings, and 2) run entity linking.

(We are currently unable to release the self-supervised mention examples, because they require the UMLS and PubMed licenses.)

1. Create conda environment and install requirements
conda create -n kriss -y python=3.8 && conda activate kriss
pip install -r requirements.txt
2. Switch the root dir to usage
cd usage
3. Download the MedMentions dataset
git clone https://github.com/chanzuckerberg/MedMentions.git
4. Generate prototype embeddings
python generate_prototypes.py
5. Run entity linking
python run_entity_linking.py

This will give you about 58.3% top-1 accuracy.

Citation

If you find KRISSBERT useful in your research, please cite the following paper:

@article{krissbert,
  author = {Sheng Zhang, Hao Cheng, Shikhar Vashishth, Cliff Wong, Jinfeng Xiao, Xiaodong Liu, Tristan Naumann, Jianfeng Gao, Hoifung Poon},
  title = {Knowledge-Rich Self-Supervision for Biomedical Entity Linking},
  year = {2021},
  url = {https://arxiv.org/abs/2112.07887},
  eprinttype = {arXiv},
  eprint = {2112.07887},
}

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms