LangCell
首个在预训练阶段对齐单细胞转录组与OBO Foundry知识文本的跨模态基础模型,零样本细胞身份识别准确率86.5%
Overview
📄 第20期 | LangCell: Language-Cell Pre-training for Cell Identity Understanding
让模型在读基因表达的同时"读"细胞百科——LangCell是第一个在预训练阶段就将单细胞转录组与自然语言对齐的框架,零标注即可识别细胞身份,首次让单细胞基础模型获得了零样本泛化能力。
🔬 为什么这篇文章重要?
单细胞RNA测序赋予我们一项前所未有的能力:以单细胞分辨率阅读"生命的语言"。但这里有一个有趣的认知错位——我们能测出每个细胞中两万个基因的表达量,却回答不了一个看似简单的问题:"这个细胞是什么?"
"细胞身份"并非藏在基因表达的数字里。它是由人类生物学家定义的——T细胞之所以是T细胞,不是因为它的基因表达模式恰好长成某个形状,而是因为几十年的免疫学研究告诉我们,表达CD3、CD4或CD8的淋巴细胞是T细胞。这个语义标签,存在于教科书和本体数据库里,不存在于测序仪的输出里。
过去几年,单细胞基础模型(如Geneformer、scGPT)走了一条"纯数据驱动"的路线:在海量单细胞数据上做自监督预训练,让模型自己发现基因共表达规律。但它们有一个根本性短板——预训练阶段从未接触过"细胞身份"这个概念本身。模型学的是"哪些基因倾向于一起表达",而不是"表达这些基因的细胞叫T细胞"。等到要做细胞类型注释时,必须用标注数据微调。一旦某个细胞类型没有标注样本,模型就只能两手一摊,全部归进"未知"。
这在实际场景中是个致命问题。单细胞图谱项目不断发现新的细胞亚型,罕见病研究中遇到的细胞状态可能从未被系统标注过。你需要模型看到一个新细胞就能说出它的身份,而不是等人类先标注几百个样本再训练。
LangCell第一次解决了这个矛盾。它的想法简洁有力:预训练时就把描述细胞身份的自然语言文本和基因表达数据放在一起学习。如果说Geneformer和scGPT是在黑暗中摸索基因之间的相关性,LangCell则是提着灯笼在读——这盏灯笼,就是OBO Foundry这个生物医学本体知识库提供的细胞百科文本。
🧠 核心创新:双塔架构与四重预训练目标
LangCell的设计哲学可以用一句话概括:将基因表达和自然语言映射到同一个语义空间,让它们在几何上可比较。这不是一个简单的拼接,而是一套精心设计的双编码器架构配合四重预训练目标。
编码器:一个读基因,一个读文字
模型由两个独立的编码器组成,各自继承已有的预训练权重作为起点:
细胞编码器以Geneformer为初始化。输入是一段"基因序列"——将每个细胞中表达的基因按相对表达量从高到低排序,形成一个类似自然语言句子序列的结构。序列前端加上一个特殊的[CLS]标记(这是BERT家族的标准做法),其最终层的输出经过线性投影,成为该细胞的"嵌入向量"——一个固定长度的稠密向量,承载着这个细胞的全部信息。
文本编码器以PubMedBERT为初始化。PubMedBERT是在海量生物医学文献上预训练的BERT变体,对生物学语言有深度理解。它有两种工作模式:单模态模式下,它就像标准BERT一样编码文本;多模态模式下,它在每个自注意力层之后插入一个跨注意力模块,让文本编码过程能够"看到"细胞嵌入。这个设计使得文本编码不再是孤立的过程——在编码"CD4+ T cell"这个词组时,模型同时考虑了它对应的那批细胞的基因表达模式。
两个编码器的[CLS]输出各自通过线性投影层映射到相同的维度,就得到了可以直接计算余弦相似度的细胞向量和文本向量。这构成了零样本分类的基础:给定一个新细胞,计算它与所有候选细胞类型文本描述的相似度,取最相近者。
四重损失函数:一个都不能少
LangCell的预训练同时优化四个损失函数,这个精密设计是零样本能力的直接来源:
① 掩码基因建模(MGM)——这是最经典的自监督目标。随机遮住细胞基因序列中的部分基因,让模型根据上下文预测被遮住的基因是什么。这类似于BERT的掩码语言模型,让模型学习基因之间的共表达关系。损失函数是标准的交叉熵。
② 细胞-细胞对比学习(C-C)——BERT类模型有一个已知问题:直接取[CLS]输出的向量做语义相似度计算效果不好。对比学习可以改善这一点。但这里有一个陷阱:如果在输入的基因序列上做数据增强(比如打乱基因顺序或增减基因),会破坏基因表达的生物学语义——高表达基因和低表达基因不能随意互换。LangCell的做法是在特征空间做扰动,而非输入空间。这让模型学到的细胞表征更加紧凑、可分,同时不伤害生物学信息。
③ 细胞-文本对比学习(C-T)——这是跨模态对齐的核心。对于每个训练批次,正样本对是配对的细胞和其文本描述;负样本对是同一批次中其他细胞-文本组合。损失函数拉近正样本对的距离,推远负样本对。这是CLIP式训练在单细胞领域的直接应用。
④ 细胞-文本匹配(CTM)——将细胞嵌入注入文本编码器的多模态模式后,输出一个二分类判断:这对细胞和文本是否匹配。相比C-T对比学习,CTM提供了更细粒度的跨模态交互信号——它不是在整体向量距离上做判断,而是让文本编码器逐层融合细胞信息后再做判断。
训练分两个阶段:第一阶段只做细胞侧的单模态训练(MGM + C-C),用3个epoch打好细胞表征的基础;第二阶段引入文本侧,四目标联合训练3个epoch。这种分阶段策略避免了冷启动问题——如果一开始就把文本加进来,当时细胞编码器还没有形成好的表征,跨模态信号的质量会很差。
scLibrary:2750万对"细胞-百科"训练数据
数据是LangCell能够成功的另一个关键支柱。作者们构建了scLibrary,一个包含2750万对"单细胞数据-文本描述"的超大规模数据集。所有scRNA-seq数据来自CELLxGENE数据库,仅筛选了人类10X测序平台的数据。每个细胞的文本描述从OBO Foundry(开放生物医学本体知识库)中提取,覆盖八个维度的细胞身份信息:检测方法、细胞类型、发育阶段、组织、器官、疾病状态、供体性别和种族。
这里有一个值得注意的细节:OBO Foundry是一个严格标准化、层级化的知识库。这意味着"lung adenocarcinoma"的文本描述不是随便写的一段话,而是一个结构化的本体条目,包含其分类层级、定义、同义词。这种标准化让文本侧的信息质量远高于随意爬取的网页文本——每个术语都有精确的生物学语义。
📊 关键实验结果
零样本细胞类型注释:0个训练样本 > 9个训练样本
这是LangCell最炸裂的结果。在PBMC10K数据集(人类外周血单核细胞,9种细胞类型)上,LangCell零样本准确率86.5%,宏F1分数89.6%。作为参照,Geneformer需要为每种细胞类型提供9个标注样本(共81个)进行微调,才能达到88.0%的准确率和78.6%的F1。
也就是说,LangCell在没有见过哪怕一个标注样本的情况下,F1就比Geneformer用了81个标注样本还高出11个百分点。如果你给LangCell也提供少量标注样本做微调,5-shot就能推到96.0%准确率、94.8% F1。
在更复杂的PBMC68K数据集上,同样的故事:零样本83.9% Acc / 82.6% F1,而其他模型需要5-shot以上才能追上这个水平。
跨类型泛化:不是记忆,是理解
在Tabula Sapiens这个人体综合图谱数据集上,161种细胞类型中有66种是LangCell在训练中从未见过的。LangCell的零样本细胞-文本检索性能,超过了BioTranslator(此前唯一能做跨类型迁移的模型)在48种已知类型(30%)上训练后的表现。
这意味着LangCell不是在"记住"训练数据里的细胞类型名称,而是真正学会了"细胞身份"这个概念本身——它能根据文本描述推断一个从未见过的细胞类型应该长什么样。
癌症亚型:读懂"恶性肿瘤"之间的差别
非小细胞肺癌的两个亚型——肺鳞癌和肺腺癌——在常规细胞类型标签中都被标记为"恶性肿瘤"。这对纯数据驱动的模型来说是灾难:它们的训练信号只告诉模型这些都是"恶性细胞",根本无法区分两种亚型。
LangCell的做法截然不同:它从OBO Foundry获取了两种疾病的结构化文本描述,用这些文本与单细胞表达谱做匹配。结果令人震惊——零样本准确率93.5%,而Geneformer用10-shot微调只有73.1%。这个实验直接证明:文本知识确实被模型吸收并用于推理了。
批次整合:既消除噪声,又保留信号
批次效应是单细胞数据分析的老大难——不同实验、不同测序平台产生的技术差异往往盖过了生物学差异。好的批次整合需要同时做到两件事:消除无意义的批次效应,同时保留有意义的生物学差异。
在PBMC10K和Perirhinal Cortex两个数据集上,LangCell的Sfinal综合得分分别达到87.6%和95.4%,均超越了scVI、Geneformer等已有最佳模型。在保留生物学信号(Avgbio)和消除批次效应(ASWbatch)两个维度上都表现最优。
通路识别:维度外泛化
这里有一个漂亮的实验设计:作者测试了模型在"通路识别"任务上的表现——从41条Hallmark通路中识别每个细胞激活的通路。关键点在于:"通路"这个身份维度,从未出现在预训练的文本描述中。
如果LangCell只是在预训练中"记住了"那八个维度的文本-细胞映射,那它在通路识别上应该没有任何优势。但实际结果是:LangCell的AUROC达到89.3%,显著高于Geneformer的82.8%。这说明跨模态预训练带来的表征能力提升是通用的——文本知识的注入提升了细胞编码器对所有生物学概念的感知力,而不仅限于预训练中见过的那些。
消融实验:每一步都有代价
消融实验用数字讲述了一个清晰的故事:
| 配置 | 零样本 Acc | 微调 Acc |
|---|---|---|
| Geneformer(基线) | 不可用 | 76.1% |
| + C-C对比学习 | 不可用 | 77.0% |
| + C-T跨模态对比 | 84.8% | — |
| + CTM匹配(完整LangCell) | 85.2% | — |
两个关键发现:第一,仅靠C-C对比学习对微调性能的提升有限(+0.9%);第二,跨模态对比学习(C-T)是解锁零样本能力的决定性因素——加上它之后,模型首次获得了不需要训练样本就直接分类的能力。CTM在此基础上又贡献了0.4个百分点。
⚠️ 局限与展望
作为开创性工作,LangCell留下了明确的改进空间:
第一,文本来源的单一性。所有文本描述仅来自OBO Foundry,这意味着对于本体库中描述不充分或缺失的细胞类型和生物学概念,模型的文本知识对不上号。未来的方向可能是纳入科学文献、教科书、甚至单细胞数据集的论文描述。
第二,组学类型的局限。LangCell目前只处理scRNA-seq数据。多组学时代已经到来——scATAC-seq、CITE-seq、空间转录组——这些数据模态各自承载不同的生物学信息。如何将LangCell的跨模态范式扩展到更多组学类型,是自然的下一步。
第三,缺乏生成能力。LangCell是一个"理解"模型:它能把细胞和文本映射到同一空间,但不会从文本生成新的细胞表达谱,也不会从表达谱生成描述性文字。在单细胞领域,生成能力具有直接的实用价值——比如根据药物描述预测细胞响应,或为新的细胞状态自动撰写注释。这是未来工作的明确方向。
从一个更宏观的视角看,LangCell代表了一个重要的范式转向:单细胞基础模型从"纯数据驱动的自监督学习"走向"数据加知识联合驱动的多模态学习"。这不仅是工程技巧的进步,更触及了一个根本问题——在生物医学中,人类积累的结构化知识是整个领域最宝贵的资产之一。过去几年的大模型热潮中,我们过分沉迷于让模型从原始数据中自己"发现"一切。LangCell提醒我们:有时候,直接把已知的东西告诉模型,效果反而好得多。
📎 论文信息
- 📄 论文:LangCell: Language-Cell Pre-training for Cell Identity Understanding | ICML 2024
- 🔗 链接:https://arxiv.org/abs/2405.06708
- 💻 代码:https://github.com/PharMolix/LangCell
- 👥 团队:Suyuan Zhao, Jiahuan Zhang, Yushuai Wu, Yizhen Luo, Zaiqing Nie | PharMolix Inc. / 国家科技部重点研发计划
- 💾 预训练数据集:https://huggingface.co/datasets/Toycat/scLibrary(scLibrary, 2750万细胞-文本对)
- 🤗 模型权重:Google Drive(见GitHub仓库 README)
Publication
LangCell: Language-Cell Pre-training for Cell Identity Understanding