文章标题: scGPT: Towards Building a Foundation Model for Single-Cell Multi-omics Using Generative AI发表期刊: Nature Methods: 26 February 2024摘要:GPT(Generative Pre-training Transformer)是一种基于Transformer架构的预训练语言模型,它仅使用了Transformer的解码器结构,在生成时看不到自己后面的内容,相比于BERT选择了更难的技术路线(后者只使用了T
随着ChatGPT火爆出圈,研究者们在惊叹于它强大能力的同时,也将目光投向了其背后的技术——GPT大模型。
GPT(Generative Pre-training Transformer)是一种基于Transformer架构的预训练语言模型,它仅使用了Transformer的解码器结构,在生成时看不到自己后面的内容,相比于BERT选择了更难的技术路线(后者只使用了Transformer的编码器结构,在预测时可以看到前后的内容)。虽然GPT在诞生初期效果一直不如双向语言模型,但是当模型规模不断增大后,展现出了良好的可扩展性与可贵的zero-shot能力,后一点通常被认为是模型对数据底层逻辑有更深理解的表现。
作者团队同样也观察到了GPT成为通用模型的潜力,并且认识到目前在单细胞领域缺少通用的预训练大模型,很多研究的应用局限于特定问题或者数据集,所以他们想要利用正在飞速发展的GPT技术来弥补这一领域的空白。
在具体的模型上,作者通过类比细胞之于句子,基因之于单词,选用了自注意力transformer。该架构的词典结构在添加特征与划分意群(比如ViT中将图片的patch作为单个意群)上有灵活性,并且它的attention机制具有可解释性。
预训练后的scGPT可以学到有意义的基因表示,同时也具有zero-shot能力,可以在未见过的数据集上对细胞分类。经过finetune后在一系列下游任务中取得了SOTA结果。
图A
A图展示了模型的总体框架。在预训练阶段,作者使用CELLxGENE数据集里来自人类血液和骨髓的1.03亿条单细胞RNA测序数据。通过随机MASK掉一部分基因再预测表达值来训练模型。
在微调阶段为了使模型更好地学习到来自基因与细胞的知识,作者针对性地设计了两种任务,分别是用基因预测基因的基因表达预测任务(GEP: Gene Expression Prediction),和用细胞表示预测基因的基于细胞的基因表达预测任务(GEPC: Gene Expression Prediction for Cell Modelling)。这两个任务都采用自回归方式。
通过切换Condition token,scGPT在细胞分类,批次矫正,模态整合,细胞类型标注,扰动后基因表达预测,基因网络推理这六个下游任务上取得了SOTA结果,这一结果表明了scGPT学习到了良好的细胞与基因表示,具有成为单细胞领域通用大模型的潜力。
作者在将NLP领域的技术迁移到单细胞领域时,用到了很多方法,这里重点介绍两处:
图B
作者将每一个细胞当作一条数据,每一个基因当作一个词,每一个词的特征包括了该基因的型号(Gene Tokens),基因丰度(Expression Values),条件类型(Condition tokens)。通过对特征编码与连接,得到模型的输入。
(1) 基因型号(Gene Tokens)
作者根据基因名称给每个基因分配一个独一无二的标号tg。最后模型的基因型号总词典取不同数据集基因标号的并集。此外,作者还使用了表示细胞型号,
统一序列长度这两种常规操作。
(2) 基因丰度(Expression Values)
在单细胞RNA测序(scRNA-seq)数据中,基因丰度通常指一个细胞中该基因出现的数量。在单细胞RNA染色质可及测序数据中(scATAC-seq),基因丰度通常指该基因的峰值。无论是哪一种输入,当基因丰度是连续值时就面临着如何离散化的问题。
比较简单的想法是直接划分区间来离散化。但是受到样本批次等实验条件的影响,在不同细胞里的同一区间可能具有截然不同的“语义“,这样训练的效果肯定不好,所以作者提出了一种value binning思想。他先把每一个细胞内的基因丰度按照绝对数值排序,再根据比例来划分区间,每一个区间在该细胞基因丰度中所占的比例相等。虽然这种方法使每一个细胞都有它们独特的划分区间方式,但是在基因丰度的编码上具有了统一性。比如在两个细胞中,即使它们的基因丰度最高值的绝对数值不同,但是经过value binning后的编码值是相同的。
(3) 条件类型(Condition tokens)
这组编码主要是包括基因的条件特征tc,比如属于哪一种通路,是否被实验调整过等等。
图C
在做GEP与GEPC任务时,作者注意到细胞内基因是没有顺序的,区别于文本这种序列数据,所以在做自回归预测时,简单地套用前面句子预测下一个词的思路在单细胞领域并不合理。于是他们使用了一种新的注意力MASK机制。
在训练时(A),作者随机抽取一部分基因作为未知基因,未知基因在被预测时只能看到自己,已知基因和,不能看到其他未知基因,即作者切断了未知基因与未知基因间的前后联系。
图D
在推理时(B),作者根据细胞型号一批一批地生成,并且每一步的结果是按照预测置信度排序后得到的那一批最高的基因,这种方式可以缓解误差的累积。
由于样本批次不同造成的人为噪声严重干扰了细胞分类的准确性,批次矫正的任务就是帮助数据处理掉这些技术噪声同时保护好重要的生物信息。
作者选择了整合scRNA-seq数据这一任务,来比较scGPT与scVI,Seurat,Harmony的去批次效果。
细胞类型标注是细胞聚类后对类群贴标签,是单细胞分析中承上启下的一步。在这一任务中,作者选择与TOSICA,以及没有预训练的自身作比较。
尽管可以通过编辑基因来获得单细胞对不同基因的响应,但是庞大的基因种类以及排列组合使得这一方法并不现实。得益于机器学习领域的飞速发展,人们可以使用计算机学习已知的实验结果去预测未知的扰动。以下是scGPT与GEARS,多层感知机(MLP)在高差异表达基因(DE)与所有基因(ALL)上扰动预测指标的对比结果。其中corr是皮尔逊相关系数。
单细胞多组学数据提供了多种基因调控的视角,包括表观遗传组,转录组以及转录活动。但是多视角也面临着整合的问题。作者对比了scGPT与scGLUE,Seurat整合PBMC多模态10x数据,以及scGPT与scMoMat整合ASAP PBMC数据的效果。
基因调控网络中转录因子,共表达因子以及靶点基因的相互作用影响着生物活动。目前的基因调控网络推理方法主要有从静态基因表达中寻找相关性或者用拟时间估计进行因果推断,而scGPT通过学习基因的有效表示,有望隐式地反映出基因间的相互关系。
小结作者搭建了一个单细胞领域的GPT模型,它学习到了通用的基因与细胞表示,在诸多下游任务里取得了SOTA结果。未来作者计划对scGPT整入更多的模态,同时进一步研究它的可解释性。作者最后设想预训练范式将会很容易整入单细胞领域,作为基础模型从指数增长的细胞图谱中获得新的发现。
Cui H, Wang C, Maan H, et al. scGPT: toward building a foundation model for single-cell multi-omics using generative AI[J]. Nature Methods, 2024: 1-11.
来源:医学顾事