Skip to main content
This page is for bioinformaticians who bring a pretrained model, such as ESM-2, or their own PyTorch code. The upload works as described in Bring your model: install tracebloc[training], pass the model to user.upload_model() with the use case’s dataset key, confirm its licence, then link and train.

Upload ESM-2, step by step

ESM-2 is a Hugging Face model, so you upload its folder. The smallest ESM-2 makes a quick first experiment. In a fresh virtual environment, on Python 3.11, 3.12 or 3.13:
Then, in your notebook:
The SDK builds the model the use case’s task needs from the ESM-2 backbone and, for a task with classes, starts a new head for the use case’s classes. It turns ESM-2’s vocab.txt into a tokenizer.json and checks it gives the same token ids as ESM-2’s own tokenizer. The licence it reads is MIT. The converted model reads up to 1,024 tokens, ESM-2’s own limit, or the dataset’s sequence length when that is shorter. The same steps work for the larger ESM-2 models up to 650M parameters. ESM-2 650M’s weights are over 2 GiB, so the SDK ships them in bf16, and it trains with LoRA by default. The 3B and 15B ESM-2 models are over the 705M parameters federated averaging can merge, so they can’t be trained.

Which models convert

These models convert with the released SDK and pass the acceptance check: ESM-2 can’t be converted for Embeddings: its checkpoint carries no pooler, which an embeddings model needs.

Models that can’t be converted

The SDK stops these models before anything uploads: H-optimus-0 is licensed Apache-2.0, but its 1.1B parameters are over the 705M limit, so it can’t be trained. If you need a model this page doesn’t list, reach out to us at [email protected]. UNI, Virchow2 and H-optimus-0 are gated on the Hugging Face Hub: you accept their terms there before you can download them.

Lay out your data

The data owner ingests the data into their secure environment with the tracebloc CLI. Each task has a dataset template: A residue-level label cell holds at most 255 characters, so per-residue labels fit short sequences only. A table holds at most 1,006 feature columns: for expression data, select the genes you train on, such as the most variable ones, before you ingest.

From FASTA to text files

The data ingestor reads one .txt file per sequence. To ingest sequences from a FASTA file, write each record to its own file named by its id, and list it in labels.csv. This script reads proteins.fasta and the labels in classes.csv (columns id,label), and writes the folder proteins/ for Text classification:
Then ingest proteins/ as described in the Text classification dataset template.