想象一座没有目录、没有注释的“生命图书馆”。人类、小鼠、细菌的基因组像一册册天书,全部用 A、T、C、G 四个字母密密写就。几万年来,人类看得见这些书,却读不懂一句话。Nucleotide Transformer 就像一位天赋异禀的学徒:他先通读海量天书,用“完形填空”式的训练摸清核酸语言的语法;再带着这门语言能力,去标注基因开关(启动子)、解读致病突变。这篇教程将带你理解:为什么 DNA 可以看作一门语言,Transformer 如何切词、阅读、预训练,模型规模如何影响表现,以及读懂天书对生命科学意味着什么。

岗位关联

掌握基因组语言模型,意味着你能把大语言模型的成熟方法论复制到生物信息学,成为 AI for Science 时代抢手的复合型人才。

目录
  1. 可视化演示
  2. 模型背景:基因组的语言本质
  3. 序列分词:天书如何切词
  4. 架构原理:Transformer 大脑
  5. 预训练策略:完形填空式学习
  6. 下游任务:学成之后的实战
  7. 规模效应:读书越多越聪明吗
  8. 科学价值:读懂天书的价值
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

模型背景:基因组的语言本质

想象一座没有目录、没有注释的“生命图书馆”,书架上摆着人类、小鼠、斑马鱼、大肠杆菌的基因组,每一本都像用 A、T、C、G 四个字母密密麻麻写成的天书。几万年来,人类能“看到”这些书,却读不懂一句话。

计算生物学家观察发现,DNA 序列与自然语言有着惊人的同构性:基因像句子,调控区域像语法标点,剪接位点像词语搭配。于是产生了一个大胆的想法——既然大语言模型能从小说里学会语言,能不能让它从天书里学会“核酸语言”?这个想法催生了 Nucleotide Transformer。

Nucleotide Transformer 将 Transformer 架构直接应用于 DNA 序列,在海量物种基因组上预训练,学习碱基的上下文表示。预训练的目标是纯粹的语言任务:根据已知碱基预测未知碱基,不依赖任何人工标注,仅从序列本身提取规律。

换句话说,学徒做的第一件事不是背答案,而是通读天书、统计“这个词后面通常跟什么”。预训练阶段积累的语感,正是后面一切下游任务的根基。

P(S)=∏i=1LP(si∣s1,s2,…,si−1)P(S) = \prod_{i=1}^{L} P(s_i \mid s_1, s_2, \dots, s_{i-1})
整条序列的概率等于每个位置上“读完上文猜下文”的条件概率连乘,这就是语言模型的基本目标函数。
  1. 连乘遍历∏ 表示把每个位置的预测概率依次相乘,像把每个字的出现概率串成一条链。
    ∏i=1L\prod_{i=1}^{L}
  2. 序列与碱基S 是整条 DNA 序列,sᵢ 是第 i 个位置上的碱基(A/T/C/G)。
    S=s1s2⋯sLS = s_1 s_2 \cdots s_L
  3. 条件概率已知前面所有碱基后,第 i 位出现某碱基的概率,体现“读完上文猜下文”的阅读逻辑。
    P(si∣s1,…,si−1)P(s_i \mid s_1, \dots, s_{i-1})

序列分词:天书如何切词

认识四个字母不等于会读句子。学外语的第一步是切分单词,而天书里没有空格——连续一串 “ATGCGTAA“ 到底从哪里断?基因组语言模型面临的第一个问题就是”分词”。

最经典的方案是 k-mer:从序列起点开始,每次滑动一个碱基,切出长度为 k 的连续片段。比如 3-mer 分词把 ACGTAC 切成 ACG、CGT、GTA、TAC 四个词,词与词之间相互重叠,保证每个碱基都能被“读到”。

词表大小由 k 决定:k=3 时最多 4³=64 个词元,k=6 时最多 4096 个。k 太小,词元过于碎片化,无法捕获长程信号;k 太大,词表爆炸且每个词元在语料中出现次数急剧减少。Nucleotide Transformer 采用较大的 k 值并控制词表规模,让每个词元携带更长上下文;也有研究用 BPE/SentencePiece 从数据中自动学习分词,思路与自然语言处理完全一致。

这就像阅读天书时先用尺子量出一个个“字块”。切词质量决定了模型看到的词汇量,是整座语言大厦的地基。

Vk={sjsj+1⋯sj+k−1∣0≤j≤L−k}\mathcal{V}_k = \left\{ s_j s_{j+1} \cdots s_{j+k-1} \mid 0 \le j \le L-k \right\}
k-mer 词表是所有长度为 k 的连续子串的集合,滑动一个碱基就产生一个新词元。
  1. 词表集合V_k 是所有可能切出的长度为 k 的词元构成的集合,相当于天书的“常用字表”。
    Vk\mathcal{V}_k
  2. 连续子串从第 j 个碱基开始、连续取 k 个碱基组成一个词元。
    sjsj+1⋯sj+k−1s_j s_{j+1} \cdots s_{j+k-1}
  3. 滑动范围j 从 0 扫到 L−k,保证子串不越界,共产生 L−k+1 个词元。
    0≤j≤L−k0 \le j \le L-k

架构原理:Transformer 大脑

词切好了,接下来要让模型“读懂”词与词的关系。优秀的读者不会孤立地记单词,而是边读边联系上下文——看到“启动子”会自然联想到下游的“基因开关”。

这个“上下文联想”能力来自自注意力机制。每个 k-mer 词元先被映射为高维向量(嵌入表示),相当于给每个字块发一张“含义名片”;然后模型计算任意两个词元之间的相关程度,按相关度加权融合信息,得到包含全局语境的表示。

多头注意力让每个头关注不同模式:有的关注局部碱基配对,有的关注远处调控信号。多层堆叠则逐层提取从低层“拼写”到高层“语义”的特征——这正是 Transformer 与 CNN、LSTM 等旧架构本质不同的地方:它不预设局部窗口,而是让整条序列任意位置直接对话。

回到图书馆的比喻:每个“字块”都向整页书发出询问“谁与我相关?”,再按回答的强烈程度吸收信息,最终每个字块都带着整页书的语境重新出场。

Attention(Q,K,V)=softmax(QK⊤dk)V\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^{\top}}{\sqrt{d_k}}\right)V
自注意力让每个词元根据与其他词元的相关度加权汇聚信息,是模型“边读边联想”的数学内核。
  1. 查询与键Q 代表“我想找什么”,K 代表“我是什么”,二者做点积得到相似度分数。
    QK⊤QK^{\top}
  2. 缩放除以 d_k 的平方根,防止点积数值过大导致梯度消失,像把音量调回合适范围。
    QK⊤dk\frac{QK^{\top}}{\sqrt{d_k}}
  3. 归一化与加权softmax 把分数变成权重,再对 V(携带的信息)加权求和,得到融合上下文的新表示。
    softmax(⋅)V\text{softmax}(\cdot)V

预训练策略:完形填空式学习

私塾先生教古文时有个经典方法:用墨涂掉句中一个字,让学生根据上下文补全。这种“完形填空”训练出的语感,远胜死记硬背。Nucleotide Transformer 采用的正是这种思路——掩码语言建模(MLM)。

预训练时随机遮盖约 15% 的碱基或词元,让模型同时利用左右两侧上下文去预测被遮住的位置。与 GPT 这类“只看左边”的单向模型不同,MLM 是双向的:预测一个碱基时,它既看前面的词,也看后面的词,仿佛把整句话摊开在桌面上琢磨。

训练语料横跨数千个物种,从人类、小鼠到细菌病毒。多物种语料让模型既能学到通用的核酸语法,又能捕捉进化上保守的功能位点——这些位点在物种间保持一致,往往是重要的调控元素。模型在不经意间把进化史“读”进了参数里。

正如学徒在无数次涂墨补字中摸清天书语法,模型在对海量基因组反复“补字”的过程中,把进化的痕迹、调控的逻辑都融进了参数里。

LMLM=−1∣M∣∑m∈Mlog⁡Pθ(sm∣s∖M)\mathcal{L}_{\text{MLM}} = -\frac{1}{|\mathcal{M}|} \sum_{m\in\mathcal{M}} \log P_\theta(s_m \mid s_{\setminus\mathcal{M}})
掩码语言建模的损失函数:对每个被遮盖位置,要求模型给真实碱基分配尽量高的概率。
  1. 掩码集合M 是一条序列中被随机遮盖的位置集合,涂墨的位置不止一处。
    M\mathcal{M}
  2. 双向条件概率模型基于所有未遮盖碱基,预测第 m 位真实碱基的概率,左右上下文都能参考。
    Pθ(sm∣s∖M)P_\theta(s_m \mid s_{\setminus\mathcal{M}})
  3. 负对数平均对每个掩码位置取 −log 再平均——预测越准,损失越小,完美猜中时损失为 0。
    −1∣M∣∑m∈M-\frac{1}{|\mathcal{M}|} \sum_{m\in\mathcal{M}}

下游任务:学成之后的实战

学徒读完天书,终于要接活了。老板让他在基因组的浩渺文海中标注:哪里是“命令句”(基因),哪里是“开关”(启动子),哪里贴了“封条”(表观修饰)。

第一个任务:启动子预测。启动子是基因表达的控制开关,决定基因在何时何地开启。传统方法依赖人工设计的序列特征(如 TATA 框),而 Nucleotide Transformer 直接用学到的表示做分类,在跨物种泛化上显著提升——因为它读过的物种够多,见过各种“方言”的启动子。

第二个任务:表观遗传修饰预测。组蛋白修饰、DNA 甲基化等标记调控基因活性,但测序实验昂贵费力。用模型对全基因组扫描,几小时就能输出“电子化”修饰图谱。具体做法是微调:取预训练权重,在任务数据上继续训练少量轮次。预训练学通用语法,微调学任务方言,二者缺一不可。

这就好比学徒不必重新学语言,只需熟悉几个“职业术语”就能上岗。预训练沉淀的是通用理解力,微调则是把理解力变成生产工具的最后一公里。

y^=softmax(Wf Pool(H)+bf)\hat{y} = \text{softmax}\left(W_f \, \mathrm{Pool}(\mathbf{H}) + b_f\right)
微调时给模型加一个线性分类头,把整条序列的表示向量映射为任务标签的概率分布。
  1. 汇集表示H 是模型输出的每个词元表示矩阵,Pool 把整条序列汇聚成一个向量(如取平均)。
    Pool(H)\mathrm{Pool}(\mathbf{H})
  2. 线性变换W_f 与 b_f 是微调阶段新加的参数,把表示映射到“启动子/非启动子”等标签空间。
    Wf Pool(H)+bfW_f \, \mathrm{Pool}(\mathbf{H}) + b_f
  3. 概率输出softmax 把得分归一化成各类别概率,取最大者为最终预测标签。
    y^\hat{y}

规模效应:读书越多越聪明吗

藏书读得越多,语感越精进;但读到十万本以后,进步是否还像开始时那样明显?Nucleotide Transformer 团队用严肃的实验回答了这个“规模的诱惑”。

他们训练了从 5 亿到 25 亿参数的一系列模型,在启动子预测、表观遗传任务上统一评测。结果显示:模型规模增大,下游性能持续提升,这与大语言模型中的 scaling law 一脉相承。更大的模型记住了更多“语料细节”,对稀有调控模式的建模能力更强。

但规模并非免费的午餐。Scaling law 描述的是理想条件下的平均趋势:损失随参数量按幂律下降,却存在一个理论极限,同时训练成本线性上升。实际选型时,小模型在小数据任务上往往更划算,盲目堆参数可能既费电又过拟合。

就像图书馆扩建藏书:从 1 万册到 10 万册进步显著,从 100 万到 200 万就微妙得多。聪明的做法是在“书量”与“读书时间”之间找到平衡点。

L(N)=L∞+(N0N)α\mathcal{L}(N) = \mathcal{L}_{\infty} + \left(\frac{N_0}{N}\right)^{\alpha}
模型损失随参数量 N 增大按幂律下降,并逐渐逼近数据本身的噪声下限。
  1. 总损失L(N) 是参数量为 N 时模型的期望损失,越小代表预测越准。
    L(N)\mathcal{L}(N)
  2. 极限损失L∞ 是数据与任务本身的噪声下限,模型再大也越不过这条“地板”。
    L∞\mathcal{L}_{\infty}
  3. 幂律项(N₀/N)^α 描述规模收益,α 越大收益来得越早,但此消彼长的成本永远不会消失。
    (N0N)α\left(\frac{N_0}{N}\right)^{\alpha}

科学价值:读懂天书的价值

真正懂一门语言,不是能背诵词典,而是能理解字里行间的意思、预测没见过的句子。Nucleotide Transformer 带给计算生物学的,正是这种“理解”而不仅是“检索”。

在计算生物学中,它可自动注释基因组功能元件、发现新基因、筛选候选调控区域,把过去需要数年湿实验的排查缩短为几天的计算。在医学中,它能解读非编码区的变异:许多致病突变发生在不编码蛋白“暗物质”区,传统工具束手无策,而模型可以量化突变对序列“语义”的扰动。

更深层的意义是研究范式变革:从“专家手工设计特征”转向“自监督预训练 + 下游微调”,让数据自己说话。这也是 AI for Science 的典型路径——基础模型成为科学发现的通用底座,一个模型服务成千上万个下游问题。

天书不再是天书。当科学家能像读小说一样浏览基因组、像校对稿件一样评估突变,生命科学就真正踏入了“读得懂”的时代——而 Nucleotide Transformer,正是翻开天书第一页的那只手。

Δh=∥hmut−hwt∥2\Delta \mathbf{h} = \left\| \mathbf{h}_{\text{mut}} - \mathbf{h}_{\text{wt}} \right\|_2
将野生型与突变型序列分别送入模型,比较表示向量的距离,可度量突变对序列语义的扰动。
  1. 两条序列的表示h_wt 是野生型序列的模型输出向量,h_mut 是突变型序列的输出向量。
    hwt,hmut\mathbf{h}_{\text{wt}}, \mathbf{h}_{\text{mut}}
  2. 向量差二者相减,得到突变引起的表示变化。
    hmut−hwt\mathbf{h}_{\text{mut}} - \mathbf{h}_{\text{wt}}
  3. L2 范数求向量长度衡量扰动大小,扰动越大说明该位点越可能具有功能意义。
    ∥⋅∥2\|\cdot\|_2

AI 应用场景

场景一:启动子预测加速基因挖掘

阶段:下游微调与推理

解决的问题:传统启动子注释依赖数据库比对与保守序列特征,遇到新测序物种或远缘物种时错误率高。Nucleotide Transformer 的预训练表示已具备跨物种的通用基因信息,微调后能精准区分启动子与非启动子区域。

具体案例:某植物基因组课题组拿到一份新测序的作物基因组。他们用预训练好的 Nucleotide Transformer 对全基因组做滑动扫描,几小时便标注出数万个候选启动子,再结合实验验证热点区域,比纯实验手段节省数月时间。

场景二:非编码区变异效应解读

阶段:表示学习与下游分类/回归

解决的问题:罕见病诊断中大量突变位于非编码区,传统工具无法判断其致病性。用模型比较野生型与突变型的表示向量距离,可量化突变的“语义扰动”。

具体案例:临床基因组中心对一位疑似遗传病患者做全基因组测序,发现一个非编码区突变。将突变位点前后序列分别输入模型,该突变的 Δh 显著高于同区域常见多态,提示其可能影响调控功能,后续功能实验证实了这一点。

Python 演示

python78 行
"""迷你基因组语言模型:用上下文统计做掩码预测""" from collections import defaultdict DNA_ALPHABET = "ACGT" CORPUS = [    "ACGTGATCGTACGTAGGCTAGCTAGCATCG",    "ACGTGATCGTACGGAGGCTAGCTAACATCG",    "ACGTGATCGTACGAAGGCTAGCTAGCATCG",    "ACGTGATCGTAAGTTGGCTAGCTAGCATCG",    "ACGTGATCGTAACCCGGCTAGCTAGCATCG",    "CCGTGATCGTACGTAGGCTAGCTAGCAGTG",    "ACGTGATCGTCAGTAGGCTAGCTAGCATCG",]  class SimpleDNAMLM:    """一个用 k-mer 上下文统计实现的迷你 DNA 掩码语言模型"""     def __init__(self, k=3):        self.k = k        self.corpus = []        self.context_counts = defaultdict(lambda: defaultdict(int))     def train(self, sequences):        """统计每个 k-mer 上下文后出现各碱基的次数"""        self.corpus = list(sequences)        for seq in self.corpus:            for i in range(len(seq) - self.k):                ctx = seq[i:i + self.k]                nxt = seq[i + self.k]                self.context_counts[ctx][nxt] += 1     def mask_predict(self, seq, pos):        """结合左右上下文,输出掩码位置最可能的碱基与置信度"""        left = seq[max(0, pos - self.k):pos]        right = seq[pos + 1:pos + 1 + self.k]        scores = {}        for b in DNA_ALPHABET:            frag = left + b + right            exact = sum(1 for doc in self.corpus if frag in doc)            fallback = self.context_counts[left].get(b, 0)            scores[b] = exact * 3 + fallback        total = sum(scores.values())        if total == 0:            return "?", 0.0        best = max(DNA_ALPHABET, key=lambda b: scores[b])        return best, scores[best] / total     def mask_accuracy(self, sequences, mask_every=5):        """在测试序列随机掩码若干位置,统计预测准确率"""        import random        random.seed(42)        correct = 0        total = 0        for seq in sequences:            positions = list(range(self.k, len(seq) - self.k))            random.shuffle(positions)            for pos in positions[:max(1, len(positions) // mask_every)]:                best, _ = self.mask_predict(seq, pos)                correct += (best == seq[pos])                total += 1        return correct / total if total else 0.0  if __name__ == "__main__":    train_seqs = CORPUS[:5]    test_seqs = CORPUS[5:]    model = SimpleDNAMLM(k=3)    model.train(train_seqs)    print("训练完成,上下文词数:", len(model.context_counts))    seq = test_seqs[0]    pos = 8    best, prob = model.mask_predict(seq, pos)    print("真实碱基:", seq[pos])    print("模型预测:", best, "置信度:", round(prob, 3))    print("测试集掩码预测准确率:", round(model.mask_accuracy(test_seqs), 3))
目的:用纯 Python 实现一个最小化的 DNA 掩码语言模型,演示“切词—统计上下文—预测掩码碱基”的核心流程。
  1. self.context_counts = defaultdict(lambda: defaultdict(int))构建“上下文 → 下一个碱基计数”的二级字典,是模型的全部“语感”。
  2. ctx = seq[i:i + self.k]取出当前位置的 k-mer 作为上下文词元,对应文章中的滑动切词。
  3. self.context_counts[ctx][nxt] += 1统计该上下文后出现各碱基的次数,完成“读书”。
  4. left = seq[max(0, pos - self.k):pos]取掩码位置左侧的 k 个碱基作为左上下文。
  5. frag = left + b + right把候选碱基 b 嵌入左右上下文,形成完整片段。
  6. exact = sum(1 for doc in self.corpus if frag in doc)在语料中搜索该片段出现次数,体现双向上下文证据。
  7. scores[b] = exact * 3 + fallback双向证据加权加上单向统计兜底,构成最终打分。
  8. best = max(DNA_ALPHABET, key=lambda b: scores[b])选取得分最高的碱基作为预测结果。
  9. correct += (best == seq[pos])与真实碱基比较,统计掩码预测准确率。

常见误区

误区初学者以为 Nucleotide Transformer 跟 BLAST 一样,用来在数据库里找相似序列,只是跑得更快。

正解BLAST 做的是“查字典式”比对,模型做的是“理解语义”。它不输出比对结果,而是学习序列的上下文表示,再用于分类、预测等任务。好比查字典能告诉你词义,但要读懂句子,需要理解语法和语境。

为何常见:因为两者都在处理 DNA 序列,且都能“找相似”,初学者容易把新工具装进旧认知的框里。

误区初学者认为 k-mer 的 k 越大,携带的信息越多,模型效果一定更好。

正解k 增大会导致词表爆炸(4^k),每个词元在语料中的出现次数急剧减少,统计变得稀疏,模型反而难以学到可靠规律。实际中要平衡信息量与数据密度,Nucleotide Transformer 选择适中的 k 并控制词表规模。

为何常见:因为直觉上“更长的片段 = 更多信息”,却忽略了数据稀疏性这一关键约束。

误区初学者以为加载预训练权重,喂一段序列就能直接输出“启动子/非启动子”标签。

正解预训练只学语言规律,不知道任务标签。必须在下游数据上微调、添加分类头,模型才知道“启动子”长什么样。这就像一个语言学天才,不培训岗位术语也做不了法律翻译。

为何常见:因为业界宣传常强调大模型“开箱即用”,掩盖了任务适配这一必要环节。

误区初学者以为只要把参数量翻倍,所有指标自动上涨,资源管够就往上冲。

正解Scaling law 说的是理想条件下的平均趋势,实际收益递减,且伴随显存、训练时间、过拟合等问题。小模型在小数据任务上往往更实用。读万卷书是好事,但为了读完而熬夜伤身就不值了。

为何常见:因为论文里大模型指标亮眼,读者容易被“幸存者偏差”误导,忽略了成本与边际效益。

面试题

Q1. Nucleotide Transformer 处理的核心对象是什么?

单选题 · easy

  • A.氨基酸序列
  • B.核苷酸序列← 正确答案
  • C.蛋白三维结构
  • D.基因表达矩阵

答案:B。Nucleotide Transformer 的输入是 DNA/RNA 的核苷酸序列(A、T、C、G),而不是氨基酸序列或蛋白质结构。氨基酸是蛋白质的组成单元,基因表达矩阵则是转录组学数据,均非该模型的直接处理对象。

Q2. 采用 k-mer 分词时,k=3 的 DNA 序列最多有多少种词元?

单选题 · easy

  • A.16
  • B.32
  • C.64← 正确答案
  • D.128

答案:C。DNA 有 4 种碱基,长度为 k 的 k-mer 理论上限是 4^k 种。k=3 时 4³=64 种。这个计算对应正文中“词表大小由 k 决定”的知识点,k=6 时则达到 4096 种。

Q3. 掩码语言建模(MLM)的核心思想是什么?

单选题 · mid

  • A.只看左侧碱基预测下一个
  • B.遮盖后用左右上下文预测← 正确答案
  • C.多重比对后统计保守位点
  • D.用进化树推断祖先序列

答案:B。MLM 随机遮盖部分碱基,同时利用左右两侧上下文预测被遮住的位置,是双向模型。只看左侧是 GPT 的自回归方式;多重比对与进化树是传统比较基因组学方法,与 MLM 无关。

Q4. 自注意力机制中 Q、K、V 分别代表什么?

单选题 · mid

  • A.查询、键、信息值← 正确答案
  • B.质量、关键点、向量
  • C.问题、知识、价值
  • D.队列、核函数、变量

答案:A。Q(Query)表示“我想找什么”,K(Key)表示“我是什么”,V(Value)表示“我携带的信息”。三者点积计算相似度后加权求和,得到上下文融合表示。其他选项只是字面近似,没有对应数学语义。

Q5. Nucleotide Transformer 预训练采用的主要任务是什么?

单选题 · mid

  • A.序列比对打分
  • B.蛋白质结构预测
  • C.掩码语言建模← 正确答案
  • D.基因聚类分析

答案:C。Nucleotide Transformer 使用类似 BERT 的掩码语言建模,随机遮盖碱基后让模型预测,从而学习核酸序列的上下文表示。序列比对是 BLAST 类工具的任务,蛋白质结构预测与基因聚类均不属于其预训练目标。

Q6. 关于启动子预测,Nucleotide Transformer 最大的优势是什么?

单选题 · mid

  • A.无需任何序列信息
  • B.预训练表示可迁移← 正确答案
  • C.直接人工合成启动子
  • D.完全替代湿实验验证

答案:B。模型在多物种基因组上预训练,学会通用核酸语法,微调后能迁移到新物种的启动子预测,泛化性强。它仍需输入序列,也不能合成启动子或替代湿实验,只是大幅缩小实验排查范围。

Q7. 根据 scaling law,模型损失随参数量增大的变化趋势是?

单选题 · hard

  • A.线性下降且无上限
  • B.幂律下降逼近极限← 正确答案
  • C.先上升再下降趋势
  • D.与参数量完全无关

答案:B。Scaling law 表明损失随参数量 N 按 (N₀/N)^α 的幂律形式下降,并逼近数据噪声下限 L∞。它不是无限线性下降,也不会先升后降,更不是与规模无关。

Q8. 下列哪些属于 Nucleotide Transformer 的下游任务?

多选题 · mid

  • A.预测启动子区域← 正确答案
  • B.表观遗传修饰预测← 正确答案
  • C.蛋白质折叠模拟
  • D.生成药物分子结构

答案:AB。启动子预测和表观遗传修饰预测是论文中验证过的典型下游任务。蛋白质折叠模拟是 AlphaFold 的领域,药物分子生成属于化学信息学,均不是该模型的下游任务。

Q9. 关于 Nucleotide Transformer 的预训练数据,下列说法正确的有?

多选题 · hard

  • A.包含多种物种的基因组序列← 正确答案
  • B.只需人类基因组的单个样本
  • C.数据规模达到数十亿碱基级← 正确答案
  • D.数据必须包含人工功能标注

答案:AC。模型在数千个物种的基因组上预训练,数据规模达数十亿碱基,无需人工标注——这正是自监督学习的优势。只靠单个人类样本无法学到跨物种的保守规律,人工标注也不是预训练的必要条件。

Q10. 相比传统序列特征方法,Nucleotide Transformer 的优势体现在哪些方面?

多选题 · hard

  • A.自动学习上下文语义表示← 正确答案
  • B.无需人工设计序列特征← 正确答案
  • C.预训练表示可迁移多任务← 正确答案
  • D.完全不依赖任何实验数据

答案:ABC。模型自动学习语义表示,免去人工设计特征,且一个预训练模型可迁移到多个下游任务。但“完全不依赖实验数据”错误——下游微调仍需要任务标签或验证数据,模型无法凭空学会“启动子”的概念。