Hugging Face 等机构的 14.8B DNA 语言模型,10 月 24 日已经收录:在普通聊天里贴入 DNA 序列,它用英文判断突变是良性还是致病、序列里有什么调控区、属于哪类生物,也能续写碱基。这次重新收录,是因为当时卡里写着“不支持 llama.cpp / GGUF”,现在官方出了 GGUF 版,可以在本地用 llama.cpp 跑。
上升分 75 · 点赞 285 · 下载量 3719
理由
- 和 10 月 24 日相比的新内容:官方仓库 HuggingFaceBio/Carbon-X-GGUF 公开,提供 BF16、Q8_0、Q6_K、Q5_K_M、Q4_K_M 五档;llama.cpp 从 b11742 起(PR #30825)支持 Carbon 的混合 DNA 分词器。10 月 29 日主模型卡也把“llama.cpp 和其他 GGUF 运行时不支持”那句换成了指向 GGUF 仓库的链接。
- 官方称 llama.cpp 版分词器和 Python 原版完全一致:在 1,000 条基准提示(1.13M token)和 36 个 DNA 边界情况上 token id、解码文本和聊天模板渲染都相同。所有 K 量化里,存 DNA token 的嵌入层和输出层都保留 Q8_0。
- 官方用 llama.cpp 服务在两项 DNA 基准上测了每个量化档:FrontierVEP 原版(vLLM)70.4,BF16 69.6、Q8_0 69.1、Q4_K_M 67.8;NextBase 原版 39.4,Q8_0 39.7、Q4_K_M 38.6。官方说 BF16 到 Q5_K_M 都在原版约一个标准误差以内,Q4_K_M 两项都最低。
用法
- 下载或更新 llama.cpp 到 b11742 以上(llama.app 的桌面版或 GitHub releases 的预编译包),运行 llama serve -hf HuggingFaceBio/Carbon-X-GGUF:Q8_0,会同时打开网页聊天界面和 OpenAI 兼容接口;终端里用 llama cli -hf HuggingFaceBio/Carbon-X-GGUF:Q8_0。
- GGUF 里已带聊天模板和默认采样参数,不用额外设置;为了和官方训练评测一致,加 --chat-template-kwargs '{"enable_thinking": false}' 关掉思考。
- 文件大小:Q8_0 15.8 GB(官方推荐,称与 BF16 分数相当)、Q6_K 12.6 GB、Q5_K_M 11.1 GB、Q4_K_M 9.6 GB(内存紧张时用)、BF16 29.7 GB。提问时把参考序列和变异序列放在同一条消息里,附上基因、链方向、坐标等已知信息;连续 6 个以上 A/C/G/T 会自动当作 DNA 处理。
风险
- 旧版 llama.cpp(包括 v0.7.0)能加载这些文件,但会把 DNA 切错 token,不报错;一定要确认版本在 b11742 以上。
- 量化版只测了五项基准中的两项(FrontierVEP、NextBase),每项单次采样,标准误差约 1.5 和 1 分;GenomeQA、BioReason 在量化后的表现官方没给。
- 未经临床验证,官方明确不能用于医疗决策;剪接位点、组蛋白标记题本来就弱,生成长 DNA 序列质量会下降。模型输出的 DNA 带 <dna>…</dna> 标签,llama.cpp 会原样保留,需要纯序列时自己去掉。
编辑:本地跑的好处是敏感、未发表的序列不用传给第三方服务,这正是官方在局限一节里提醒的风险。