编辑 | 萝卜皮
“xTrimo”大模型体系,是百图生科面向最复杂生命科学问题,开发的全球首个、世界最大的生命科学多模态预训练模型。百图生科团队的研究人员称它是解码生命的基础模型,也是一颗浓缩了全部人类生命进化知识的“时间胶囊”。
2023 年 3 月 3 日下午机器之心·ScienceAI 等多家媒体就“xTrimo”大模型体系的构建、训练,大模型在生命科学中应用等问题,同百图生科首席 AI 科学家宋乐博士进行了交流。
图:百图生科首席 AI 科学家宋乐博士
关于xTrimo
Q:什么是 xTrimo 大模型体系?
A:xTrimo,全称 Cross-model Transformer Representation of Interactome and Multi-Omics,是一个大规模多模态模型体系。这几个英文的首字母,形成了这么一个缩写 xTrimo。它由千亿参数的预训练模型、蛋白生成模型以及多个下游任务模型组成。
它有几个算得上世界之最的地方。
首先,整个模型体系涵盖了生命科学里不同的相当尺度的信息,包括分子尺度、细胞尺度、组织尺度等。
然后,构建这个模型体系所用到的数据可能是世界最大级别的,它用到了十亿级的蛋白质数据,百亿级的蛋白质相互作用数据,亿级的单细胞数据,以及百万级以上的细胞扰动数据。
最后,模型参数也很大。比如在蛋白质层面的预训练模型,达到大概千亿级别的,也是世界上最大的预训练模型。单细胞尺度上的数据在亿级以上,也是目前世界最大的。
同时,它的下游模型,比如抗体抗原复合物的结构预测、亲和力预测,单细胞在扰动下面的响应预测等等都达到了业界的最优水平。
我们用大量的数据,用很长时间对大模型进行预训练,(可能每一次大模型的训练几个月);之后再通过微调,来适应下游模型,最终构建了这样一个模型体系,它可以去解决 “AI + 生命科学”相关的问题。
Q:这多个模型构成的体系如何工作?能够解决什么问题?
A:举个例子吧,刚刚我提到了海量的数据,比如蛋白质序列已经达到几十亿级别,但它是一种没有标签的数据。那么,预训练模型就会对序列做一个表征。
这个过程有点像自然语言模型的训练,有大量来自互联网的语料,但它非常冗杂,并不是直接可用。所以可以放个表征在上面,学习整理句子里面各方面遣词造句的规律。
对应到蛋白质,它是几亿年进化选择所保留下来的,必然包含生物进化的信息。氨基酸不是随机排布的,它们是有一些互相依赖的关系的。
对模型进行大规模预训练,有点像把这种几亿年进化的信息吸收到模型中,把单个蛋白质结构中不同位置氨基酸相互关联的信息也吸收进去。所以,它可以对蛋白质形成一个很好的表征,也可以生成一些新的没有见过的蛋白质。这个表征可以用来作为下游任务的输入属性。
比如要预测一个蛋白质的属性,看它是不是稳定的蛋白质,看它的结构是否能够折叠成某种形状,都可以用表征来作为输入,去提升下游任务的准确度,同时可以减少下游任务对标签数据的需求。
因为,一般的情况,下游任务都会需要许多标签数据,比如一个预测稳定性的模型,需要合成蛋白质去真实的在实验体系里面测量的蛋白质的稳定性,才能够建立一个蛋白质序列到稳定性的预测。
同理结构预测也是这样的,你要有一个对应的蛋白质以及它的结构,而解析一个结构往往要花费大量金钱,同时也要消耗大量时间。因此,当有了预训练模型的表征之后,可以大大减少下游任务对标签数据的需求。
Q:体系里的下游任务都有哪些?
A:其实xTrimo设计了很多参数,比如设计蛋白质,或者设计药物。它的结构要正确;蛋白质与相关底物之间的关系要准确。
比如说我们优化一个抗体,它像把钥匙一样去打开与疾病相关的另外一个蛋白质,这里“锁孔”和“锁钥”要有非常精确的匹配。在设计抗体的时候,通过预测它的结构来判断是否与对应的“锁孔”配对。除此之外,还应该预测配对之后亲和力的强弱、配对方式等。
还有一系列其他任务,比如蛋白质自身的稳定性。其实每一个都需要有一个模型,你设计的蛋白质或者抗体,它在这些参数上都符合你的设计标准。所以对应的就是一系列下游模型。预测得足够准确,那样在计算机里面这些东西,才更可能在试验里去观测到同样的这些属性。
图:在预测抗体结构表现上,百图生科团队开发的 xTrimoABFold 和 AlphaFold2 的对比,xTrimoABFold 也是目前已知世界上最准确的抗体结构预测模型之一
如何解决大模型与数据之间的矛盾
Q:从现有的数据量来看,某些情况下数据可能没有那么大。有限的数据量的情况下如何把工作做得更好?
A:这个问题,应该说数据大也不大。有两方面。
刚刚所说的这些非监督的预训练数据是巨大的,已经是百亿千亿这种级别,所以它训练出来的是一些通用语言模型。
打个比方,就好像在互联网上用大量的数据来训练它,得到的是个通用模型;但是如果想把这个模型再微调到比如销售航空的产品,或者金融产品,实际上那样的数据就比较少。
同理的情况下,在 AI for life science 领域也是类似的,这种通用的数据很多。
训练通用模型是用大的数据、大的模型、大的计算量去实现的。
但是,缩小到我们所感兴趣的一个疾病,比如某种类型的癌症和肿瘤的某个靶点,它的抗体的数据就会相对比较少,公开领域里面基本上没有。这也是药物设计的难点。
所以在这种情况下,就需要给通用模型提供良好的表征才行。
如果通用模型能够学一些相关表征,或者一些通用的能力,那么它可以减少对你最感兴趣疾病数据的搜集需求。可以使你在收集比较少的数据时,仍然获得一个比较准确的模型。
另一方面,大模型只有模型体系本身是不够的,它需要真正的实验数据来补充。
就相当于你经过幼儿园、小学、中学教育,拥有了比较通用知识表达能力,还有一些逻辑分析、数理分析的能力。但是你要把模型变到一个非常专业的领域,比如要变成化学家和文学家,还要经过几年的大学教育去适配它。大模型体系针对某一个生物问题,是需要适配过程的。
我们也把 xTrimo 大模型体系和相关的验证实验体系结合,并不是一个开环的预测就结束了,它是一个闭环的系统验证。
通过我们内部的验证,以及强化学习这样的闭环迭代方式,使大模型适配到你最感兴趣的一个疾病靶点上面,并且这种迭代方式会使模型越来越准确,对于相关数据的需求会越来越小,另一方面在实验方面效率会越来越高。
图:百图生科实验室
Q:跨模态的生物大模型,可能涉及到了不同维度的数据,您刚刚说在一个比较专业的领域时,可能数据是缩减的,但是它在不同的维度的时候,会不会这个数据又再一次扩大?这个跨模态是怎么完成的?
A:为什么我们要叫它跨模态?因为用到的这些数据是属于不同尺度的,但同时它们又是互相关联的。
比如生命科学里有个中心法则,描述了DNA、 RNA、蛋白质之间的对应关系。从 DNA数据可以转换成 RNA 数据, RNA 数据可以转换成蛋白质数据。蛋白之间可能是有相互作用,相互关联的;细胞层面的基因表达数据,也会受到各类蛋白以及细胞因子的调控;它们之间是一个多维度的复杂网络。
因此,很多情况下我们在训练大模型体系的时候,不是每个大模型只用一种模态数据去训练,而是会集成多种模态的数据的一起来训练。我们这里很多大模型,它都是综合了几种模态的数据。
举个具体的例子,我们在对一个细胞进行表征学习过程,其实最主要的大量数据是单细胞测序。比如有1亿个单细胞数据,其实可以学一下 Transformer。同时,这里可以引入很多蛋白质相互作用的信息来帮模型学得更好,从而使预测更准确。
假如,我们想知道对免疫细胞进行扰动之后,它是不是更加能够活跃,是能够更好的杀伤肿瘤的那些细胞,这个过程是可以在我们的大模型体系里进行的。
Q:是有点类似于我们在数据上模拟了一个多维度的细胞环境吗?
A:可以这样认为。生命经过几亿年的进化,这些数据本身在很多层次上都有一个相当于自然选择的结果,这里关联的是几亿年进化过程所编织的关系。比如,蛋白在组织层面,在细胞层面,蛋白互相作用层面,一组基因的表达层面,都不是随机的,很多基因的表达都是经过进化选择之后的。
所以,从表面上看大量数据,好像是在计算机里面某种程度模拟了生物的过程,或者说是把整个进化的结果让模型吸收了。模型吸收的一个好处是它可以利用模型继续进化,进一步去做预测,可以看到一些以前可能看不到的蛋白质,以前没见过的细胞形态、细胞状态,这样就能帮人类去进行靶点发现和新药设计。
Q:跨链信息又是怎样进行兼容的呢?
A:很多情况下,一条蛋白质就是一条链。比如两个可以相互结合的蛋白质,它们最初可能是两条分开的链。蛋白质的链,会折叠成它各自的形状,然后再相互作用。如果要做两个蛋白质结合所形成复合物的结构,最好最直接的兼容数据,是用电镜或者其他什么方式拍下蛋白的结构,这样会有非常细致三维结构信息。但是这样的数据比较少,可能整个在 PDB 数据库里面大概只有二十几万条这种数据。
但是,数据库里有很多比较弱的接触信号。比如,我不知道它们的结合的三维信息,但是我知道最简单的信息,结合和不结合。对这样的信息是比较多的,大概多 3 个数量级甚至更多。所以,可以用这种比较弱的接触信号去训练跨链所必须的模型,然后给符合的结果提供一些额外的分子层面比较真的信息。
比如有很多情况下,蛋白质在相互作用的时候,它的大体形状是不变的,在交互的界面上,有较大可能形变才容易产生相关作用。
以前,比如在做结构预测的时候,我觉得像 AlphaFold2 这样的模型本身挺难把这件事情考虑进去的。所以,通过重新设计后面的结构预测的模块,可以把这种信息,比如蛋白质结构是不是容易形变这种物理过程考虑进去,能够把预测做得更好。
图:蛋白质结构
Q:不同数据之间如何对应上真正有价值的关系,应该是模型之间的一个难点?
A:是难点,从某种意义上说,很多公开数据它都不对应。所以我们在把公开数据进行整理的过程中,实际上做了很多精细的对齐工作。比如每个蛋白质都有一个 ID ,同时蛋白质对应的基因是什么,也要一个个对齐的。当然,可能在两个公开数据库里面,所给出的名字有点不一样,所以这里有个对齐链接的过程。
比如,我们蛋白质之间相互作用是在另外一个数据库中,但它的蛋白质相互作用的两个端点,它可能对应多个基因,所以也要有对齐的过程。
就像视频剪辑一样,我有对应的音频和图像,还有一个字幕。如果我获得大量的数据,但是没有对齐,把它胡乱拼在一起,就会像一个语音和视频对不上的解说。
视频还好一点,它导出来可能那些信息都在同一个视频里面。但是在生物领域就不乐观了。
很多情况下是因为以前生物实验的手段的局限性,或者以前科学家没有考虑到会有多维度的、多模态的需求。多数情况下,这些数据是单独出来的。所以我们一直想花一些时间去研究怎么样把它们关联起来,这也是我们做了很多工作的。
展望未来
Q:与未来生命科学研究的发展趋势相结合,xTrimo还有哪些方面可以进一步提升和完善?
A:生命科学大模型已经取得了很大进展,但目前数据量仍然有限,生命体的复杂度很高,我们需要不断收集吸收更多新数据,以及更具体的生物体数据和垂直方向的数据。随着生命科学领域观测手段和技术的发展,吸收更多的数据尤其是垂直类数据,将使我们能够更加精细精准地理解进化、理解生命。这也就意味着,要实现这一目标,我们需要不断吸纳新的合作伙伴,特别是那些在体外模拟体系、超精度观测和特殊验证体系等方面具有丰富知识和技术的生命科学家。所有这些努力都将加速 xTrimo 为整个生命科学领域的赋能。
图:百图生科
Q:对于 xTrimo 在推动整个生命科学领域的发展上有何期望和愿景?
A:对于 xTrimo 大模型,我们的长期愿景/目标,也是生命科学大模型终将实现的价值,就是解码、治愈所有的疾病、解决我们当下难以应对的全球公共卫生问题、食物短缺问题以及环境污染问题等。
宋乐简介
宋乐博士是著名的机器学习和图深度学习专家,曾任美国佐治亚理工学院计算机学院终身教授、机器学习中心副主任,阿联酋 MBZUAI 机器学习系主任,蚂蚁金服深度学习团队负责人(P10)、阿里巴巴达摩院研究员,国际机器学习大会董事会成员,具有丰富的 AI 算法和工程经验。
图:宋乐博士
自 2008 年起,宋乐博士在 CMU 从事生物计算相关的研究,利用机器学习技术对靶点挖掘、药物设计取得了一系列突破性成果,获得 NeurIPS、ICML、AISTATS 等主要机器学习会议的最佳论文奖。社区服务方面,他曾担任 NeurIPS、ICML、ICLR、AAAI、IJCAI 等 AI 顶会的领域主席,并出任 ICML 2022 的大会主席,他还是同行评议期刊 JMLR、IEEE TPAMI 的副主编。
Google Scholar: https://scholar.google.co.uk/citations?user=Xl4E0CsAAAAJ&hl=en