Ankh: Optimized Protein Language Model Unlocks General-Purpose Modelling

Ahmed Elnaggar, Hazem Essam, Wafaa Salah-Eldin, Walid Moustafa, Mohamed Elkerdawy +2 more
1/16/2023
cs.LGcs.CLcs.DC

No official code found. Best implementation: agemagician/Ankh (250 stars, last commit 2025-06-16).

Abstract

As opposed to scaling-up protein language models (PLMs), we seek improving performance via protein-specific optimization. Although the proportionality between the language model size and the richness of its learned representations is validated, we prioritize accessibility and pursue a path of data-efficient, cost-reduced, and knowledge-guided optimization. Through over twenty experiments ranging from masking, architecture, and pre-training data, we derive insights from protein-specific experimentation into building a model that interprets the language of life, optimally. We present Ankh, the first general-purpose PLM trained on Google's TPU-v4 surpassing the state-of-the-art performance with fewer parameters (<10% for pre-training, <7% for inference, and <30% for the embedding dimension). We provide a representative range of structure and function benchmarks where Ankh excels. We further provide a protein variant generation analysis on High-N and One-N input data scales where Ankh succeeds in learning protein evolutionary conservation-mutation trends and introducing functional diversity while retaining key structural-functional characteristics. We dedicate our work to promoting accessibility to research innovation via attainable resources.

View on arXivView PDF

Code Implementations(1)

agemagician/AnkhCommunity100%

Ankh: Optimized Protein Language Model

25022PythonOct 27, 20221 years agoNOASSERTION

Similar Papers

Cite this paper

@article{elnaggar2023ankh,
  title  = {Ankh: Optimized Protein Language Model Unlocks General-Purpose Modelling},
  author = {Ahmed Elnaggar and Hazem Essam and Wafaa Salah-Eldin and Walid Moustafa and Mohamed Elkerdawy and Charlotte Rochereau and Burkhard Rost},
  year   = {2023},
  eprint = {2301.06568},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2301.06568v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2301.06568.svg)](https://codeofpaper.com/paper/2301.06568)

Discussion