DistilProtBert implementation, a distilled version of ProtBert model.
Jupyter Notebook
15
109 commits
updated Sep 21, 2022
Official DistilProtBert implementation, a distilled version of ProtBert-UniRef100 model.
Check out our paper DistilProtBert: A distilled protein language model used to distinguish between real proteins and their randomly shuffled counterparts for more details.
Model is available at Hugging Face model page.
Pretraining dataset: UniRef50
This repository is based on ProtBert-UniRef100 implementation from ProtTrans repository.
| Model | # of parameters | # of hidden layers | Pretraining dataset | # of proteins | Pretraining hardware |
|---|---|---|---|---|---|
| ProtBert | 420M | 30 | UniRef100 | 216M | 512 16GB TPUs |
| DistilProtBert | 230M | 15 | UniRef50 | 43M | 5 v100 32GB GPUs |
Please follow SS3 fine-tuning notebook and change model_init first argument to 'yarongef/DistilProtBert'.
def model_init():
return AutoModelForTokenClassification.from_pretrained('yarongef/DistilProtBert',
num_labels=len(unique_tags),
id2label=id2tag,
label2id=tag2id,
gradient_checkpointing=False)
Datasets can be found at ProtTrans repository.
| MODEL | CASP12 | TS115 | CB513 |
|---|---|---|---|
| ProtBert-UniRef100 | 0.75 | 0.83 | 0.81 |
| DistilProtBert | 0.72 | 0.81 | 0.79 |
Please follow MS fine-tuning notebook and change model_init first argument to 'yarongef/DistilProtBert'.
def model_init():
return AutoModelForSequenceClassification.from_pretrained('yarongef/DistilProtBert')
Datasets can be found at ProtTrans repository.
| MODEL | DeepLoc |
|---|---|
| ProtBert-UniRef100 | 0.89 |
| DistilProtBert | 0.86 |
Notebook for creating the datasets.
Datasets used for training and test: singlets, doublets and triplets.
Training:
Inference:
Singlet
| Model | AUC |
|---|---|
| LSTM | 0.71 |
| ProtBert | 0.93 |
| DistilProtBert | 0.92 |
Doublet
| Model | AUC |
|---|---|
| LSTM | 0.68 |
| ProtBert | 0.92 |
| DistilProtBert | 0.91 |
Triplet
| Model | AUC |
|---|---|
| LSTM | 0.61 |
| ProtBert | 0.92 |
| DistilProtBert | 0.87 |
Create an issue to report bugs, propose new functions or ask for help.
If you use this code or one of our pretrained models for your publication, please cite our paper:
@article {
author = {Geffen, Yaron and Ofran, Yanay and Unger, Ron},
title = {DistilProtBert: A distilled protein language model used to distinguish between real proteins and their randomly shuffled counterparts},
year = {2022},
doi = {10.1093/bioinformatics/btac474},
URL = {https://doi.org/10.1093/bioinformatics/btac474},
journal = {Bioinformatics}
}
DistilProtBert implementation, a distilled version of ProtBert model.
Jupyter Notebook
15
109 commits
updated Sep 21, 2022
Official DistilProtBert implementation, a distilled version of ProtBert-UniRef100 model.
Check out our paper DistilProtBert: A distilled protein language model used to distinguish between real proteins and their randomly shuffled counterparts for more details.
Model is available at Hugging Face model page.
Pretraining dataset: UniRef50
This repository is based on ProtBert-UniRef100 implementation from ProtTrans repository.
| Model | # of parameters | # of hidden layers | Pretraining dataset | # of proteins | Pretraining hardware |
|---|---|---|---|---|---|
| ProtBert | 420M | 30 | UniRef100 | 216M | 512 16GB TPUs |
| DistilProtBert | 230M | 15 | UniRef50 | 43M | 5 v100 32GB GPUs |
Please follow SS3 fine-tuning notebook and change model_init first argument to 'yarongef/DistilProtBert'.
def model_init():
return AutoModelForTokenClassification.from_pretrained('yarongef/DistilProtBert',
num_labels=len(unique_tags),
id2label=id2tag,
label2id=tag2id,
gradient_checkpointing=False)
Datasets can be found at ProtTrans repository.
| MODEL | CASP12 | TS115 | CB513 |
|---|---|---|---|
| ProtBert-UniRef100 | 0.75 | 0.83 | 0.81 |
| DistilProtBert | 0.72 | 0.81 | 0.79 |
Please follow MS fine-tuning notebook and change model_init first argument to 'yarongef/DistilProtBert'.
def model_init():
return AutoModelForSequenceClassification.from_pretrained('yarongef/DistilProtBert')
Datasets can be found at ProtTrans repository.
| MODEL | DeepLoc |
|---|---|
| ProtBert-UniRef100 | 0.89 |
| DistilProtBert | 0.86 |
Notebook for creating the datasets.
Datasets used for training and test: singlets, doublets and triplets.
Training:
Inference:
Singlet
| Model | AUC |
|---|---|
| LSTM | 0.71 |
| ProtBert | 0.93 |
| DistilProtBert | 0.92 |
Doublet
| Model | AUC |
|---|---|
| LSTM | 0.68 |
| ProtBert | 0.92 |
| DistilProtBert | 0.91 |
Triplet
| Model | AUC |
|---|---|
| LSTM | 0.61 |
| ProtBert | 0.92 |
| DistilProtBert | 0.87 |
Create an issue to report bugs, propose new functions or ask for help.
If you use this code or one of our pretrained models for your publication, please cite our paper:
@article {
author = {Geffen, Yaron and Ofran, Yanay and Unger, Ron},
title = {DistilProtBert: A distilled protein language model used to distinguish between real proteins and their randomly shuffled counterparts},
year = {2022},
doi = {10.1093/bioinformatics/btac474},
URL = {https://doi.org/10.1093/bioinformatics/btac474},
journal = {Bioinformatics}
}