深度學習與蛋白質 – Hugging Face 蛋白質語言模型與摺疊指南

TL;DR

Hugging Face 發布了一套筆記本,讓研究人員可以微調預訓練的蛋白質語言模型(例如 ESM‑2、ProtBERT)並執行 ESMFold 摺疊模型,證明了用於文字的相同遷移學習流程也能應用於蛋白質序列分類、標記分類與結構預測。


生物學家導論:什麼是語言模型

語言模型是一種在大量文字語料庫上訓練的神經網路,用以學習語言的統計結構。透過在豐富資料上預訓練,然後在小規模下游任務上微調,模型能轉移其學到的知識,顯著減少所需的任務特定資料量。此概念是現代 NLP 突破(如 ULMFiT 與 BERT)的基礎,也構成了蛋白質專注模型的根基。

"遷移學習的效能相當於擁有超過 100 倍的訓練資料" – 取自部落格中引用的 ULMFiT 論文插圖。

機器學習實務者導論:什麼是蛋白質

蛋白質是由氨基酸組成的線性鏈,每個氨基酸以單一字母表示(20 種標準符號)。雖然字母表很小,但組合的可能性產生了極其多樣的結構與功能。與句子類似,蛋白質序列展現長距離依賴性;一個殘基的三維摺疊常常取決於遠端的殘基,使得自注意力機制特別適合。

蛋白質的遷移學習

The same pre‑training‑then‑fine‑tuning workflow used for text can be applied to proteins:

  1. 預訓練 一個 transformer,於龐大的蛋白質序列資料庫(例如 UniProt)上學習通用的生化模式。
  2. 微調 產生的模型於特定下游任務,例如:
    • 序列分類(例如細胞內定位)。
    • 標記分類(例如預測翻譯後修飾位點)。
    • 結構預測(蛋白質摺疊)。 由於預訓練模型已經編碼了蛋白質層面的知識,下游任務所需的標記樣本大幅減少。

使用 ESMFold 進行蛋白質摺疊

ESMFold 是 Hugging Face 所實作的基於 transformer 的摺疊模型,類似 AlphaFold2,但不需要外部資料庫搜尋。它接受一段氨基酸字串(例如 MLKNV…),直接輸出三維結構及信心分數。該模型在 GPU 上執行快速,能在數秒內產生高品質的預測,如同二聚體 P. multocida 葡萄糖胺‑6‑磷酸脫氨酶的示例所示。

實用資源

  • 微調筆記本(PyTorch 與 TensorFlow)示範使用 ESM‑2 checkpoint 進行序列與標記分類。
  • ESMFold 筆記本(僅 PyTorch)用於端對端的摺疊預測。
  • 資料來源:UniProt 提供 REST API 與大量下載,以取得大規模的蛋白質序列集合。
  • 模型中心:預訓練的 checkpoint 如 facebook/esm2…(最先進)與 Rostlab/prot_bert(早期基準)皆託管於 Hugging Face Model Hub,透過更改 checkpoint 識別碼即可切換。

為不同受眾的入門指南

  • 針對 ML 工程師:微調程式碼與標準 NLP 腳本相似;將資料載入步驟換成自己的序列與標籤清單。
  • 針對生物學家:筆記本將資料載入獨立化,讓您專注於定義生物任務並提供標記序列。

社群影響與未來方向

Hugging Face 鼓勵研究人員將訓練好的模型上傳回 Hub,提升可重現性與快速傳播。模型可於互動式 Spaces 中展示,讓任何人輸入蛋白質序列即可取得預測,無需撰寫程式碼。此開源工作流程加速了計算科學家與實驗生物學家之間的合作。


此部落格文章未包含除上述定性敘述外的量化基準結果;所有主張皆直接取自原始 Hugging Face 文章。

Sources