Model reference · open weights

BarcodeBERT

Embeddings bioscan-ml Embeddings 1 build Open weights 516 dl/mo

BarcodeBERT is an open-weight embedding model from bioscan-ml. BarcodeBERT (FP32) weighs 58 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.

  • BarcodeBERT is a pre-trained transformer model developed by bioscan-ml for feature extraction on insect DNA barcoding data.
  • The model contains 29 million parameters and supports a context length of 512 tokens.
  • It is designed for English and is available under the MIT licence.

Summary of the bioscan-ml/BarcodeBERT model card, 2026-10-01

What it is

Released bybioscan-ml
Released2024-11-13
Parameters29M
VRAM58 MB for the weights

What it runs on

Memory and cards for BarcodeBERT (FP32)

58 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 bioscan-ml says about BarcodeBERT

Read the model card

A pre-trained transformer model for inference on insect DNA barcoding data, as presented in the paper BarcodeBERT: Transformers for Biodiversity Analysis.

Code: https://github.com/bioscan-ml/BarcodeBERT

To use BarcodeBERT as a feature extractor:

from transformers import AutoTokenizer, BertForTokenClassification

# Load the tokenizer
tokenizer = AutoTokenizer.from_pretrained(
    "bioscan-ml/BarcodeBERT", trust_remote_code=True
)

# Load the model
model = BertForTokenClassification.from_pretrained("bioscan-ml/BarcodeBERT", trust_remote_code=True)

# Sample sequence
dna_seq = "ACGCGCTGACGCATCAGCATACGA"

# Tokenize
input_seq = tokenizer(dna_seq, return_tensors="pt")["input_ids"]

# Pass through the model
output = model(input_seq.unsqueeze(0))["hidden_states"][-1]

# Compute Global Average Pooling
features = output.mean(1)

Citation

If you find BarcodeBERT useful in your research please consider citing:

@misc{arias2023barcodebert,
  title={{BarcodeBERT}: Transformers for Biodiversity Analysis},
  author={Pablo Millan Arias
    and Niousha Sadjadi
    and Monireh Safari
    and ZeMing Gong
    and Austin T. Wang
    and Scott C. Lowe
    and Joakim Bruslund Haurum
    and Iuliia Zarubiieva
    and Dirk Steinke
    and Lila Kari
    and Angel X. Chang
    and Graham W. Taylor
  },
  year={2023},
  eprint={2311.02401},
  archivePrefix={arXiv},
  primaryClass={cs.LG},
  doi={10.48550/arxiv.2311.02401},
}

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