ESM C
Protein language model · Biohub · 2026

ESM C

A transformer encoder with pre-layer-norm, rotary embeddings and SwiGLU activations, trained on sequences from UniRef, MGnify and the Joint Genome Institute clustered at 70 percent identity. Context reaches 2048 tokens after a second training stage.

In plain language

The newer encoder in the same family as ESM-2, trained longer, on more sequences, with a longer window. You use it for the same thing: turning a sequence into numbers that a smaller model can learn from.

One way to picture it

Same job, bigger vocabulary and better memory. It reads twice as far along the chain before it has to stop.

Commonly misread as

It is not a structure predictor and not a generative model. It is the encoder that ESMFold2 reads.

Try it

Embed a sequence with the 300M checkpoint
from esm.models.esmc import ESMC
from esm.sdk.api import ESMProtein, LogitsConfig

model = ESMC.from_pretrained("esmc_300m")
protein = ESMProtein(sequence="MALWMRLLPLLALLALWGPDPAAA")

encoded = model.encode(protein)
out = model.logits(encoded, LogitsConfig(sequence=True, return_embeddings=True))
print(out.embeddings.shape)

These snippets have not been executed here. Versions move; check the model card before trusting a line of it.

01 / Why it is here

Standing

Positioned as the representation family beside the generative ESM3 line. The 6B checkpoint is the encoder that ESMFold2 reads.

02 / What sets it apart

Distinctions

  • Three sizes, 300M, 600M and 6B, with 30, 36 and 80 layers.
  • Training ran in two stages: one million steps at context 512, then 500 thousand at context 2048.
  • The 6B checkpoint reports 2.37e23 training FLOPs on its model card.
03 / Where it stops

Limits

It is an encoder, so it produces embeddings and masked-token logits rather than structures. Comparative claims against ESM-2 come from the authors and their preprint, not from an independent evaluation.

Weights and code

Checked against the registry, not from memory
RepositorySizeLicenceNote
biohub/ESMC-300M300M, 30 layersMIT and other terms
biohub/ESMC-600M600M, 36 layersMIT and other terms
biohub/ESMC-6B6B, 80 layersMIT and other terms

Sources

Each number above comes from one of these

Same task, other answers

Protein language model