2026-10-10
Calico 用双向状态空间块 Hydra 换掉 Borzoi 的自注意力,训出输入 786 kb 的八模型 Cerberus。48 个组织上,精细定位 eQTL 的平均 AUPRC 从 0.668 升到 0.692,效应量相关从 0.321 升到 0.379。
Borzoi、AlphaGenome 这类序列到功能模型,从 DNA 直接预测表达、剪接和多聚腺苷酸化,长程相互作用靠自注意力。注意力的计算随长度平方增长,模型只好先把序列池化到粗格子上混合,再用 U-net 把分辨率升回去。训练贵,超参搜不透。推理慢,能打分的变异数量就被卡住。
参考基因组给得出的独立序列就那么多。新实验加上的是新轨道,不是新序列。序列多样性封顶之后,值得换的是同批序列上更准、更便宜的长程模块。
Cerberus 把 Borzoi 里的 Transformer 换成 Hydra,一种建在 Mamba-2 上的双向状态空间块。状态空间模型把序列当成递推的动力系统,隐状态按步传递,计算量和长度成正比。Mamba 让递推参数跟着输入变,该记住的位置多写一点,无关位置快忘掉。单向递推只看见上游,调控元件却可以在基因两侧。两个独立模型一正一反再相加,对角线会被构造非对角项的向量绑住。Hydra 用准可分矩阵把正向、反向和一条自由对角线放进同一次混合,对角线单独由输入决定。正反向共用一次输入投影,参数几乎不增加。
对照把其余结构钉死:524 kb 输入,卷积收到 128 bp,六个长程块,U-net 解回 32 bp,768 通道,人类 1,870 条轨道、小鼠 769 条。只换长程块。8,192 个 token 上,Hydra 比 Borzoi 用的距离窗注意力快 5.7 倍,比旋转位置编码 RoPE 快 2.4 倍。RoPE 在 12 项指标里 10 项更差,后面的对照就以距离窗为准。
线性代价让 U-net 可以拆掉。分辨率收到 32 bp,参数从 3,610 万降到 3,000 万,训练和验证指标都上升。Transformer 和 Hydra 混插更不稳定。状态维度加到 1 以上几乎不动准确率,正式模型固定为 1。
放大后的 Cerberus 是八个复制的平均。每个复制用 16 折里的 14 折训练,一张 A100 上 50 个 epoch,大约 11 天。单模型 1.383 亿参数,Borzoi 是 1.859 亿。输入 786,432 bp,卷积塔收到 32 bp、1,536 通道,后面 8 个 Hydra 块、每块 20 个头,没有注意力,也没有 U-net。人类轨道 8,361 条,小鼠 3,102 条,在原来的批量和单细胞轨道上加了 CLIP、多聚腺苷酸化调控子扰动,以及 4sU 和放线菌素 D 的 mRNA 衰减时间序列。损失铺在整段输出上,边缘用超高斯窗降权,不再只监督裁掉两端之后的中心窗口。
eQTL 打分是外显子覆盖的对数倍数变化。sQTL 和 paQTL 用最大轮廓偏移:基因座上的对数覆盖先归一成分布,再取两个等位基因之间最大的单格绝对差,避免总表达量冒充剪接或加尾效应。基准是 GTEx v11 的 SuSiE 精细定位。阳性 PIP 至少 0.9,阴性从各组织 PIP 都低于 0.01 的显著关联里抽,并配平等位基因、频率、基因表达,以及到转录起始位点、剪接位点或聚腺苷酸化位点的距离。这些注释本身就能分开阳性和随机变异,不配平的话模型不必读序列。这些模型都不用遗传变异训练,QTL 落在训练选择之外。去重后有 23,836 个 eQTL、20,732 个 sQTL、4,991 个 paQTL SNP。打分用 48 个组织。
小规模对照里,Hydra 的 eQTL AUPRC 是 0.679,距离窗 Transformer 是 0.671,48 个组织里 46 个更高。效应量 Spearman ρ 从 0.325 到 0.330,四个复制分不开。
| 比较 | 指标 | Cerberus | Borzoi |
| eQTL,48 组织平均 | AUPRC | 0.692 | 0.668 |
| eQTL 效应量 | Spearman ρ | 0.379 | 0.321 |
| sQTL | AUPRC | 0.718 | 0.689 |
| paQTL | AUPRC | 0.709 | 0.691 |
eQTL 两项都在 47/48 个组织上领先。优势随距离变大:转录起始位点 3 kb 以内 AUPRC 高 0.022,100 kb 以外高 0.056。绝对水平走反方向,Cerberus 从 3 kb 内的 0.792 掉到 100 kb 外的 0.604,效应量相关从 0.593 掉到 0.161。sQTL 每个组织都更高,paQTL 是 46/48。增益集中在位点 10 kb 以内。100 kb 以外两边都不超过随机,比较时排除了这一段。一个距 PROM1 起始位点 41.7 kb 的胫动脉 eQTL 上,Cerberus 的基因水平效应大约是 Borzoi 的 4.5 倍,归因落在 MEF2C 基序上,替代等位基因把它打断。
对 AlphaGenome,表达的总排名是对方更高。AUPRC 0.703 对 0.692,40/48 个组织领先。效应量 Spearman ρ 是 0.415 对 0.379。类别上交叉。编码区 AlphaGenome 的中位 AUPRC 高 0.021,起始位点 3 kb 以内高 0.019。3 到 20 kb Cerberus 高 0.018,20 到 100 kb 高 0.049。3′ UTR 上 Cerberus 中位数高 0.019,895 个变异的聚类自助法没有和零分开。阳性里 88% 是 5′ UTR 或非外显子,3′ UTR 只占 5%,组织级平均就被这一大类拉向 AlphaGenome。剪接和聚腺苷酸化没有比。对方的接口打分器对着注释好的 junction 和切割位点,和最大轮廓偏移不是同一个量,而且指定基因上分别有 22% 和 48% 的变异没有返回值。
一张 A100 80 GB 上,1 Mb 的单次前向 Cerberus 用 135.7 毫秒和 4.1 GB,AlphaGenome 用 681.1 毫秒和 36.1 GB。786 kb 是 101.5 毫秒、3.2 GB。同样 524 kb 时 Cerberus 更慢,68.9 对 45.2 毫秒,因为长程块跑在 32 bp 而不是 128 bp,token 多了四倍。长度再增加,Borzoi 大约按长度的 1.40 次方涨,Cerberus 按 0.98 次方,两条曲线在 1.05 到 1.31 Mb 之间交叉。发布形态也不同。Cerberus 是八个网络,AlphaGenome 把 64 个教师蒸馏成一个学生。1 Mb 上八个网络串行是 1.09 秒,峰值显存仍是 4.1 GB,对上 0.68 秒和 36.1 GB。
块内部的步长半衰期,中位数从第一块的 0.9 kb 增到第七块的 79 kb。深块把头扎在启动子样元件和 CTCF 峰上,第七块相对背景大约 27 倍和 16 倍。近端增强子样 5.4 倍,远端 2.5 倍。GC 含量留不住这个启动子富集。
权重、训练代码和这套配平过的 QTL 基准按 Apache 2.0 放出,栈从 TensorFlow 换到了 PyTorch。一个复制模型一张 A100 十一天,微调新轨道是做得到的事。
变异优先级上,Cerberus 相对 Borzoi 多出来的判别力主要在离基因较远的 eQTL。远端注释稀,排序更可能被模型改动。近端和编码区仍然是 AlphaGenome 更高,它还多了 Hi-C 和剪接 junction,许可证非商业。Cerberus 是显存小约一个数量级、可以自己训的开放模型。
精细定位不是真值。讨论引用的对照里,GTEx 血液中 PIP 高于 0.95、可信集只剩一个变异的集合,三分之一在 TOPMed 的同一基因上没有被收回。这批高置信变异里,估计仍有 21% 到 24% 不是因果的。这篇的曲线是同一个形状:PIP 和显著性越高,模型和 QTL 越一致。分歧里有标签错误。
远端仍差。这套配平阴性上最好大约 0.70 AUPRC,随机是 0.5。Cerberus 从起始位点 3 kb 内的 0.79 掉到 100 kb 外的 0.60。sQTL 和 paQTL 在 100 kb 外不超过随机。indel 没有评。
和 AlphaGenome 只比了表达。对方是蒸馏后的单个学生,只跑正链,而且只能走 API,非商业许可证不允许在接口外运行。Cerberus 对 Borzoi 的覆盖率比较也不是同一套折和变换。状态维度几乎没搜。第一块里将近一半的头只朝一个方向读,这个专门化有没有用,留成了没做的消融。蒸馏也没做,所以八模型的延迟在 1 Mb 上仍高于对方的单网络。