当前位置: 首页 > article >正文

DNA语言模型GROVER学习人类基因组中的序列上下文

原文标题:

DNA language model GROVER learns sequence context in the human genome

原文链接:

DNA language model GROVER learns sequence context in the human genome | Nature Machine Intelligence

摘要

在DNA上学习语感的深度学习模型在基因组生物任务上取得了很高的性能。基因组序列遵循类似于自然语言的规则,但在没有词的概念的情况下是不同的。我们在人类基因组上建立了字节对编码,并使用通过自定义任务选择的词汇训练了一个基础语言模型GROVER (通过提取的表示获得基因组规则),下一个k-mer预测。在人类基因组中定义的标记字典最能体现GROVER的信息内容。通过分析学习到的表示,我们观察到训练的token嵌入主要编码与频率、序列内容和长度相关的信息。有些标记主要定位于重复序列,而大多数则广泛分布于基因组中。GROVER还学习语境和词汇歧义。基因组区域的平均训练嵌入与功能基因组学注释相关,因此表明这些结构的学习纯粹来自于标记的上下文关系。这凸显了GROVER所能把握的序列所编码的信息内容的程度。在处理基因组元件识别和蛋白质- DNA结合问题的基因组生物学微调任务上,GROVER超过了其他模型的性能。GROVER学习的是序列语境,是结构和语言规则的意义。提取这些知识,就可以写成一本关于生命密码的语法书。

引言

基于Transformer架构的大型语言模型( Large Language Models,LLMs )非常适合文本数据,具有前所未有的性能和透明性。预训练的LLMs,如GPT - 3 和后继者,也可以作为基础模型,通过分类、回归或生成任务进行微调。这些模型改变了我们看待语言的方式,并且可以非常有用地用于各种目的。

虽然基因组在结构上与语言相似,类似于语法、句法和语义,但它们也有差异。首先,没有明确的方向,除非是相对于转录或复制等生物学过程而言。第二,词语没有自然的定义。我们知道转录因子结合基序或编码蛋白质的三联体编码。然而,在整个基因组中,对于词语并没有一个明确的概念。为了克服在DNA上训练Transformer模型的挑战,即所谓的DNA语言模型( DLM ),已经有几种方法。一些模型旨在解决特定的任务,例如使用Enformer对基因表达进行建模,该模型将卷积层与Transformer模块相结合。通过卷积层,不需要对单词进行定义。然而,基础模型并不是直接在特定的基因组生物学任务上训练的,而是首先在掩码token预测上进行预训练,然后再进行微调。这种策略需要定义离散标记:即从DNA中构建"词"。现有的人类基因组模型包括LOGO6、DNABERT和Nucleotide Transformer ( NT ) ,它们采用双向编码器表示法( Bidirectional Encoder Representations from Transformers,BERT ) 架构,并采用不同的词汇生成策略。NT主要使用6 - mers作为词汇。DNABERT对4种不同的模型使用3、4、5和6个核苷酸的k - mer,其中6 - mer模型表现最好。k - mers重叠,训练是为了掩码序列的中心核苷酸不与任何未掩码的标记重叠。因此,模型在很大程度上学习了令牌序列,而不是更大的上下文。半监督模型包括基因组序列以外的数据,如GeneBERT。HyenaDNA在其架构中使用隐式卷积。取多个物种的基因组增加了训练数据量,如DNABERT-2 。虽然这些替代策略可能会提高某些任务的性能,但额外的信息来源或不同的架构使其更难遵循模型正在学习的内容,并将学习到的表示链接回相关的基因组序列。因此,我们决定只用人类基因组序列进行训练,分配成tokens。理想的DLM词汇应该有适当长度的标记来捕捉基因组的语言结构。然而,如果长度被选为常数,令牌的频率就会变得不均匀。6 - mers在人类基因组( hg19 )中的出现次数约为104 ~ 107次。这种频率不平衡会通过稀有词问题抑制模型训练,或者导致在频率上而不是基因组语言环境上进行训练。因此,我们将字节对编码( BPE ) 应用于人类基因组,以生成多个频率均衡的词汇,并以最优的方式选择携带人类基因组信息内容的词汇。结合微调任务和模型架构的内置透明性,我们现在可以开始使用由此产生的基础DLM,GROVER (通过提取的表示获得基因组规则),来提取其学习和不同层基因组的信息内容。       

方法

数据

我们使用了智人(人类)基因组组装GRCh37 ( hg19 ),只考虑包含A、C、G和T的序列。每条染色体被分割成20 ~ 510个不同大小的窗口。具体来说,以50 %的概率,一个窗口的大小为510。在另一个50 %的概率下,它的大小是一个介于20到510之间的随机整数。将80 %的窗口作为训练集,剩余的窗口作为测试集。 

字节对标记化

BPE或字节对标记化最初是作为一种文本压缩算法发展起来的,现在被广泛地用作GPT - 3等自然语言上的转换器模型的标记化策略。我们使用多达5 000个循环的标记化。

通过GROVER下一个k-mer预测的性能评估选择最优词汇。

BPE算法通过将最频繁的令牌对顺序地组合到新的令牌中,优先处理更频繁序列内容的较大令牌。从A、C、G、T这4个核苷酸开始,在BPE的第一个循环中,两个T组合成一个TT token,TT token采用一个新的token标识。这种配对原则上可以持续多次循环,不断形成更大的token。随着词典的增长,新词对出现的频率逐渐降低。我们使用这些词汇来训练一个具有BERT架构的模型(图1b ),用于带有交叉熵损失的掩码token预测。这导致从BPE的100 ~ 5 000个循环中选择多个模型,从中选择最优模型和词汇。

图1 | DNA BPE与模型架构。
a,在一个示例序列上重点介绍BPE的原理,以及与该序列相关的标记化步骤。
生成的词汇表由token长度着色,并在词云中描述, 词的相对权重由它们的频率决定
b,该模型是一个具有12个Transformer模块(紫色)的BERT架构,
其中使用多传感头注意力和中间带有正规化步骤的前馈层( LayerNorm )。
该模型是对token进行嵌入,并使用交叉熵损失进行训练,以预测被掩码的token,
并在训练时更新嵌入。输出是被掩码的token身份的概率。

DLM GROVER

GROVER采用变压器编码器BERT架构。它以长达510个令牌的令牌化序列作为输入。除了从基因组中产生的词汇外,GROVER还使用了五种特殊的标记:CLS,PAD,UNK,SEP和MASK。这些特殊的token在语言模型中常用:CLS代表分类token,PAD用于在序列小于模型最大输入长度的情况下填充序列的右侧,UNK用于不属于词汇表的核苷酸序列,SEP用于指示序列的末端,MASK代表掩码token。对该模型进行掩码token预测训练。

在给定的输入序列中,选择2.2 %的令牌,其中80 %用一个特殊的掩码[ MASK ]token替代;10 %的令牌随机替换为标准令牌(也就是说,任何不同于class [ CLS ]、pad [ PAD ]或mask [ MASK ]标记的标记)。

为了预训练模型,我们从基因组中收集了超过500万个样本。在A100图形处理单元的集群上进行训练,使用Adam优化器对尺寸为64的批次进行训练。

下一个k-mer预测

为了选择一个最优的词汇和模型,原则上可以通过两种策略来评估性能,即内部或外部验证:例如,在特定的基因组生物任务上。为了避免模型对特定生物学的偏倚,我们选择了内在性验证。然而,困惑度依赖于字典大小,因此我们应用了下一个k - mer预测。预测一个定义长度的下一个序列标记需要序列上下文的感知。这允许相对比较而不必关注生物学焦点,并且与标记化策略、词汇量和基础模型架构无关。我们使用k = [ 2、3、4、5、6]的固定大小k - mers的微调模型,结合100 ~ 5 000个循环的BPE词汇表训练的模型。

为了模型验证和选择最优词汇,我们使用了一个先前开发的下一个k-mer预测的微调任务。它允许我们比较不同的依赖上下文学习的基础模型,而不依赖于他们的词汇是如何产生的,词汇量的大小或学习参数。该任务不依赖于具体的生物学问题。下一个k-mer预测的原理是将预训练好的语言模型进行微调来预测下一个k-mer,其中k为2、3、4、5和6。 

21号染色体被分割成510个核苷酸的序列,其中我们保留了每个序列的前56个核苷酸。我们随机选取50万条序列,80 %用于训练,20 %用于测试。      

k - mer模型

对于k - mer模型,我们使用与GROVER相同的参数和样本,仅在词汇表和标记化上有所区别。用长度为4、5和6个核苷酸的非重叠k - mers进行标记。词汇表由k个连续的核苷酸(分别为256、1 , 024和4 , 096)的所有排列以及上述描述的5个特殊标记组成。

W2V

W2V是为了反映多维空间中的平均词关联而建立的,反映了词汇内部的平均词关联。

为了比较token嵌入,我们使用W2V作为静态词嵌入工具,它将每个单词映射到单个向量。一般来说,这种映射函数并不能解释词汇歧义:相同的字母序列可以有多种解释或不同的语法角色。我们使用W2V结合连续词袋的方法来学习单词的表示。连续词袋是从句子中的周围词预测中间词,以少量的词作为上下文。词语的排列顺序没有被考虑在内。为了生成W2V嵌入,从训练集中随机选择30万条序列。

模型嵌入

我们得到一个语境化的词表示,即BERT模型的token嵌入。为了获得模型的训练token嵌入,我们提取了层word 嵌入的权重。在需要的情况下,我们可以推导出所有12个变压器层的嵌入,每个令牌序列的汇总版本,或者用分类token( classification token,CLS )推导出510个令牌长度序列的汇总版本。

维数约减

我们从以长度为768的向量表示的平均token嵌入中获得降维。在Python中对提取的基因组窗口嵌入进行降维。将全基因组拆分为不重叠的510个tokens。然后将这些序列作为模型的输入,得到最后一层的CLS令牌嵌入。使用UMAP将嵌入矩阵的768维降为2维。UMAP配置标准参数,包括15个最近邻,最小距离为0.1。

自相似性

自相似性:即在一个token类型的不同上下文中训练的嵌入之间的余弦相似度。表征的情境化程度越高,我们预期的自相似性越低。

自相似性被评估为来自同一令牌序列的不同嵌入的余弦相似性,分别用于BERT架构的所有12层转换器。从测试集中收集每个token的5 000个嵌入,并在每一层计算每个token的成对余弦相似度。


http://www.kler.cn/a/590645.html

相关文章:

  • C/C++都有哪些开源的Web框架?
  • go语言的包使用,以及错误处理
  • 欧拉降幂-乘积幂次
  • 深入理解 IP、子网掩码、端口号和协议
  • Spring Cloud Config - 动态配置管理与高可用治理
  • 大型语言模型(LLM):解码人工智能的“语言基因“
  • Qt中打开windows的cmd窗口并显示
  • TypeScript接口 interface 高级用法完全解析
  • 深度学习-服务器训练SparseDrive过程记录
  • 文件包含与下载漏洞
  • JavaScript 元编程革命:Proxy 如何重塑语言本质
  • LLM对齐方法作用:主要解决大型语言模型(LLMs)输出与人类价值观、需求和安全规范不一致的问题
  • 【华为OD机考真题】- 用户调度问题(Java)
  • 使用zenodo-upload进行zenodo大文件上传
  • 【力扣】2666. 只允许一次函数调用——认识高阶函数
  • CellOracle|基因扰动研究基因功能|基因调控网络+虚拟干预
  • 大模型推理:LM Studio在Mac上部署Deepseek-R1模型
  • Windows安卓子系统WSA安装面具Root
  • LabVIEW旋转设备状态在线监测系统
  • 域渗透—哈希传递攻击(PTH)学习