用于长程基因组预测的大规模联合序列-功能多物种建模基础模型.

0. TL; DR

NTv3 是一个多物种基因组基础模型,通过 U-Net 架构实现单碱基分词和高达 1Mb 上下文的建模。该模型在 9万亿 碱基对的 OpenGenome2 数据上进行掩码语言建模预训练,随后在 24 个物种的约 16,000 个功能轨道和基因组注释上进行多任务后训练。NTv3 在功能轨道预测和基因组注释任务上达到最先进性能,并通过掩码扩散语言建模实现可控的增强子序列设计,实验验证了生成序列具有预期的活性水平和启动子特异性。

1. 背景介绍

1.1 基因组预测的挑战

解码基因组需要将 DNA 序列与基因调控、细胞状态特异性表达程序以及遗传变异的表型后果联系起来,这是现代定量生物学的核心目标。深度学习通过学习直接从数据中获取预测性序列特征,已成为该领域进展的关键驱动力。

当前方法在三个互补方向上取得了实质性进展,但这些优势通常在孤立的模型类别、架构和训练机制中实现:

1.2 现有方法的碎片化问题

现有方法的核心碎片化体现在两个方面:

  1. 表示学习与功能预测的分离。自监督基础模型提供广泛的表示,但主要输出标记级概率或嵌入,不直接预测分子表型;而监督序列-功能模型在特定实验家族上表现强劲,但需要重新整理和重新训练才能跨物种或模态泛化。
  2. 表示学习与生成建模的分离。生成方法为从基因组理解到基因组工程提供了自然途径,但其目标和接口通常与监督序列-功能学习解耦,限制了单一模型在基因组理解和基因组工程中的统一作用。

NTv3 旨在开发一个单一、高效的框架,统一以下能力:长程上下文建模(支持高达 1Mb 的上下文)、碱基分辨率预测(单核苷酸级别的输出)、功能建模(整合序列与功能数据)、可控生成(支持条件化的序列设计)、跨物种泛化(涵盖动物和植物)。

2. NTv3 模型

NTv3 采用 U-Net 编码器-解码器架构,专为长序列建模设计,这是首次将该架构成功应用于大规模基因组基础模型的自监督预训练。

2.1 NTv3 模型的基本结构

NTv3包含六个主要组件:

⚪ 序列嵌入器(Sequence Embedder)

首先将 DNA 序列转换为连续嵌入,然后通过 stem 层处理:输入序列 → 嵌入查找表 → 1D卷积(核大小15,步长1)→ GELU激活。Stem 层将标记嵌入投影到更高维度,同时保留序列长度维度。

⚪ 序列编码器(Sequence Encoder)

编码器通过 7 个卷积块逐步下采样,将输入从 1bp 分辨率压缩到 128bp 分辨率:每个卷积块包含主卷积(核大小 5)+ Layer Normalization + GELU 激活、残差卷积(核大小 1)+ 跳跃连接、平均池化(窗口大小 2,步长 2)。

设第 $i$ 个阶段的特征图为 $x_i$,则:

\[x_{i+1} = \text{AvgPool}(\text{GELU}(\text{Conv}_{5}(x_i)) + \text{Conv}_{1}(\text{GELU}(\text{Conv}_{5}(x_i))))\]

存储每个阶段的中间表示(分辨率分别为 1bp, 2bp, 4bp, …, 64bp)用于 U-Net 跳跃连接。

⚪ Transformer 塔(Transformer Tower)

128bp 分辨率上,Transformer 塔处理序列以建模长程交互:使用 RoPERotary Positional Embeddings)位置编码,基础频率为 10,000;采用多头自注意力,查询和键向量分为两半;前馈网络采用 GLUGated Linear Unit)门控和 Swish 激活;预层归一化(Pre-Layer Normalization)。

注意力计算在块级别进行,序列被划分为大小为 $2^{\text{num_downsamples}}$ 的块。

⚪ 序列解码器(Sequence Decoder)

解码器镜像编码器结构,通过 7 个反卷积块逐步上采样:转置卷积(核大小 5)+ 层归一化 + GELU 激活;残差转置卷积(核大小 1);U-Net 跳跃连接:将编码器对应阶段的残差与上采样特征相加

⚪ 输出头(Output Heads)

三个并行输出头在单核苷酸分辨率上操作:

2.2 物种条件机制(Species Conditioning)

为实现多物种统一建模,NTv3 引入物种条件机制:

采用自适应层归一化(Adaptive Layer Normalization, AdaLN),物种嵌入 $s$ 通过线性投影产生平移($\beta$)和缩放($\gamma$)参数:

\[\text{AdaLN}(x, s) = (1 + \gamma(s)) \odot \text{LayerNorm}(x) + \beta(s)\]

其中 $[\beta(s), \gamma(s)] = W_s$,$W \in \mathbb{R}^{2d_{\text{layer}} \times d_{\text{cond}}}$。

残差连接通过学习的缩放因子进行调制:

\[x_{\text{out}} = x + (1 + \alpha(s)) \odot f(x)\]

其中 $\alpha(s) = W_s$,$W \in \mathbb{R}^{d_{\text{layer}} \times d_{\text{cond}}}$。

所有调制参数初始化为零,确保初始化时条件模型行为与预训练无条件模型相同。

2.3 预训练策略

NTv3采用两阶段长度课程。

\[w_i^{(t+1)} = \begin{cases} 0.4 & \text{if } i = t+1 \text{ (新最大长度)} \\ 0.6 \times \frac{w_i^{(t)}}{\sum_{j \neq t+1} w_j^{(t)}} & \text{otherwise} \end{cases}\]

并强制 $\min_i w_i^{(t+1)} \geq 0.05$,不足则重新归一化。

NTv3采用 BERT 风格的掩码策略:15% 的标记被选中用于潜在修改;其中 80% 替换为 [MASK] 标记,10% 替换为随机标记,10% 保持不变。

损失函数为预测概率与真实标记的交叉熵之和:

\[\mathcal{L}_{\text{MLM}} = -\sum_{i \in \mathcal{M}} \log P(x_i | x_{\setminus \mathcal{M}})\]

其中 $\mathcal{M}$ 为掩码位置集合。

2.4 后训练策略

后训练数据涵盖 24 个物种:

数据类型 物种数 轨道/标签数 权重
人类功能轨道 1 7,362 45%
其他动物功能轨道(小鼠、果蝇) 2 2,630 10%(各 5%
植物功能轨道(拟南芥、水稻、玉米、小麦、大豆、棉花) 6 5,897 30%(各 5%
仅注释物种 15 基因组注释 15%(各 1%

⚪ 功能轨道损失

功能轨道预测采用 Poisson-多项式 组合损失:

Poisson 损失(总覆盖度):

\[\mathcal{L}_{\text{Poisson}}(x, y) = \sum_i x - \sum_i y \log \sum_i x_i\]

多项式损失(分布形状):

\[\mathcal{L}_{\text{multinomial}} = -\sum_i y_i \log p_i, \quad \text{where} \quad p_i = x_i / \sum_i x_i\]

总损失为:

\[\mathcal{L}_{\text{tracks}} = \mathcal{L}_{\text{multinomial}} + 0.2 \times \mathcal{L}_{\text{Poisson}}\]

⚪ 基因组注释损失

采用 Focal Loss 处理类别不平衡:

\[\mathcal{L}_{\text{focal}} = -\sum_i (1 - p_i)^\gamma \log p_i\]

其中 $\gamma = 2.0$。

⚪ 总后训练损失

\[\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{tracks}} + \mathcal{L}_{\text{focal}} + \mathcal{L}_{\text{MLM}}\]

持续的 MLM 损失确保语言模型头与共享表示空间保持同步。

2.5 序列生成:掩码扩散语言建模(Masked Diffusion Language Modeling)

2.5.1 前向扩散过程

设 $x, z \in {0,1}^{|V|}$ 为词汇表 $V$ 上的一热向量。MDLM 使用特殊 [MASK] 标记 $m$,前向过程为:

\[q(z_t | x) = \text{Cat}(z_t; \alpha_t x + (1 - \alpha_t) m)\]

其中 $\alpha_t \in [0,1]$ 为噪声调度,单调递减,$\alpha(1) = 0$,$\alpha(t) \to 1$ 当 $t \to 0$。

2.5.2 真实后验分布

对于离散时间过程,设 $s < t$:

\[q(z_s | z_t, x) = \begin{cases} \text{Cat}(z_s; z_t) & \text{if } z_t \neq m \\ \text{Cat}(z_s; \frac{\alpha_s - \alpha_t}{1 - \alpha_t} x + \frac{1 - \alpha_s}{1 - \alpha_t} m) & \text{if } z_t = m \end{cases}\]

2.5.3 反向去噪过程

学习去噪网络 $x_\theta$ 近似后验:

\[p_\theta(z_s | z_t) = \begin{cases} \text{Cat}(z_s; z_t) & \text{if } z_t \neq m \\ \text{Cat}(z_s; \frac{\alpha_s - \alpha_t}{1 - \alpha_t} x_\theta + \frac{1 - \alpha_s}{1 - \alpha_t} m) & \text{if } z_t = m \end{cases}\]

2.5.4 训练目标

连续时间变分上界简化为:

\[\mathcal{L}(\theta) = \mathbb{E}_{x \sim q_{\text{data}}} \mathbb{E}_{z_t^{1:L} \sim q(\cdot|x^{1:L})} \sum_{\ell=1}^L \int_{t=0}^{t=1} \frac{-\alpha_t'}{1 - \alpha_t} \log \langle x_\theta^\ell(z_t^{1:L}), x^\ell \rangle \, dt\]

这是加权平均的交叉熵 MLM 损失,掩码率可变。

2.5.5 分类器自由引导(Classifier-Free Guidance)

对于条件生成,采样自:

\[p^\gamma(z_s | z_t, y) \propto p(z_s | z_t, y)^\gamma \cdot p(z_s | z_t)^{1-\gamma}\]

对于负条件(如启动子特异性生成):

\[p^\gamma(z_s | z_t, y_{\text{target}}, \neg y_{\text{bg}}) \propto p_\theta(z_s | z_t, y_{\text{target}})^\gamma \cdot p_\theta(z_s | z_t, y_{\text{bg}})^{1-\gamma}\]

3. 实验分析

3.1 预训练分析

3.2 功能预测

3.3 NTv3Benchmark 评估

NTv3Benchmark 包含 106 个任务,采用32kb 输入 / 1bp 输出标准化设置,包括功能轨道预测(回归,Pearson 相关)和基因组注释预测(分类,MCC)。

3.4 农业基因组学任务

3.5 模型解释性分析

3.6 可控序列生成

作者在果蝇 S2 细胞的 STARR-seq 数据上微调 NTv3:两个启动子背景:DSCP(发育型)和 RpS12(持家型);增强子长度249bp,总序列长度:4kb(包含质粒背景)。

微调目标是活性提示生成:五个活性分箱(0-4),和启动子特异性生成:高活性于目标启动子,低活性于背景启动子。