LEMON-ZEST: Evolution-Informed Tokenization for Efficient Protein Language Modeling
Organizations: Georgia Institute of Technology · University College London
Abstract
Protein Language Models (PLMs) have made remarkable progress following scaling laws established in natural language processing across sequence- and structure-based tasks, yet the potential of tokenization remains underexploited. Unlike human language, proteins preserve structure despite extensive sequence variation a property standard tokenization strategies fundamentally fail to capture. We introduce ZEST (Zoned Encoding of Sequence Traits), an evolution-informed vocabulary derived from conserved regions of multiple sequence alignments. ZEST allows embedding domain-level biological priors directly at the tokenization stage rather than learning them implicitly through scale. ZEST natively compresses sequences to an average token length of 4 residues, enabling our model to process 4,000 residues within a standard 1024-token context window. Building on this, we present LEMON (Layered Extraction of Molecular Ordering from Nature), a compact 200M-parameter sequence-based model for detection of remote homology between protein sequences trained on a single H100 GPU for one week. Despite its modest size, LEMON outperforms state-of-the-art models ranging from 600M to 3B parameters. Our results demonstrate that evolution-informed tokenization can substitute for massive parameter scaling, opening a new direction for efficient, biologically-grounded protein representation learning. All code, model weights, and results are publicly available under the MIT license.
Figures & tables
| Model | Params | Time | CATH S20 | SCOPe | SCOP | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Architecture | Topology | Fold | Superfamily | Fold | Superfamily | |||||||||
| AUROC | mAP | AUROC | mAP | AUROC | mAP | AUROC | mAP | AUROC | mAP | AUROC | mAP | |||
| LEMON | 200M | 5m | 0.825 | 0.356 | 0.898 | 0.320 | 0.903 | 0.347 | 0.959 | 0.555 | 0.904 | 0.287 | 0.948 | 0.421 |
| ProtTucker | 3,000M | 9m | 0.783 | 0.250 | 0.874 | 0.293 | 0.876 | 0.263 | 0.971 | 0.693 | 0.855 | 0.212 | 0.961 | 0.541 |
| SaProt | 650M | † | 0.619 | 0.143 | 0.658 | 0.067 | 0.717 | 0.075 | 0.859 | 0.204 | 0.670 | 0.055 | 0.778 | 0.062 |
| ProtTrans | 3,000M | 9m | 0.608 | 0.126 | 0.699 | 0.091 | 0.701 | 0.092 | 0.914 | 0.386 | 0.710 | 0.085 | 0.889 | 0.233 |
| Tokenizer | ROC-AUC | mAP | fold ROC | (mins) | (mins) |
|---|---|---|---|---|---|
| ZEST (32K) | 0.739 0.017 | 0.068 0.002 | 0.749 0.014 | 304.7 | 985.5 |
| BPE (32K) | 0.729 0.008 | 0.036 0.002 | 0.743 0.008 | 278.0 | 1030.0 |
| Char (25) | 0.708 0.011 | 0.059 0.002 | 0.721 0.010 | 650.7 | 1043.1 |
| Task | Metric | LEMON (200M) | ESM-2 (650M) | ProtTucker (3B) |
|---|---|---|---|---|
| Circular Permutation | AUROC | 0.779 | 0.476 | 0.720 |
| AUPRC | 0.285 | 0.081 | 0.238 | |
| EC Number | F-max | 0.821 | 0.800 | 0.878 |
| GO Mol. Function | F-max | 0.639 | 0.603 | 0.635 |
| AUPR | 0.625 | 0.584 | 0.616 | |
| Domain Boundary | NDO | 0.758 | 0.771 | 0.750 |