yarongef/DistilProtBert

Model

DistilProtBert

8

48 commits

7 repos using this model

2 linked in READMEs

updated Sep 21, 2022

See the code

README

DistilProtBert

A distilled version of ProtBert-UniRef100 model. In addition to cross entropy and cosine teacher-student losses, DistilProtBert was pretrained on a masked language modeling (MLM) objective and it only works with capital letter amino acids.

Check out our paper DistilProtBert: A distilled protein language model used to distinguish between real proteins and their randomly shuffled counterparts for more details.

Git repository.

Model details

Model# of parameters# of hidden layersPretraining dataset# of proteinsPretraining hardware
ProtBert420M30UniRef100216M512 16GB TPUs
DistilProtBert230M15UniRef5043M5 v100 32GB GPUs

Intended uses & limitations

The model could be used for protein feature extraction or to be fine-tuned on downstream tasks.

How to use

The model can be used the same as ProtBert and with ProtBert's tokenizer.

Training data

DistilProtBert model was pretrained on Uniref50, a dataset consisting of ~43 million protein sequences (only sequences of length between 20 to 512 amino acids were used).

Pretraining procedure

Preprocessing was done using ProtBert's tokenizer. The details of the masking procedure for each sequence followed the original Bert (as mentioned in ProtBert).

The model was pretrained on a single DGX cluster for 3 epochs in total. local batch size was 16, the optimizer used was AdamW with a learning rate of 5e-5 and mixed precision settings.

Evaluation results

When fine-tuned on downstream tasks, this model achieves the following results:

Task/Datasetsecondary structure (3-states)Membrane
CASP1272
TS11581
CB51379
DeepLoc86

Distinguish between proteins and their k-let shuffled versions:

Singlet (dataset)

ModelAUC
LSTM0.71
ProtBert0.93
DistilProtBert0.92

Doublet (dataset)

ModelAUC
LSTM0.68
ProtBert0.92
DistilProtBert0.91

Triplet (dataset)

ModelAUC
LSTM0.61
ProtBert0.92
DistilProtBert0.87

Citation

If you use this model, 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}
}
bert
endpoints_compatible
fill-mask
protein language model
pytorch
transformers

yarongef/DistilProtBert

Model

DistilProtBert

8

48 commits

7 repos using this model

2 linked in READMEs

updated Sep 21, 2022

See the code

README

DistilProtBert

A distilled version of ProtBert-UniRef100 model. In addition to cross entropy and cosine teacher-student losses, DistilProtBert was pretrained on a masked language modeling (MLM) objective and it only works with capital letter amino acids.

Check out our paper DistilProtBert: A distilled protein language model used to distinguish between real proteins and their randomly shuffled counterparts for more details.

Git repository.

Model details

Model# of parameters# of hidden layersPretraining dataset# of proteinsPretraining hardware
ProtBert420M30UniRef100216M512 16GB TPUs
DistilProtBert230M15UniRef5043M5 v100 32GB GPUs

Intended uses & limitations

The model could be used for protein feature extraction or to be fine-tuned on downstream tasks.

How to use

The model can be used the same as ProtBert and with ProtBert's tokenizer.

Training data

DistilProtBert model was pretrained on Uniref50, a dataset consisting of ~43 million protein sequences (only sequences of length between 20 to 512 amino acids were used).

Pretraining procedure

Preprocessing was done using ProtBert's tokenizer. The details of the masking procedure for each sequence followed the original Bert (as mentioned in ProtBert).

The model was pretrained on a single DGX cluster for 3 epochs in total. local batch size was 16, the optimizer used was AdamW with a learning rate of 5e-5 and mixed precision settings.

Evaluation results

When fine-tuned on downstream tasks, this model achieves the following results:

Task/Datasetsecondary structure (3-states)Membrane
CASP1272
TS11581
CB51379
DeepLoc86

Distinguish between proteins and their k-let shuffled versions:

Singlet (dataset)

ModelAUC
LSTM0.71
ProtBert0.93
DistilProtBert0.92

Doublet (dataset)

ModelAUC
LSTM0.68
ProtBert0.92
DistilProtBert0.91

Triplet (dataset)

ModelAUC
LSTM0.61
ProtBert0.92
DistilProtBert0.87

Citation

If you use this model, 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}
}
bert
endpoints_compatible
fill-mask
protein language model
pytorch
transformers