跳转至

DNAChunker: Learnable Tokenization for DNA Language Models

会议: ICML2026
arXiv: 2601.03019
代码: 暂未公开
领域: 科学计算 / 基因组语言模型
关键词: DNA 语言模型, 可学习分词, 自适应分块, 掩码语言建模, BiMamba

一句话总结

DNAChunker 在掩码 DNA 语言模型中嵌入一个端到端可学习的"动态分块器",通过双向 Mamba 编码 + 余弦相似度边界预测把 base-pair 序列压成变长 chunk,并配合 mask 保护与残差门控防止信息泄露,仅用人类参考基因组、172M 参数就在五个基因组 benchmark 上全面超越 2.5B 级别的多物种预训练基线。

研究背景与动机

领域现状:DNA 语言模型(NT、DNABERT-2、HyenaDNA、Caduceus 等)正在把 NLP 里"先分词再编码"的范式搬到基因组。主流分词方案只有三类——单核苷酸、固定长度 k-mer、或在大语料上跑 BPE。

现有痛点:DNA 序列没有天然的"词"边界,而上述方案都是与上下文无关的固定切分。论文用图 1 给出两个具体失败模式:(1) k-mer 对小尺度扰动极度敏感,一个 indel 就能把整段 token 序列移位;(2) BPE 只看子串频率,最高频子串往往是非功能的重复元素,反而会把 TF-binding motif、cis-regulatory motif 这种真正有意义的功能片段切碎。

核心矛盾:单核苷酸保留全部信息但序列太长无法做长程建模;k-mer/BPE 压缩了长度却切坏了功能 motif。本质是"上下文无关的固定分词"与"基因组功能依赖上下文"之间的结构性冲突。

本文目标:把分词从"预处理超参"升级为"端到端可学习模块",使分块结果同时满足三点:(i) 长度自适应、压缩冗余区段;(ii) 在功能富集区保留细粒度;(iii) 对 SNV / InDel / 结构变异稳健。

切入角度:作者注意到自回归侧已有 H-Net (Hwang et al., 2026) 等动态分块工作,但 DNA 是双向信号——promoter / enhancer 的语义同时依赖上下游,因此分块本身就必须是双向的。同时 MLM 训练里的 [MASK] 是预训练专属人造 token,如果让它参与分块或经由 encoder 残差泄露给 decoder,模型会学到 mask 形状的捷径,无法迁移到下游无 mask 数据。

核心 idea:用双向 Mamba 编码出 base-pair 特征 → 用余弦相似度路由网络在相邻位置之间预测硬边界 → 把相似的相邻位置合并成一个变长 chunk 喂给 Transformer 主干,并用 mask 保护 + 残差门控两条机制堵住 mask 信息泄露通道。

方法详解

整体框架

DNAChunker 是一个 encoder–main–decoder 三段式的双向 MLM。输入是长度为 \(T\) 的核苷酸序列(最长 8192 bp),输出是每个被 mask 位置的核苷酸预测。中间经过两次"编码 → 边界预测 → 下采样"的层级压缩:base-pair \(T\) → 一阶 chunk \(T'\) → 二阶 chunk \(T''\),由 30 层 Transformer 主网络在最压缩的 \(T''\) 长度上做长程建模,再经两阶 dechunking 层级上采样回 base-pair 分辨率做 MLM 预测。

设计上的一条主线是把"长程上下文推理"这一最贵的算力全部留给主网络:encoder 只负责把序列压短、decoder 只负责把表示展开回来,编码 / 解码两端都用轻量 Mamba,主网络才用 Transformer。

关键设计

  1. 双向自适应分块(cosine-similarity routing + 硬阈值 + mask 保护):

    • 功能:在双向 MLM 设定下从数据自动学出"哪两个相邻位置应该合并成一个 token"。
    • 核心思路:阶段 \(s\) 的输入特征 \(\widehat{x}^{(s)}\) 先经线性投影得到 query \(q^{(s)}_t\) 与 key \(k^{(s)}_t\),然后用相邻位置之间的余弦"不相似度"作为边界概率 \(p^{(s)}_t = \tfrac{1}{2}\bigl(1 - \tfrac{(q^{(s)}_t)^\top k^{(s)}_{t-1}}{\|q^{(s)}_t\|\,\|k^{(s)}_{t-1}\|}\bigr)\),再阈值化得到硬边界 \(b^{(s)}_t = \mathbf{1}(p^{(s)}_t \ge 0.5)\),把同一段内的 base-pair 表示聚合成一个 chunk embedding,序列长度由 \(T\) 缩到 \(T' = \sum_t b^{(0)}_t\)。Mask 保护机制强制在每个 [MASK] 位置前后各插一条边界,使被 mask 的核苷酸永远是一个单 token 的 chunk。两阶段递归地做同样的事,得到喂给主网络的 \(x^{(2)}\)
    • 设计动机:相比 H-Net / Byte Latent Transformer 这些原本只能单向决策的方案,余弦路由 + 双向 Mamba 让边界预测同时利用上下游证据;mask 保护堵住了"模型学会按 mask 形状切分"的捷径,让分词决策真正由基因组上下文驱动,可平稳迁移到没有 mask 的下游任务。
  2. 30 层 Transformer 主网络 + 块级 RoPE:

    • 功能:在最压缩的序列长度上做长程依赖建模,承担模型绝大多数参数与算力预算。
    • 核心思路:标准 Pre-LN Transformer block(多头自注意力 + GELU FFN),位置编码用 RoPE,并将每个 chunk 的"中心 base-pair 下标"作为该 chunk 的位置 id,使得相对位置信息直接以 base-pair 而非 token 为尺度,从而保留物理坐标语义。配合自适应压缩,megabase 级序列的有效长度可显著缩短,长程上下文得以可承受地建模。
    • 设计动机:作者明确把主网络定位为"上下文推理的主轴",因此 encoder/decoder 用轻量 BiMamba、主干才用昂贵 Transformer。这种"瘦头胖中"的算力分配让 172M 参数足以匹敌 1.2B 的 GENERator。
  3. 层级 dechunking + 双向 probability-gated 平滑 + 掩码残差门控:

    • 功能:把主网络输出的 \(T''\) 长度表示重新展开为 base-pair 分辨率,同时给离散边界一个可微通道,并防止 encoder 残差把 mask 位置的真值泄露到 decoder。
    • 核心思路:对压缩表示 \(z^{(s)}\) 先按 cumulative 边界 \(\sum_{k\le t} b^{(S-s)}_k\) 做 piecewise-constant 复制 \(\tilde z^{(s+1)}_t = z^{(s)}_{\sum_{k\le t} b^{(S-s)}_k}\);再用一对前向 / 后向线性递归 \(\textsc{Scan}_\rightarrow, \textsc{Scan}_\leftarrow\) 以边界概率 \(p\) 作为门做双向平滑:\(z^{(s+1)}_t = \tfrac{1}{2}(\textsc{Scan}_\rightarrow + \textsc{Scan}_\leftarrow)\),既让梯度通过 \(p\) 流回路由网络,又把上下游上下文都注入回 base-pair 分辨率。同时残差门控只对"所在 chunk 不含 mask"的位置开启 encoder 残差,含 mask 的 chunk 整体收 0 残差,强制其重建必须穿过主网络。
    • 设计动机:硬阈值 \(b^{(s)}_t\) 本身不可导,需要 \(p\) 提供梯度通路;双向 scan 与 MLM 的双向假设保持一致;残差门控杜绝了"encoder BiMamba 把邻居信息漏到 mask 位置 → decoder 直接照抄"的捷径,保证 MLM 损失真正在训练主网络而非 encoder。

损失函数 / 训练策略

总损失 \(\mathcal{L} = \mathcal{L}_{\text{MLM}} + \lambda\mathcal{L}^{(0)}_{\text{ratio}} + \lambda\mathcal{L}^{(1)}_{\text{ratio}}\)。MLM 项按 BERT 协议(15% 选中、80% 替换为 [MASK]、10% 随机、10% 保留),并对重复区域权重降到 0.1。每个分块阶段额外加一个"压缩比"正则:\(\mathcal{L}^{(s)}_{\text{ratio}} = \tfrac{\bar b^{(s)}\bar p^{(s)}}{\alpha^{(s)}} + \tfrac{(1-\bar b^{(s)})(1-\bar p^{(s)})}{1-\alpha^{(s)}}\),其中 \(\bar b^{(s)},\bar p^{(s)}\) 分别是阶段 \(s\) 的平均硬边界比例与平均边界概率,\(\alpha^{(s)}\in(0,1)\) 是目标压缩比。\(\bar b\) 不可导,但通过让 \(\bar p\) 逼近 \(\alpha\) 间接逼近目标压缩比。预训练语料是 GRCh38/hg38 人类参考基因组,按 Enformer 划分切成 \(2^{20}\) bp 区域再切成 8192 bp 输入。下游任务统一去掉 LM head、对有效 token 做平均池化接一层线性分类头,根据数据集协议选择全微调或线性探针。

实验关键数据

主实验

五个 benchmark 全面验证。下表把每个 benchmark 上 DNAChunker 与最强对照、以及参数量倍数列出来,可以看到它用 172M 参数稳赢 2.5B 多物种预训练的 NT 与 1.2B 的 GENERator。

Benchmark 指标 DNAChunker (172M) 最强基线 备注
NT benchmark 总均 MCC ↑ / 平均 rank ↓ 0.772 / 1.67 GENERator (1.2B) 0.728 / 2.06 18 个数据集中赢 13 个;histone 平均 MCC 0.701 vs 0.625
Revised NT benchmark 平均 MCC ↑ 0.660 PatchDNA 0.626;MxDNA 0.637 splice site +0.068 vs MxDNA
Genomic Benchmarks top-1 acc ↑ / 平均 rank ↓ 0.885 / 3.29 GENERator 0.892 / 2.89 \(7\times\) 更少参数与 GENERator 持平
DNALongBench 5 任务(最长 1 Mb 上下文) 全部 > Caduceus-PH Caduceus-PH (LP) enhancer-target +0.061;txn init +0.047;仅用线性探针即超 expert
BEND 平均 rank ↓ 1.9 PatchDNA 2.1 variant effect (expression) AUROC 0.59 领先

消融实验

在 revised NT benchmark 上用 2B token 同预算、控变量比较分词与组件(线性探针,higher better):

配置 Histone Enhancers Promoters Splice Overall MCC
6-mer 0.338 0.319 0.593 0.147 0.347
BPE 0.339 0.349 0.667 0.223 0.375
w/o Mask Protection 0.316 0.293 0.614 0.128 0.332
w/o Residual Gating 0.338 0.298 0.607 0.185 0.353
w/o Ratio Loss 0.341 0.290 0.635 0.123 0.348
DNAChunker (full) 0.344 0.346 0.673 0.290 0.390

关键发现

  • 三条防泄露 / 控压缩机制都不可省:去掉 mask 保护最伤(overall 0.390 → 0.332,splice 0.290 → 0.128,几乎打回 6-mer),印证 mask 形状捷径确实存在;去掉残差门控次之;去掉压缩比正则会让 splice 直接崩到 0.123,因为没有 \(\mathcal{L}_{\text{ratio}}\) 约束时模型倾向于过度压缩、丢掉 splice site 这种需要单碱基级精度的信号。
  • 与固定分词正面对比:DNAChunker overall MCC 0.390 显著高于 BPE 0.375 与 6-mer 0.347,splice 上更是从 0.147 / 0.223 跳到 0.290——说明"分词需要保留功能 motif"这一动机被实际验证。
  • 跨规模一致性:用 172M 参数、单物种 GRCh38 训练就稳压 2.5B 多物种 NT 和 1.2B GENERator,意味着收益主要来自 tokenization 与架构,而非堆参数 / 堆数据。
  • 长程效率:自适应压缩降低有效序列长度,在 1 Mb 级 DNALongBench 上仅用 frozen backbone + linear probing 就超过全微调的 task-specific expert,说明 chunk 边界确实被分配到了功能富集区。

亮点与洞察

  • 把"分词"从训练前的超参变成端到端可学的模块,这是 NLP 侧 H-Net 系列工作在 DNA 这种"无天然词"语言上更自然的落点——基因组本来就没有词典,BPE 频率统计反而是错配先验。
  • mask 保护机制是真正只属于 MLM 的细节:自回归 LM 没有 [MASK] 这种人造 token,作者识别出"分块模块会把 mask 形状当 cue"这种隐秘捷径,并用强制单 token chunk + 残差门控两条独立屏障封死,是非常成熟的 MLM 工程经验。
  • "瘦头胖中"的算力分配(轻量 BiMamba encoder/decoder + 大 Transformer 主干 + 自适应压缩)给后续多模态长序列(蛋白质、化学反应、code token 流)提供了可复制的模板:先压缩到主网络能 afford 的长度,再把昂贵注意力全部留给压缩域。

局限与展望

  • 作者明确只在 GRCh38 单物种上预训练,跨物种泛化(细菌、病毒)是否仍优于 Evo2 这类多物种自回归模型未验证。
  • splice site 任务上虽显著超 MxDNA/PatchDNA,但相对 GENERator 仍落后 0.014——可变长 chunk 对"必须看到每个 nt"的任务仍有结构性劣势,可考虑任务自适应的 \(\alpha\)
  • 阈值 0.5 + 余弦相似度的边界判据较朴素,未与 entropy gating(Byte Latent Transformer)或熵基判据做正面对比;不同 \(\alpha^{(s)}\) 设置下的鲁棒性也只在附录提及。
  • 代码与权重在主文中尚未明确开源,复现门槛偏高。

相关工作与启发

  • vs Caduceus / NT-v2(固定 tokenization 的 MLM): 同样是双向 MLM 框架,DNAChunker 把固定 single-nt / BPE 换成可学分块,5 个 benchmark 全胜,验证"问题不在 MLM 本身,而在固定分词"。
  • vs DNABERT-2 / GROVER(BPE): 论文用 motif 切割可视化与 BPE 控变量消融直接说明:BPE 在 DNA 上是错配先验,频次最高的子串恰是非功能重复序列。
  • vs MxDNA / PatchDNA(DNA 专用可学分词): 这两者要么只在编码端做单向 patch,要么对 splice 这种细粒度任务掉点严重;DNAChunker 通过双向路由 + mask 保护把 splice MCC 从 0.740 拉到 0.936。
  • vs H-Net / Byte Latent Transformer(自回归可学分词): 把这套范式从自回归迁到双向 MLM,并配上 DNA 特有的 mask 保护与残差门控;可视为"H-Net 的 MLM 版"。

评分

  • 新颖性: ⭐⭐⭐⭐ 端到端可学分词在自回归侧已有先例,本文贡献是双向化 + MLM 适配 + mask 保护这套工程组合
  • 实验充分度: ⭐⭐⭐⭐⭐ 五大 benchmark + 控变量消融 + 跨物种 / 跨规模对比 + FLOPs 与 motif 可视化,覆盖非常完整
  • 写作质量: ⭐⭐⭐⭐ 动机—架构—消融的逻辑链清晰,图 1 一张图把 motif fragmentation 和 mutation robustness 同时讲透
  • 价值: ⭐⭐⭐⭐⭐ 用 172M 单物种击败 2.5B 多物种,几乎重新定义了 DNA 语言模型的算力—精度边界,是后续基因组基础模型必须比较的新基线