Views
No views yet
[!TIP] The MultiMolecule team has confirmed that the provided model and checkpoints are producing the same intermediate representations as the original implementation.
| Variants | Num Layers | Hidden Size | Num Heads | Intermediate Size | Num Parameters (M) | FLOPs (G) | MACs (G) | Max Num Tokens |
|---|---|---|---|---|---|---|---|---|
| ESMC-6B | 80 | 2560 | 40 | 6912 | 6351.87 | 6716.35 | 3355.44 | 2048 |
| ESMC-600M | 36 | 1152 | 18 | 3072 | 574.97 | 631.66 | 315.28 | |
| ESMC-300M | 30 | 960 | 15 | 2560 | 332.95 | 370.71 | 184.97 |
multimolecule library. You can install it using pip:pip install multimolecule1import multimolecule # you must import multimolecule to register models
2from transformers import pipeline
3
4predictor = pipeline("fill-mask", model="multimolecule/esmc-300m")
5output = predictor("MSK<mask>EELFTGVVPILVELDGDVNGHK")1from multimolecule import EsmCModel, ProteinTokenizer
2
3
4tokenizer = ProteinTokenizer.from_pretrained("multimolecule/esmc-300m")
5model = EsmCModel.from_pretrained("multimolecule/esmc-300m")
6
7text = "MSKGEELFTGVVPILVELDGDVNGHK"
8input = tokenizer(text, return_tensors="pt")
9
10output = model(**input)[!NOTE] This model is not fine-tuned for any specific task. You will need to fine-tune the model on a downstream task to use it for sequence classification or regression.
1import torch
2from multimolecule import EsmCForSequencePrediction, ProteinTokenizer
3
4
5tokenizer = ProteinTokenizer.from_pretrained("multimolecule/esmc-300m")
6model = EsmCForSequencePrediction.from_pretrained("multimolecule/esmc-300m")
7
8text = "MSKGEELFTGVVPILVELDGDVNGHK"
9input = tokenizer(text, return_tensors="pt")
10label = torch.tensor([1])
11
12output = model(**input, labels=label)[!NOTE] This model is not fine-tuned for any specific task. You will need to fine-tune the model on a downstream task to use it for token classification or regression.
1import torch
2from multimolecule import EsmCForTokenPrediction, ProteinTokenizer
3
4
5tokenizer = ProteinTokenizer.from_pretrained("multimolecule/esmc-300m")
6model = EsmCForTokenPrediction.from_pretrained("multimolecule/esmc-300m")
7
8text = "MSKGEELFTGVVPILVELDGDVNGHK"
9input = tokenizer(text, return_tensors="pt")
10label = torch.randint(2, (len(text), ))
11
12output = model(**input, labels=label)[!NOTE] This model is not fine-tuned for any specific task. You will need to fine-tune the model on a downstream task to use it for contact classification or regression.
1import torch
2from multimolecule import EsmCForContactPrediction, ProteinTokenizer
3
4
5tokenizer = ProteinTokenizer.from_pretrained("multimolecule/esmc-300m")
6model = EsmCForContactPrediction.from_pretrained("multimolecule/esmc-300m")
7
8text = "MSKGEELFTGVVPILVELDGDVNGHK"
9input = tokenizer(text, return_tensors="pt")
10label = torch.randint(2, (len(text), len(text)))
11
12output = model(**input, labels=label)ProteinTokenizer][multimolecule.ProteinTokenizer] will tokenize protein sequences using the MultiMolecule protein vocabulary for you.1@UNPUBLISHED{Candido2026-wk,
2 title = "Language modeling materializes a world model of protein
3 biology",
4 author = "Candido, Salvatore and Hayes, Thomas and Derry, Alexander and
5 Rao, Roshan and Lin, Zeming and Verkuil, Robert and Wu, Bryan
6 Z and Lee, Jin Sub and Bruguera, Elise S and Keval, Jehan A
7 and Kopylov, Mykhailo and Pak, John E and Wu, Wesley and
8 Thomas, Neil and Mataraso, Samson and Hsu, Alvin and
9 Trotman-Grant, Ashton C and Fatras, Kilian and dos Santos
10 Costa, Allan and Badkundri, Rohil and Ak{\i}n, Halil and
11 Oktay, Deniz and Deaton, Jonathan and Montabana, Elizabeth and
12 Sitwala, Hrishita and Yu, Yue and Wiggert, Marius and Carlin,
13 Dylan Alexander and Goering, Anthony W and Blazejewski, Tomasz
14 and Sandora, Mccullen and Hla, Michael and Jia, Tina Z and
15 Kloker, Leon H and Sofroniew, Nicholas J and Uehara, Masatoshi
16 and Pannu, Jassi and Bachas, Sharrol and Liu, Daniel S and
17 Sercu, Tom and Rives, Alexander",
18 abstract = "Abstract Proteins are fundamental to life. The full extent of
19 their biology is beyond our ability to characterize with
20 experimental approaches in the physical laboratory. Accurate
21 digital representations could accelerate the discovery of
22 protein biology through virtual experiments. We propose
23 language modeling to learn unified and general representations
24 that can be scaled to all of protein biology. Building on
25 these representations, we develop a structure prediction model
26 that exceeds the performance of established methods for
27 biomolecular complex prediction across benchmarks, including
28 for the interactions of antibodies with their targets. A
29 simple search procedure yields high experimental success rates
30 for the discovery of proteins with nanomolar binding
31 affinities for both miniproteins and single-chain antibodies,
32 a modality critical for therapeutic design. Study of the
33 concepts in the language model's representation space reveals
34 a systematic organization aligned with the reductionist
35 understanding of proteins developed through empirical science.
36 Leveraging this organization, we generate a comprehensive map
37 of protein biology encompassing over 6.8 billion sequences and
38 1.1 billion predicted structures, identifying connections
39 across known and unknown biology. As a whole, this shows
40 language modeling as a powerful substrate for representing the
41 biology of proteins, operating across scales from the
42 prediction and design of protein interactions at the atomic
43 level, to identifying properties of proteins at different
44 levels of granularity and abstraction, to the scale of mapping
45 connections between proteins across billions of years of
46 evolution.",
47 journal = "bioRxiv",
48 institution = "bioRxiv",
49 month = jun,
50 year = 2026,
51 copyright = "http://creativecommons.org/licenses/by/4.0/"
52}[!NOTE] The artifacts distributed in this repository are part of the MultiMolecule project. If MultiMolecule supports your research, please cite the MultiMolecule project as follows:
1@software{chen_2024_12638419,
2 author = {Chen, Zhiyuan and Zhu, Sophia Y.},
3 title = {MultiMolecule},
4 doi = {10.5281/zenodo.12638419},
5 publisher = {Zenodo},
6 url = {https://doi.org/10.5281/zenodo.12638419},
7 year = 2024,
8 month = may,
9 day = 4
10}SPDX-License-Identifier: AGPL-3.0-or-later