AREXOpen in interactive Feed

AREX Feed Article

HuggingFaceBio 开源 FineDNA:覆盖 Carbon-X 三个训练阶段的训练数据集

November 1, 2026

2026 年 11 月 1 日,Hugging Face 的生物研究组织 在 Hugging Face 上发布了 。按的自述,这是 DNA 语言模型 的训练数据——数据集卡称 Carbon-X 是“教会 Qwen3-14B 读懂 DNA 的模型”——覆盖该模型全部三个训练阶段,以 Apache 2.0 许可开放。数据集卡逐项列出了三个阶段的规模:mid-training(中训)含 23 个配置、共 514.30B(约 5,143 亿)个 token,训练运行实际读取其中 302B,起点为 ;SFT(监督微调)含 203,923 段对话、2.303 亿 token;GRPO 强化学习含 98,433 条 prompt、6,110 万 token。

Carbon-X 于 10 月 21 日上架 Hugging Face,当时的只给到大类配比和超参数;这一次,数据集卡把每个配置的文档数、token 数、训练权重和实际读取遍数全部摊开,三阶段训练配方也放在 。从数据构成到模型成绩,本文引用的都是发布方自己的口径:FineDNA 的用途与规模描述来自数据集卡,Carbon-X 的基准成绩来自模型卡,均未经独立核实。

一条补齐的检查点链:每个阶段从哪个权重出发

数据集卡的阶段表与 GitHub 仓库的流程表(pipeline)对得上:中训用 Megatron-LM,SFT 与 RL 用 TRL(Hugging Face 的后训练库),三阶段的数据字段全部指向 FineDNA。

阶段配置数据规模起点
Mid-trainingmid_*,每种来源一个,共 23 个514.30B token,运行读取 302BQwen/Qwen3-14B
SFTsft_mix 加 8 个域各一个 sft_*203,923 段对话,2.303 亿 token
RLrl_mix98,433 条 prompt,6,110 万 token

两个中间检查点 Carbon-X-Base 和 Carbon-X-SFT 已在 Hub 上架,链条完整:Qwen3-14B 先经中训变成 Base,Base 经 SFT 变成 SFT 检查点,再经 RL 变成最终的 Carbon-X。模型卡还记录了一个更早的步骤——先给 Qwen3-14B 的词表加入 5,515 个 DNA token,冻结主体只训练新词嵌入约 10B token——而 FineDNA 的 mid_* 配置对应的是其后 302B token 的中训这一程,数据集卡没有单独列出热身阶段所用的数据。

sft_mix 和 rl_mix 保存的是训练器实际使用的行序:数据集卡说,前者照原样训练即可不加权重地复现 SFT 混合,后者按 GRPO 训练器混合加载器(种子 0)的输出顺序排列,能“精确复现”这份混合。中训没有单一混合文件,由 Megatron 按权重采样各配置;这 23 个配置合计约 950 GB,卡里给出的加载示例因此用 streaming=True。

配比即配方:55% DNA、20% 英文,权重决定每份配置被读几遍

中训 514.30B token 分四类,数据集卡的配比表同时给出了“独有 token 数”和 Carbon-X 实际读取量:

类别独有 token训练占比实际读取
DNA181.96B55%166.1B
生物文本15.75B15%45.3B
英文310.22B20%60.4B
指令6.36B10%30.2B

数据集卡把这些权重直接称为“配方”:权重决定读取量,所以有的配置被读了好几遍,有的只读了零头。被反复读的是小而精的生物文本——Biostars 问答读了 8.19 遍,bioRxiv 7.17 遍,PubMed 7.03 遍;被略读的是大体积的英文语料——FinePDFs-Edu 只读了 0.12 遍,DCLM 0.22 遍。

DNA 部分的来路在卡里写得很具体:真核生物基因组窗口(上限 100 kbp,按六个物种组分类)来自 ,mRNA、带剪接与启动子上下文的 mRNA 以及原核生物基因组(GTDB 与 IMG/PR)来自 ;原始序列此前已以 的名义放出,FineDNA 提供的是按训练时格式处理过的版本——每条序列裁成 6 bp 的整数倍(分词器按 6-mer,即六碱基单元读取)、包进 <dna>…</dna> 标记,并有一半概率随机加上物种组或基因类型标签。

生物文本走的是另一条流水线:在 FineWeb-Edu、FinePDFs、PubMed Central、bioRxiv 和 Biostars 上跑正则,保留那些含至少 15 个核苷酸字母(A/T/C/G/U/N 中至少 3 种)、不在花括号内、且提到分子生物学关键词的文档,再按最长 DNA 序列是否达到 39 bp(第 90 百分位)拆成 p90 与 rest 两档。卡里说,消融实验中上调 p90 配置的权重改善了 DNA 基准成绩。英文与指令数据的角色则相反:卡里明说英文语料是为了“保住模型的英语”;指令部分用 Nemotron v2/v3 数据、按 Qwen3 聊天模板渲染并保留推理轨迹,因为中训是从一个 instruct(指令微调)模型出发的。模型卡记录了背后的张力:学习率低保得住英语但 DNA 学不动,高了学得会 DNA 又忘英语。

训练数据的边界还有一条来自人的说明:Business Insider 在 10 月 22 日的报道中引述 Hugging Face 高级研究科学家 Lewis Tunstall 的话说,病毒被明确排除在 Carbon-X 的训练数据之外,以避免模型被滥用。

数据集 viewer 里的样本:基因组序列的“中间填空”

打开数据集的在线预览(viewer),首屏样本的 source 字段全部是 gemini_fim,文本以 <|fim_prefix|> 标记开头。几个例子能看出样本的样子:一段 1,115 bp 的拟南芥区域,围着长非编码 RNA 基因 AT4G07665,描述里点名了上游的推定 TATA box 启动子、嵌在 lncRNA 体内的 CpG island 和多个 microRNA 靶点;大肠杆菌 yjiX 基因所在的 691 bp 区域,负链,因含两个 EcoRI 酶切位点而“便于分子克隆”;斑马鱼 pcsk1nl 区域,正链 24,802 bp,基因体位于局部位置 2055~22152。人类 13 号染色体上一对收敛转录的 lncRNA(ENSG00000289302 与 LINC01058)也在其中。

这类文档由 Gemini 撰写:gemini_nonfim 是基因组区域的描述与序列相邻排放,gemini_fim 则按 Qwen 的 fill-in-the-middle(中间填空)格式改造——把文档的一部分挪到结尾,让模型学会补全。这两个配置都不大,分别为 56,866 和 72,343 篇文档,但分别被读了 5.74 遍和 4.53 遍,在配比里各占 0.50%。

八个 SFT 任务域与带金标准答案的 RL prompt

SFT 部分是 203,923 段对话、2.303 亿 token,其中 assistant 轮次占 2,740 万,单条不超过 9,984 token 的训练上下文;模型卡记录 SFT 在 20 个子集上跑了 3 个 epoch(整份数据过三遍)。八个任务域里 token 最多的是变异效应预测,57,254 条、1.162 亿 token,让模型从序列窗口判断单核苷酸变异良性还是致病,并附模板化推理;行数最多的是序列续写,58,727 条,预测一段 4~8 kb 真核上下文之后的 1~32 个核苷酸;DNA 计算域有 44,925 条,练的是 GC 含量、熔解温度、翻译、酶切位点这类能精确算出答案的题。

RL 部分的 98,433 行覆盖 80,406 条不同 prompt,每条都带一个金标准答案或约束集,由代码形式的奖励函数核验。混合按 Carbon-X-SFT 自身 rollout(模型自采样试答)的通过率校准,并剔除了 SFT 阶段见过的 prompt;数据集卡说它设计为跑一个 epoch。有的任务被故意重复:basic_dna 中每类任务的一半 prompt 各带一份第二副本,合计 10,153 份;dna_skills 的每条 prompt 都重复了一次,即 3,260 份副本。理由是这些任务组在 RL 下学得慢。模型卡补上了后半程:异步 GRPO、每个 prompt 采 16 个样本,第一轮就在这 98,433 条上跑一个 epoch,第二轮再用从新 rollout 里重新挑出的 58,249 条 prompt,最终权重约相当于在这份混合上过了 2.2 遍。

Carbon-X 的官方成绩,和它自己承认的短板

Carbon-X 是 14.8B 参数的 decoder-only 模型,40 层、上下文 40,960 token,BF16 精度下装进一块 80 GB GPU。模型卡的评测表给出:五个 DNA 基准(BioReason Coding、BioReason Non-SNV、GenomeQA、NextBase、FrontierVEP,前两者与 GenomeQA 取自文献,后两个为自建)在关闭思考模式下平均得 66.7%,比起点 Qwen3-14B 高 27 个百分点,距 GPT-6.1 Sol 的 67.5% 差 0.8 分;按 H200 每小时 5 美元的吞吐折算,单题推理成本约为 GPT-6.1 Sol 的 1/1,800,分析 ClinVar 里 240 万个意义不确定的变异约花 300 美元,而在其评估的前沿模型上要 3.2 万~400 万美元。

这些分数是发布方自己测的——Marktechpost 在 10 月 25 日的报道中明确标注了这一点,并转述发布博客的一个细节:直接对 Qwen3-14B 做 RL,在 FrontierVEP 上从未跑赢 50% 的随机基线。模型卡自己也列了短板:模型未做临床验证,不能用于医疗决策;GenomeQA 里剪接位点(29.8%)和组蛋白标记(34.6%)两类题仍然弱;长 DNA 序列的生成质量会下降,“它读和解释既有序列,不是训练来设计新序列的”。作为数据侧的对应保障,模型卡称全部训练数据对这五个基准做了三重去污染:整段 DNA 重叠、文本 n-gram 重叠和序列同源搜索。Tunstall 在上述 Business Insider 报道中给出的出发点是:让研究者能在自己的机器上跑模型、不必把敏感序列交给外部公司,“我们想给开放研究社区提供不至于让他们完全依赖某一家外部供应商的工具”。

Apache 2.0 之外,上游数据各有各的条款

FineDNA 本体按 Apache 2.0 发布,但数据集卡的许可一节同时提醒:中训配置由第三方数据构成——GENERator、OpenGenome2、FineWeb-Edu、DCLM、FinePDFs-Edu、PubMed Central、bioRxiv、Biostars 和 Nemotron——这些来源各自保留原有许可与条款,使用前需检查原始数据集。按这一说明,Apache 2.0 管住的是 HuggingFaceBio 自己的整理与格式化,上游来源仍按各自条款另算。

数据集卡的引用信息把这项工作归于 Hugging Face、中关村学院(Zhongguancun Academy)与意大利 Telethon 遗传学与医学研究所(TIGEM)/那不勒斯“费德里科二世”大学(University of Naples “Federico II”)的联合团队,列出 Loubna Ben Allal、Lewis Tunstall、Diego di Bernardo 等 9 位作者。卡里给关心复现的人留的路径很直接:用 Carbon-X 分词器处理 text 列、按表中的权重训练,“你得到的就是与 Carbon-X 相同的数据食谱(data diet)”。这份食谱能否复现模型卡上那个 66.7%,数据集卡没有回答——配方就在 GitHub 上,检验它的方式,是照着跑一遍。

参考链接