← Back to scModels Foundation Model

scimilarity

scimilarity
Graham Heimberg, Tony Kuo, Daryle J. DePianto, Omar Salem, Tobias Heigl, Nathaniel Diamant, Gabriele Scalia, Tommaso Biancalani, Shannon J. Turley, Jason R. Rock, Héctor Corrada Bravo, Josh Kaminker, Jason A. Vander Heiden, Aviv Regev · 2024-11-20 · Nature, 2025

基于度量学习(triplet+MSE)的单细胞搜索引擎:在2340万细胞参考图谱中以50ms速度查找转录相似的细胞,已发现跨组织纤维化巨噬细胞轴心并完成in silico→in vitro验证闭环

Overview

📄 第30期 | A Cell Atlas Foundation Model for Scalable Search of Similar Human Cells(细胞图谱基础模型:在亿万个细胞中,找到"和你一样"的那个)

SCimilarity 是一个基于度量学习(metric learning)的单细胞基础模型。它不做基因表达预测、不做细胞类型分类——只专注一件事:在 2340 万个细胞的参考图谱中,以 50 毫秒的速度找到与你的查询细胞"转录相似"的同类。它实现了单细胞领域的"以图搜图",来自 Genentech,发表在 Nature,已被引用 127 次。

🔬 为什么这篇文章重要?

如果你是一位研究肺纤维化的生物学家,你在自己的单细胞数据里发现了一群特殊的巨噬细胞——它们高表达 SPP1、TREM2、GPNMB,似乎和纤维化进展密切相关。你很自然地想知道:这群细胞是肺特有的,还是在其他纤维化器官中也存在?它们是疾病的"司机"还是"乘客"?有没有体外模型能复现这种细胞状态,让我能在培养皿里研究它?

在过去,回答这些问题需要几个月:你得自己下载几十个公共数据集、逐一标准化、定义基因签名、做差异分析、写邮件找人要体外模型……任何一个环节出问题,整个链条就断了。

人类细胞图谱计划(Human Cell Atlas)至今已积累了超过一亿个单细胞转录组。从理论上说,这些数据里藏着上述所有问题的答案。但现实是:不同研究用的是不同测序平台,不同标准化方法,不同的细胞注释粒度。你甚至无法回答"这两个细胞的转录组有多像"这个看似简单的问题——没有一个统一的"细胞度量语言"。

SCimilarity 的独特之处在于:它是第一个以"细胞搜索"为核心设计目标的基础模型。你输入一个细胞状态(可以是单个细胞、一个簇的中心点、或者一组被基因签名定义的细胞),模型在 2340 万细胞参考图谱中找到所有相似的细胞,然后告诉你它们出现在哪些组织、哪些疾病、哪些体外实验模型中——带来源文献的追溯链接。无论是 scGPT 还是 Geneformer 还是 scFoundation,都没有把这个能力作为核心设计目标。

这不仅仅是"加速"了生物发现。更重要的是,它让一种全新的提问方式成为可能:不是"已知的标记基因在这些数据里表达了没有",而是"整个转录组状态,在哪里出现过"。前者是验证已知,后者是发现未知。这篇论文最具说服力的部分,恰恰是这种"发现未知"的力量——后面会详细讲到。

🧠 核心创新:SCimilarity 是怎么工作的?

SCimilarity 的核心思想来自人脸识别——准确地说,来自 Google 2015 年发表的 FaceNet。FaceNet 的工作方式是:不需要提前"认识"世界上每一个人,它只需要学会把同一个人的不同照片映射到嵌入空间中非常近的位置,把不同人的照片推得很远。你用一张新照片查询这个训练好的模型,就能找出所有同一个人的其他照片。SCimilarity 把一模一样的逻辑用到了细胞上——"同一个细胞类型的不同细胞"就是"同一个人不同角度的照片"。

双重损失函数的博弈

SCimilarity 的训练损失由两部分组成。第一部分是三元组损失(triplet loss):每次训练给模型看三个细胞——锚点细胞(anchor)、同类细胞(positive,和锚点有完全相同的 Cell Ontology 标签)和异类细胞(negative,和锚点没有层级关系),要求"锚点到正样本的距离"比"锚点到负样本的距离"至少小一个预设的 margin α。如果已经满足这个条件,损失为零;如果不满足,损失就是差值。

第二部分是均方误差重建损失(MSE loss):模型不仅要把细胞嵌入到 128 维空间,还要能从这个嵌入重建出原始基因表达谱。这个部分是典型的自编码器逻辑——它迫使嵌入保留比"类型标签"更丰富的信息,比如同一类型内部的精细差异。

有趣的是,这两个目标是有些矛盾的。纯 triplet(β=1,即完全不考虑重建损失)做数据整合表现最好——不同批次的数据在嵌入空间里混得最均匀;加入少量重建损失(β=0.001)则能显著提升搜索精度——模型对细胞状态的细微差异更敏感。可以这么理解:重建损失强迫模型"记住"每个细胞的原始表达谱细节,这些细节在判定"这两个 T 细胞真的不一样"时至关重要。

团队做了非常系统的超参数搜索:3 种 margin(0, 0.01, 0.05)× 6 种 β(0, 0.0001, 0.001, 0.01, 0.1, 1.0)= 18 种组合,每种重复训练 3 次。最终选定 β=0.001 作为"搜索模型",β=1 作为"整合模型"。这篇论文同时发布两个模型,用户可以根据任务选择。

用 Cell Ontology 消灭"假矛盾"

训练度量学习模型最头疼的问题是:如何定义"相似"和"不相似"?如果用原始的细胞类型标签,会遇到一个无解的矛盾——作者 A 标注了"T 细胞",作者 B 标注了"CD4+ T 细胞"。这两个标签是层级关系(CD4+ T 细胞是 T 细胞的子类),不能简单说它们"相似"或"不相似"。

SCimilarity 的解决方案是彻底引入 Cell Ontology。所有标签先映射到标准化术语:完全相同的算正样本对;无祖先-后代关系的算负样本对;存在直系层级关系的直接标记为"模糊对",从三元组采样中剔除。比如"lymphocyte → T cell → CD4+ T cell"这条链上的任意两个节点都不会被用来训练——无论说它们相似还是不相似都是错的。

还有一个实用技巧:如果某个 Cell Ontology 术语只在一个研究中出现,就把这个术语替换为它的父术语(前提是父术语在至少两个研究中出现)。这增加了可用训练数据,同时避免了过于细粒度、缺乏跨研究代表性的标注。经过这些处理,最终得到了 203 个 Cell Ontology 术语,覆盖 56 个训练数据集和 15 个独立的测试数据集。

架构极简,正则化极重

编码器设计出奇地简单:4 个全连接隐层(1024→1024→1024→128),没有注意力机制,没有图结构,没有残差连接。但正则化非常激进:输入层 40% dropout(每次训练随机丢弃近一半的基因表达值),每个隐层再加 50% dropout。这是故意的——迫使模型在极度稀疏的输入中学习鲁棒表征,让它天然适应单细胞数据固有的 dropout 噪声。输入是全部 28231 个基因的 log-normalized 表达值——不做基因筛选,让模型自己学什么重要。

128 维嵌入最终被 L2 归一化到单位超球面上。这个设计的精妙之处在于几何一致性:在一个单位超球面上,"最远距离"是固定的(2.0),所以 margin 参数的几何意义在所有模型运行中保持一致。如果不用归一化,嵌入空间可以无限扩张,margin 就失去了意义。

训练策略也值得注意。模型不随机采样三元组——因为经过几轮训练后,大多数三元组都已经是"简单样本"(已经满足距离约束),不再贡献梯度。它使用半难负样本挖掘:只选那些"和锚点的距离刚好比正样本远一点点、但还没超过 margin"的负样本。为什么不用最难的呢?因为最难的三元组往往是标注错误——一个 CD8+ T 细胞被错误标注为 CD4+ T 细胞,如果用这种样本来惩罚模型,模型会困惑甚至崩溃。而"刚好在边界上"的半难样本提供最有效的梯度信号。

与现有单细胞大模型的定位差异

方法 训练范式 参数量 核心设计目标 搜索任务表现
scGPT 生成式预训练 51M 基因表达预测、多组学整合 检索膨胀,遗漏真阳性
Geneformer 排序学习 42M 网络生物学迁移学习 基因量级丢失,非搜索导向
scFoundation 非对称编码器-解码器 100M 大规模预训练表征 查询精度不如 SCimilarity
SCimilarity 度量学习 ~5M 毫秒级细胞搜索 Spearman ρ 远优于上述三种

注意:SCimilarity 只有约 500 万参数,是 scFoundation 的二十分之一。但它对"细胞搜索"这件事的擅长,恰恰来自"少即是多"——参数量少意味着模型被迫学真正的特征,而不是记忆。

📊 关键实验结果

搜索基准:范式优势,不是参数优势

团队以间质性肺病中鉴定的纤维化相关巨噬细胞(FM,标记基因:SPP1/TREM2/GPNMB/CHIT1/MMP9/APOE/CTSK)作为查询。在同一个测试集(GSE128033,58,530 个细胞)上,用一个完善的基因签名得分作为金标准,比较了 SCimilarity、scGPT、scFoundation 和纯重建损失自编码器的查询精度。

结果非常清晰:SCimilarity 的 Spearman 秩相关系数远超其他所有方法。scGPT 和 scFoundation 的检索有两个致命问题——它们不仅把很多签名得分很低的细胞排在前面("膨胀"),还把一些得分很高的细胞遗漏了("遗漏")。这不是参数量的差距,而是训练目标的根本差异:生成式预训练和掩码语言模型的目标函数天然不为"相似性搜索"优化,而 triplet loss 的数学定义就是"把相似的东西放一起"。

同样的优势在肌成纤维细胞查询中得到了独立验证。scGPT 和 scFoundation 再次膨胀和遗漏。这有力地说明了:在"细胞搜索"这个特定任务上,度量学习相比生成式预训练有根本性的范式优势。

跨平台鲁棒性:学的不是技术噪声

SCimilarity 仅在 10x Genomics 平台的数据上训练,但能稳健地处理 7 种其他平台:Smart-seq2、Drop-seq、inDrop、CEL-Seq2、Seq-Well、Microwell-seq、Parse Biosciences。在一项配对实验中——同一个肿瘤样本(CLL1)分别用 scRNA-seq 和 snRNA-seq 测序——嵌入后的分析显示:同一细胞类型的"核内"与"全细胞"距离远小于不同细胞类型间的距离。也就是说,模型学的不是"这个样本是用什么技术测的",而是"这个细胞是什么类型"。

可解释性:自动推导标记基因

SCimilarity 实现了一个基于积分梯度的归因框架。对一对细胞(x 和 y),沿着"从 y 到 x"的直线路径,计算路径上每个基因对嵌入空间距离的偏导数,积分后得到该基因对"x 和 y 之间的距离"的贡献。对某个细胞类型 t,随机采样 t 的细胞与背景细胞配对,聚合所有配对的归因得分,就得到了"该细胞类型最重要的基因"列表。

这比传统的差异表达分析多了一层语义:不是"这个基因表达高所以它重要",而是"改变这个基因的表达会最大程度地改变模型对细胞类型的判断"。在基准测试中,SCimilarity 归因的 top 基因与已知的差异表达基因列表高度重叠。对 FM 细胞的分析还揭示了新的候选标记基因——CD52 和 LGALS3——这些基因虽然不是传统 FM 标记,但归因得分极高,值得后续实验验证。

最震撼的生物学发现:跨组织纤维化轴心

这可能是一篇 Nature 论文最有价值的部分——发现单篇单组织研究永远无法发现的东西。团队做了三层验证。

第一层——搜索发现:以 ILD 中的 FM 细胞为查询,在 2340 万细胞中广泛搜索,发现 FM 样细胞不仅出现在 ILD 中,还大量存在于肝纤维化、系统性硬化症(硬皮病)、COVID-19 急性肺损伤和胰腺导管腺癌(PDAC)。PDAC 中 FM 样细胞的富集尤其引人注目——此前几乎没有人把胰腺癌和肺纤维化巨噬细胞联系起来。

第二层——相关性验证:FM 样细胞和纤维化相关肌成纤维细胞在多种组织和疾病中的出现频率呈显著正相关(Pearson 检验)。这不是巧合——这说明这两个细胞群可能构成跨组织的"纤维化轴心":巨噬细胞发出促纤维化信号,成纤维细胞响应并沉积细胞外基质。而且这个轴心在多种纤维化疾病中都被激活。这是单篇单组织研究不可能发现的宏观模式。

第三层——实验闭环:在所有体外模型命中中,排名最高的是一个基于 Puramatrix 的 3D 水凝胶培养体系。团队在实验室中将健康人的外周血单核细胞接种到该体系中,8 天后收获细胞进行 scRNA-seq——结果显示这些细胞确实分化为 FM 样状态,高表达全套 FM 标记基因。从"计算搜索到体外命中"只用了几个小时,从"体外命中到实验验证"用了几天。这是 AI 驱动生物学发现的典范路径。

速度:一键查询,50 毫秒响应

基于 hnswlib 构建的 2340 万细胞近似 k-NN 索引(M=50, ef_construction=400),一次查询平均仅需 50ms。即使是 258 万单核/巨噬细胞的穷举搜索也只需 2 秒。搜索 API 还提供了自动分组统计——一键告诉你"和我的查询细胞最像的细胞主要出现在哪些组织、哪些疾病里"。

⚠️ 局限与展望

SCimilarity 有几个明确且诚实的局限。第一,训练时刻意排除了癌细胞和细胞系——这些细胞没有明确的 Cell Ontology 类型身份,如果强行训练可能引入噪声。这也意味着现有模型不擅长查询肿瘤微环境中的恶性细胞。第二,对胎儿样本、粒细胞、造血干/祖细胞和中间分化状态表现较差——大部分训练数据来自成年组织,且分化连续体无法用离散的 Cell Ontology 术语描述。第三,查询质量高度依赖输入细胞状态的"凝聚性"。用 50 个有噪音的细胞取平均做查询,不如用 5 个高度一致的细胞。模型提供了 coherence 评分来帮助判断,但主观选择仍不可避免。

但 SCimilarity 最令人兴奋的特性恰恰克服了它最大的局限:可扩展性。新增数据只需嵌入后追加到 k-NN 索引,无需重新计算已有嵌入,也无需重新训练模型。在人类细胞图谱以每年翻倍速度增长的背景下,这意味着一劳永逸。

未来如果能将多组学模态(ATAC + RNA + 蛋白)纳入统一嵌入、将发育生物学和肿瘤生物学的 Cell Ontology 标注体系补全,SCimilarity 的搜索空间将进一步指数级扩张。也许终有一天,"搜一个细胞"会像今天"BLAST 一条序列"一样,成为生物学家的日常操作。

这不是一个更好的分类器——这是一种全新的提问方式。

📎 论文信息

  • 📄 论文: Heimberg G*, Kuo T*, DePianto DJ, Salem O, Heigl T, Diamant N, Scalia G, Biancalani T, Turley SJ, Rock JR, Corrada Bravo H, Kaminker J**, Vander Heiden JA**, Regev A**. "A cell atlas foundation model for scalable search of similar human cells", Nature 638, 1085–1094 (2025)
  • 🔗 链接: https://doi.org/10.1038/s41586-024-08411-y
  • 💻 代码: https://github.com/Genentech/scimilarity (Apache 2.0 | ⭐248 | pip install scimilarity | Docker: ghcr.io/genentech/scimilarity)
  • 🏷️ 模型权重/嵌入/参考数据: https://zenodo.org/records/10685499
  • 👥 团队: 共同一作 Graham Heimberg* & Tony Kuo* | Genentech / Roche, San Francisco
  • 🔬 通讯作者: Aviv Regev(人类细胞图谱联合发起人,现 Genentech 研发与早期开发负责人)、Josh Kaminker、Jason A. Vander Heiden
  • 📊 影响力: 127 Citations | 77k Accesses | 103 Altmetric | Open Access(CC BY-NC-ND 4.0)
  • 📅 时间线: 投稿 2023-08-13 | 接收 2024-11-14 | 在线发表 2024-11-20 | 正式出版 2025-02-27

Publication

A cell atlas foundation model for scalable search of similar human cells

Links

📄 Read Paper 💻 GitHub

Specifications

  • ArchitectureMetric learning (triplet loss + MSE reconstruction), 4-layer fully connected encoder (1024→1024→1024→128), 128D hypersphere embedding, hnswlib k-NN search, multi-platform generalization
  • ModalityscRNA-seq