深度学习与蛋白质 – Hugging Face 蛋白质语言模型与折叠指南

TL;DR

Hugging Face 发布了一套笔记本,允许研究人员微调预训练的蛋白质语言模型(例如 ESM‑2、ProtBERT)并运行 ESMFold 折叠模型,证明了用于文本的相同迁移学习流水线也可以应用于蛋白质序列分类、标记分类和结构预测。


面向生物学家的介绍:语言模型是什么

语言模型是一种在海量文本语料上训练的神经网络,用于学习语言的统计结构。通过在大量数据上进行预训练,然后在小规模下游任务上微调,模型能够迁移其学习到的知识,显著降低所需的任务特定数据量。该概念是现代 NLP 突破(如 ULMFiT 和 BERT)的基础,也构成了蛋白质专用模型的根基。

“迁移学习的性能相当于拥有超过 100 倍的训练数据” —— 来自博客中引用的 ULMFiT 论文的示例。

面向机器学习实践者的介绍:蛋白质是什么

蛋白质是由氨基酸线性链组成的,每个氨基酸用单个字母表示(20 种标准符号)。尽管字母表很小,但组合的可能性产生了极其丰富的结构和功能。类似于句子,蛋白质序列表现出长程依赖性;残基的三维折叠常常取决于远处的残基,这使得自注意力机制尤为适用。

蛋白质的迁移学习

相同的预训练‑随后‑微调工作流可用于蛋白质:

  1. 预训练 在庞大的蛋白质序列数据库(例如 UniProt)上训练 transformer,以学习通用的生化模式。
  2. 微调 将得到的模型在特定的下游任务上进行训练,例如:
    • 序列分类(例如亚细胞定位)。
    • 标记分类(例如预测翻译后修饰位点)。
    • 结构预测(蛋白质折叠)。 由于预训练模型已经编码了蛋白质层面的知识,下游任务所需的标记样本大幅减少。

使用 ESMFold 进行蛋白质折叠

ESMFold 是 Hugging Face 实现的基于 transformer 的折叠模型,类似于 AlphaFold2,但不需要外部数据库搜索。它接受氨基酸字符串(例如 MLKNV…),直接输出三维结构及置信度分数。该模型在 GPU 上运行迅速,能够在秒级生成高质量预测,如同二聚体 P. multocida 葡萄糖胺-6-磷酸脱氨酶的示例所示。

实用资源

  • 微调笔记本(PyTorch 与 TensorFlow),演示使用 ESM‑2 检查点进行序列和标记分类。
  • ESMFold 笔记本(仅 PyTorch),用于端到端的折叠预测。
  • 数据来源:UniProt 提供 REST API 和大规模蛋白质序列集合的批量下载。
  • 模型中心:预训练检查点如 facebook/esm2…(最先进)和 Rostlab/prot_bert(早期基准)托管在 Hugging Face Model Hub 上,可通过更改检查点标识符进行切换。

针对不同受众的入门指南

  • 面向机器学习工程师:微调代码与标准 NLP 脚本相似;将数据加载步骤替换为自己的序列和标签列表。
  • 面向生物学家:笔记本将数据加载隔离,使您能够专注于定义生物任务并提供标记序列。

社区影响与后续步骤

Hugging Face 鼓励研究人员将训练好的模型上传至 Hub,以实现可重复性和快速传播。模型可以在交互式 Spaces 中展示,任何人都可以输入蛋白质序列并获得预测,无需编写代码。这一开源工作流加速了计算科学家与实验生物学家的协作。


该博客文章未包含除上述定性陈述之外的量化基准结果;所有声明均直接取自原始 Hugging Face 文章。

Sources