🚀 DistilProtBert
DistilProtBert 是 ProtBert-UniRef100 模型的蒸餾版本。除了交叉熵和餘弦師生損失外,DistilProtBert 還在掩碼語言建模(MLM)目標上進行了預訓練,並且僅適用於大寫字母的氨基酸。
更多詳細信息請查看我們的論文 DistilProtBert: A distilled protein language model used to distinguish between real proteins and their randomly shuffled counterparts。
Git 代碼倉庫。
🚀 快速開始
本模型可用於蛋白質特徵提取,或在下游任務中進行微調。
如何使用
該模型的使用方法與 ProtBert 相同,並且可以使用 ProtBert 的分詞器。
✨ 主要特性
- 基於 ProtBert-UniRef100 模型進行蒸餾,減少了參數數量。
- 在掩碼語言建模(MLM)目標上進行預訓練,提高了模型性能。
- 僅適用於大寫字母的氨基酸。
📦 安裝指南
文檔未提及安裝步驟,故跳過此章節。
💻 使用示例
文檔未提供代碼示例,故跳過此章節。
📚 詳細文檔
模型詳情
模型 |
參數數量 |
隱藏層數 |
預訓練數據集 |
蛋白質數量 |
預訓練硬件 |
ProtBert |
4.2 億 |
30 |
UniRef100 |
2.16 億 |
512 個 16GB TPU |
DistilProtBert |
2.3 億 |
15 |
UniRef50 |
4300 萬 |
5 個 v100 32GB GPU |
訓練數據
DistilProtBert 模型在 Uniref50 數據集上進行預訓練,該數據集包含約 4300 萬個蛋白質序列(僅使用長度在 20 到 512 個氨基酸之間的序列)。
預訓練過程
- 預處理使用 ProtBert 的分詞器。
- 每個序列的掩碼過程細節遵循原始 Bert(如 ProtBert 中所述)。
- 模型在單個 DGX 集群上總共預訓練 3 個 epoch。本地批量大小為 16,使用的優化器是 AdamW,學習率為 5e-5,並採用混合精度設置。
評估結果
在下游任務上進行微調時,該模型取得了以下結果:
下游任務評估
任務/數據集 |
二級結構(3 狀態) |
膜蛋白預測 |
CASP12 |
72 |
|
TS115 |
81 |
|
CB513 |
79 |
|
DeepLoc |
|
86 |
區分蛋白質及其 k-字母打亂版本
-
單字母打亂(數據集)
| 模型 | AUC |
|------|-----|
| LSTM | 0.71 |
| ProtBert | 0.93 |
| DistilProtBert | 0.92 |
-
雙字母打亂(數據集)
| 模型 | AUC |
|------|-----|
| LSTM | 0.68 |
| ProtBert | 0.92 |
| DistilProtBert | 0.91 |
-
三字母打亂(數據集)
| 模型 | AUC |
|------|-----|
| LSTM | 0.61 |
| ProtBert | 0.92 |
| DistilProtBert | 0.87 |
🔧 技術細節
文檔未提供技術實現細節,故跳過此章節。
📄 許可證
本項目採用 MIT 許可證。
📚 引用
如果您使用此模型,請引用我們的論文:
@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}
}