scGPT
Generative pre-trained transformer for single-cell biology. Pre-trained on 33M+ cells from CELLxGENE.
Overview
WeChat科普推文 第3期 · 2026-05-08
话题: NLP类比、Transformer、预训练微调范式
从 GPT 到 scGPT:当 AI 学会说"细胞的语言"
2017 年,Google 的八位研究员发表了一篇题为《Attention Is All You Need》的论文。他们当时大概不会想到,这篇论文不仅重塑了人类和机器对话的方式,还将在六年后教一台 AI 读懂 3300 万个细胞的"语言"。
一只会说话的鹦鹉,和一次伟大的"跑题"
1966 年,MIT 的 Joseph Weizenbaum 写了一个名叫 ELIZA 的程序。她只用了 200 行代码,却让许多人相信自己正在和一位真正的心理医生对话。ELIZA 的秘密并不复杂——她只是把你说的话稍加变形,再抛回来:"你说你感到焦虑?请多告诉我一些关于你感到焦虑的事。"
这就是自然语言处理(NLP)最早的模样:规则驱动的鹦鹉学舌。
此后的半个世纪里,人类尝试了无数方法:统计方法把词语变成概率,循环神经网络试图"记住"上下文,LSTM 则像随身带个小笔记本。但它们都有一个共同的毛病:读到句子后半段时,已经忘了开头。
2017 年的那篇论文给出了一个优雅的答案——注意力机制。它让模型处理每个词时,能同时"看到"整个句子里的所有其他词。就像你读这句话时,不是从左到右逐字推进,而是瞬间扫描全局。这个架构叫 Transformer。
接下来的故事堪称传奇:
- 2018 年,OpenAI 用 Transformer 做出 GPT-1,1.1 亿参数,能续写简单的句子
- 2020 年,GPT-3 横空出世,1750 亿参数,不需要任何微调就能翻译、写代码、作诗——这就是"涌现能力"
- 2023 年,GPT-4 通过了律师资格考试,能与人类进行长达数十轮的深度对话
但正当全世界都在惊叹大语言模型的魔力时,一群生物信息学家忽然意识到一件令人兴奋的事:如果人类语言可以用 Transformer 读懂,那细胞的语言呢?
细胞在说话,只是我们听不懂
想象你走进一个巨大的图书馆。书架上有超过 2 万个"词汇"——它们叫基因。每个细胞是一本书,书的内容是这些词汇的"使用量":某基因用了多少次(表达量)。人类身体里有约 37 万亿本书,它们分属数百种"文体"——神经元、肝细胞、T 细胞……同一种文体的书,用词习惯相似;不同文体之间,词汇偏好迥异。
研究这些"书"的学科叫单细胞转录组学。10x Genomics 等技术让科学家能一次性"扫描"数百万个细胞,但挑战随之而来:海量数据,谁来读?
传统方法是"人工标注"——训练一个分类器,告诉它哪些细胞是 T 细胞、哪些是神经元。但这个过程极其漫长,每种新组织几乎都要从头开始。而且细胞不只有"类型"这一个维度:在哪个组织?什么发育阶段?吃了什么药?每种问题都需要一个专门模型。
能不能像 GPT-3 那样,训练一个"什么都懂"的细胞大模型,然后让它自动适应各种下游任务?
2023 年,加拿大多伦多大学 Bo Wang 团队在 Nature Methods 上发表了 scGPT,给出了一个掷地有声的答案。
"基因分桶":把细胞变成句子
要让 GPT 读懂细胞,首先要解决一个翻译问题。
在自然语言里,词是离散的。"猫"和"狗"截然不同。但基因表达是连续的——GAPDH 在细胞 A 表达 500 单位,在细胞 B 表达 502 单位。这两个数几乎一样,难道当两个完全不同的 token?
scGPT 的解决方案叫基因分桶(gene binning)。它把每个基因的所有可能表达值分成若干"桶"(bins),比如低、中、高、非常高。于是,连续的数字变成了离散的等级:"GAPDH 表达等级 3"就是一个 token——就像 "cat" 之于 GPT。一个细胞表达的所有基因-token 排列起来,就构成了一句"细胞句子"。
但这里有一个 NLP 专家会皱眉头的问题:在真正的语言里,词序至关重要。 "猫吃鱼"和"鱼吃猫"意思截然不同。但在细胞里,基因排列顺序毫无生物学意义——GAPDH 在第 1 位还是第 3000 位,不该影响模型的理解。
scGPT 的应对是一记"移花接木":传统 Transformer 用位置编码告诉模型每个词在句子中的位置,scGPT 则把位置编码替换成基因身份编码——每个 token 的"位置"不是它在句子中的次序,而是它代表哪个基因。模型学会了关注"基因本身是什么",而非"基因排在哪里"。
更妙的是,scGPT 在每个细胞"句子"前插入条件 token,分别编码组织来源、物种、测序批次——就像 GPT 回答前先看"系统提示"。
预训练:33,000,000 本书的"通识教育"
有了翻译方案,接下来是"读书"。scGPT 的预训练语料库来自 CELLxGENE——一个包含数千万人类和小鼠单细胞数据的公共数据库。scGPT 在上面读了约 3300 万个细胞的数据。
它读的方式和 GPT 有异曲同工之妙。GPT 的预训练任务是"完形填空":给定一句话的前半段,预测下一个词,或者遮住中间某个词让模型猜。scGPT 用的是基因表达掩码预测(masked gene expression prediction)——随机遮住细胞里一部分基因的表达值,让模型根据其他基因的表达来推理被遮住的值。
为什么这个任务能学到东西?因为基因之间不是独立的。POU5F1(OCT4)高表达通常意味着它是一个干细胞;CD3E 出现了,说明它大概是 T 细胞;MYH6 活跃暗示心肌。学会从已知基因"猜"未知基因的表达值,就是在学习细胞类型的底层逻辑。
这就像读《红楼梦》。如果你遮住"黛玉焚稿断痴情"中的"黛玉"二字,能从"焚稿"和"断痴情"猜出来——因为你知道这些行为模式和林黛玉这个角色紧密相连。scGPT 在 3300 万个细胞上反复做了无数次这样的"猜词游戏",渐渐内化了基因之间的共表达网络、细胞类型特征、组织特异性模式,甚至是跨物种的保守规律。
这就是预训练的精髓:不针对任何具体任务,而是学习数据本身的内在结构。 就像一个人读了足够多的书之后,虽未学过"写商业计划书",但凭常识就能上手。
微调:给"通才"加上"专业认证"
预训练完成后,scGPT 变成了一个"细胞通才"。但要让它做具体的事情——比如区分 T 细胞和 B 细胞、预测某个基因被敲除后的连锁效应——还需要微调(fine-tuning)。
这里同样类比 NLP:GPT-3 预训练后不会自动写法律文书,但给几个例子就能模仿。scGPT 微调也是"举一反三"——用一小批已标注细胞类型的数据"补课"几小时,就能在从未见过的组织样本上准确标注。
Bo Wang 团队报告了一组震撼结果:scGPT 在跨组织、跨物种、跨测序平台的场景下都能保持高精度,并且一次性校正批次效应、预测基因扰动、整合多组学数据。一台预训练模型替代了过去四五个独立工具的工作流程。
这不由让人想起 GPT-3 的"零样本学习"——从未专门训练,凭预训练知识就能胜任。scGPT 在人类骨髓数据上预训练,却能在小鼠大脑数据上准确识别神经元亚型。
语言隐喻的边界:细胞不是句子
然而,把细胞比作语言,在启发人的同时也有边界。
基因间的关系远比词语间的语法复杂。自然语言是一维序列,基因调控却是高维网络——A 激活 B、B 抑制 C、C 与 D 竞争某个启动子……这些非线性动力学被"装进" Transformer 的注意力矩阵里,终究是近似。
另一个挑战是"语义漂移"。同一个基因在不同组织中可能扮演截然不同的角色。TGF-β 在某些组织中是生长因子,在另一些组织中却是抑癌信号。对模型来说,这就像"bank"一词既指银行又指河岸——需要从上下文中推断含义。当前的单细胞大模型对此有一定处理能力,但远远谈不上完美。
还有批次效应(batch effect)这个单细胞领域的"巴别塔诅咒"。不同实验室、不同测序平台、不同实验流程会产生系统性偏差,就像同一句话被不同口音的人说出来。scGPT 用条件 token 来区分"口音",但能否在所有场景下完美解耦,仍是活跃的研究课题。
这门"新语言"的未来
从 GPT 到 scGPT,表面上是技术路线的移植,深层却是认识论上的范式转移。
过去的生物信息学是"假设驱动"的:科学家先提出一个假说("基因 X 可能调控基因 Y"),再去数据中验证。单细胞大模型则是"数据驱动"的:模型在海量数据中自动发现模式,科学家再对发现进行解读。
这并不意味着 AI 将取代生物学家。GPT 能写流畅文章,但并不真正理解"意义"。同样,scGPT 能从基因表达矩阵中捕捉规律,却不"理解"线粒体为何在凋亡细胞中失调。它是博闻强识的图书管理员,能把所有相关的书摆在你面前,最终洞察仍需人类科学家完成。
从更大图景看,scGPT 是人类细胞图谱(Human Cell Atlas)事业的数字化延伸。当数十亿细胞数据汇聚成一座"细胞知识库",单细胞大模型将成为这座知识库的界面——就像 GPT 成为互联网知识的界面。你不需要自己跑 DESeq2 找差异基因,只需用自然语言问:"这个患者样本中的肿瘤微环境和正常人有什么不同?"
那一天,可能比我们想象中更近。
一句话总结:GPT 把人类文字炼成语言智能,scGPT 正在把千万细胞的基因表达炼成生物智能——细胞的语言不需要被发明,只需要被听懂。
Publication
scGPT: Toward Building a Foundation Model for Single-Cell Multi-Omics Using Generative AI