Carbon 刷屏的背后,
站着一个中国人
和他聊了聊 6-mer 之争、DNA 模型的真实用途、Hugging Face 为何下场做 Science,以及他更大的下一步。
前段时间,只要你刷过社交媒体,大概率逃不掉一个名字——Carbon。
这是 Hugging Face 开源的 DNA 基础模型,提供了 500M、3B、8B 三个尺寸,代码、数据管线、权重、评测全部开放,还配了一个可以上手把玩的交互式 demo。值得注意的是,在 Carbon 的核心开发者中,有一个中国人的名字。
他就是李秋熠,GENERator 系列基因组基础模型的作者。我在 RedNote 上刷到他发的帖子,做了一点功课之后发现,Carbon 在很大程度上继承了他之前的工作。于是我私信联系,约了这场采访。聊下来才发现,话题远比 Carbon 这个模型本身更大。
I.一个"不务正业"的数学博士
李秋熠的本硕专业都是纯数学,博士阶转向应用数学,做的是基因进化、遗传学方向的模型——最传统的那种遗传算法,研究古代基因如何一代代传下去。"那时候还没跟 DNA、AI 扯上关系,"他说,"但这段时间让我接触到了最初的 context,阴差阳错地为后续的一系列工作埋下了基础。"
2022 年博士毕业,他加入达摩院,正式开始 DNA 序列建模的探索。"ChatGPT 出来之前,各家大厂都在押注 AI 的未来方向,而 AI for Science,似乎是共同的答案。"
接下来的故事,是这一代 AI for Science 研究者共同的底色。ChatGPT 横空出世,算力成了稀缺资源,而 AI for Science 这类周期长、落地难的方向,一下子就坐了冷板凳。
我们就开始过苦日子了。
他说得轻描淡写。去年九月,他加入北京中关村学院,继续在这个方向做研究。
II.Hugging Face 是怎么找上他的
我其实很好奇,Hugging Face 要做 DNA 模型,为什么找他,而不是 Evo2 背后的 Arc Institute,或者 AlphaGenome 背后的 Google?
答案朴素得有点励志。"我显然不可能是他们的第一选择。他们在找到我之前,几乎试过了市面上所有主流模型,最终被 GENERator 惊艳到了。"于是 Hugging Face 在他 GitHub 上留言,问有没有兴趣合作。后面拉了个会,一拍即合,事就这么成了。
Carbon 在很大程度上继承了 GENERator 和 GENERator-v2 的技术体系,这一点他毫不回避,反而恰恰是他最看重的部分。"哪怕这模型再好,从我一个人嘴里说出来,声音终究太小。"两年前的 GENERator 其实就很强,但收到的却是铺天盖地的质疑——同行也好,一知半解的网友也好,都说你这东西不行,人家那么做才对,你是错的。
说到底,不是模型不够强,而是我不够强。
所以当 Hugging Face 真金白银地 all in 他的想法,升级版的 Carbon 瞬间在外网引爆了关注。
因为它不再只是一个无名小卒的 idea 了。
至于 Hugging Face 为什么要做 AI for Science,他的判断很冷静:背后的逻辑是算力经济学。Hugging Face 的定位是大模型开源社区,而不是传统意义上的科技大厂,它的目标不是像 OpenAI、Google 那样砸几十万张 GPU 去拼一个世界第一的 LLM,它大概率也拼不起。其实不只是对 Hugging Face——全世界的大模型竞赛已经进入淘汰阶段,但已经买下的 GPU 并不会随之消失,要么像 xAI 那样租出去,要么就换一个更经济的赛道。"如果换赛道,AI for Science 几乎是唯一的答案。"
Hugging Face 在 Carbon 项目中投入的 1000 张 H100 算力,放在通用大模型领域可能连个水花都溅不起来,却让 Carbon 成了全世界算力最充裕的 DNA 大模型项目组之一。
III.六个碱基,和两个骰子
聊到技术,绕不开一个争议点:tokenization。
GENERator 和 Carbon 都用了 6-mer 分词——把连续六个碱基打包成一个 token,而 Evo2 那一派坚持单核苷酸分词,把每个碱基当作单独的 token。这几年,质疑声大多围着这一点打转。
"但凡我有丝毫的怀疑,都不会顶着这些质疑坚持这么久。"在李秋熠看来,这些质疑大多来源于,太多人习惯用字面意义上的"分词"来看待 6-mer tokenization,但 6-mer token 本身,不必具有特定的 DNA"单词"那样的生物学含义。
他用掷骰子打了个比方:假设你扔两次骰子,第一次一点,第二次六点,可以记成"(1,6)"这样一对数字;但你也可以换种方式——定义 6×6 共 36 种状态,每扔一次就对应到其中一种,给它一个单独的编号。6-mer 就是这个逻辑:把一对(其实是连续六个)压缩成一个独立的状态 ID,本质上是纯计算意义上的打包,跟"DNA 单词"没关系。
6-mer 分词真正的问题,是损失了单核酸的精度。
模型每一步输出 4096 个概率,每个代表一种 6-mer 的组合,但在实际任务中,我们经常需要某个特定位置上的单碱基概率。"这就是我们的 FNS 算法所解决的问题。"这也是 GENERator-v2 相对 v1 的一个重要创新——如何从 6-mer 里恢复出单核苷酸的精度。
方法简单到他说"接受过本科教育就该会":我想知道 6-mer 中第一个位置是 A 的概率,只需要把这 4096 个 token 里、所有以 A 开头的 token 概率加在一起就行了。实测下来,模型保住了 6-mer 的速度,又恢复了单碱基精度。
Carbon 比 Evo2 快的那两三百倍,很大程度上就是从这儿来的。
在他看来,粗粒度的分词器与单核酸精度之间的矛盾并非不可调和,"只需要多想一步而已。"至于单核苷酸分词,"那只是最简单的方法,不代表它是最好的方法。"
IV.DNA 模型,到底有什么用
这是个绕不开的尴尬问题。蛋白模型的用户和价值链很清楚——蛋白质就是药;DNA 模型则模糊得多。
李秋熠给了两类比较实在的用途。一是突变效应预测,也就是判断一个突变位点是不是某种疾病的成因。现在的 DNA 大模型,包括 Evo2 和 Carbon,在这个任务上都有相当不错的表现。
二是序列设计——作为生成式模型,Carbon 最重要的应用场景之一,就是设计具有特定功能的 DNA 序列。比如农业育种:如何改造番茄的基因组,才能培育出产量更高、口感更好、环境适应性更强的新品种。
还有一个有意思的概念叫调控元件设计。比如设计一小段 DNA,插在某个基因前面,让这个基因的表达量从一个单位变成十个单位——这就是增强子。在微生物工业中应用很广:用大肠杆菌生产胰岛素、生产抗体,都靠它来实现降本增产。
我追问:从 DNA 设计到产生功能,中间还有距离,那为什么不直接设计蛋白?
他说这是两件事。调控元件增加的是蛋白的产量,跟设计蛋白本身并不冲突。而且蛋白设计和 DNA 设计本来就强相关——你设计出一条蛋白序列,真要生产时不是一个氨基酸一个氨基酸拼出来的,得先转成 DNA、放进菌里让它合成。从蛋白序列到 DNA 序列之间,还隔着一个 gap,叫密码子优化。三个碱基编码一个氨基酸,但这不是一一映射,具体选哪三个碱基去编码,直接决定了产能和良品率。Carbon 自己也做了这个 demo——直接在 DNA 水平上设计蛋白质:直接设计一条 DNA,放进菌里就能产出你想要的蛋白。
至于一年里冒出这么多 DNA 大模型,到底哪个有用?
他首先表达了对 Evo2 的复杂态度——觉得它在某种意义上带偏了这个领域,把一场原本应该"比谁更懂"的竞争,变成了"比谁的模型更大,谁的 context 更长"。但同时他又说"其实我们都是 Evo2 的受益者":Evo2 超强的 PR,让全世界知道了 DNA 大模型这回事。"所以我们不需要再向全世界说明 DNA 大模型有多重要,我们只需要做好技术,告诉大家:Evo2 能做的,我们都能做,还做得更快、更好。"
但他也很坦白:距离真正贴近普通人的使用,所有模型都还有一段距离。这不只是 DNA 大模型的问题,几乎所有的 AI for Science 模型都一样——就像 AlphaFold 很强,但你没法在家随手算出一个感冒特效药。它离日常生活,还是远。
V.四个月后,他眼中的"DNA 界的 AlphaFold 时刻"
那 DNA 模型的"AlphaFold 时刻"什么时候会来?
大概四个月内,我们会发布一个基因注释模型。在我眼里,它更像是 DNA 大模型的 AlphaFold moment。
AlphaFold 在做什么——你给它一条氨基酸序列,它告诉你这条序列会折叠成什么样子,本质上是从序列出发,得到序列所编码的"功能信息"。在 DNA 领域,最接近的概念或许就是基因注释:给模型一条 DNA 序列,它告诉你哪些区域编码了功能,哪些区域是生物进化的"背景板"。
而他们想实现的目标,规模大到超乎想象。他们把全世界最大的 DNA 数据库 GenBank 整个下载了下来,规模超过 40 万亿碱基,全部会用这个新模型注释一遍,做成一个开源数据库——对标的正是 AlphaFold Database。当年 AlphaFold 把 UniProt 里所有蛋白质序列都预测了一遍,让所有人像查字典一样使用,如今他们想对 DNA 做同样的事。
为什么值得做?他讲了一个非常具体的例子。前段时间他们收到一个合作需求:注释绿萝的基因组,就是那种常见的观赏植物。基因技术发展到今天,居然被一棵小小的绿萝难倒了。"这是一件非常荒谬的事情。"于是他们干脆把全世界的序列都注释一遍,"以后需要哪条,直接去找就行。"
40TB 的原始数据现在已经正式跑起来了,大概两三个月跑完,就能和大家见面。"这可能是一件,"他停顿了一下,"值得被写进基因组学历史的事情。"因为它不仅仅是一本基因注释的词典,更是开启模型 scaling 的核心。
这个领域的数据瓶颈并不在于 DNA 序列,而在于 annotation(基因注释)。我们正是用 annotation 作为漏斗,来筛选用于训练的 DNA 片段。
从前他们用现成的 RefSeq 注释,以后就可以自己生产。"这将把 DNA 预训练的数据池,从现在的小水洼变成一片大海,也会彻底把这个领域推向工业级水平。"
VI.更远的未来,是打造"DNA 界的 GPT"
注释模型之后,他们还有一个"更疯狂"的项目——这个在 Carbon 的论文末尾已经提了一笔:训练一个打通自然语言和 DNA 序列两种模态的模型。
在他眼中,这才是真正意义上的 DNA 界的 GPT。你可以直接对它说:"帮我设计一个新冠疫苗。"它吐给你一段 ATCG,而这段序列很可能真的具有免疫活性。
我问,这跟 GPT 有什么区别?GPT 现在不也能联网搜索、给你参考吗?
他说不一样。GPT 能做的是检索——帮你搜出某篇文献里报道过的序列。但 GPT 从来不懂 DNA,它没法凭空写出一段有功能的 DNA 序列。他们想要的,是模型真正理解人类至今都没有理解的东西:DNA 从碱基序列到功能之间的那套"语法",并且能解释给我们听。
GPT 的强大源自于它记性好,它学会了所有人类已掌握的知识。而我们希望通过 DNA 大模型来实现的,是突破人类知识的边界——我们从未真正理解 DNA,如果模型理解了,它就可以做到我们永远做不到的事。
他举了一个让人心头一紧的例子:你给它一个小孩的基因组,告诉模型这孩子有某种罕见病,它就能直接告诉你是哪段基因出了问题,背后的机制是什么,需要什么样的治疗手段。
这正是和"调用工具的 Agent"最本质的区别。Agent 可以把人话翻译成调用专门工具的命令,把序列设计出来——它能行使功能,但不触发理解。你没法问它:"为什么中间这 4 个碱基从 ATCG 换成 GTAC,这个元件功能就变强了?"没有任何东西能回答这个问题,因为自然语言和 DNA 这两个模态,在人类历史上从来没有真正接在一起过。
一旦接通了,他说,"这会是一件堪称恐怖的事情。"
但他对此并不乐观。最大的卡点在于数据:要训练一个能逐字逐句"翻译" DNA 的模型,得先喂给它"一段 DNA 配一段文字解释"这样的配对数据。可问题是——没有这样的数据。
"单从发论文的角度,这事不难,我们甚至早已不是第一个 DNA 界的 GPT 了。"他笑着说,"但想要真正意义上把这条路走通,要难得多得多得多。"
VII.无名小卒,与值得被记住的事
采访结束时,我问他:从纯数学绕了一大圈走到 DNA 大模型,这条路走下来是什么感受?
他想了想,说:
人生有意思就有意思在这儿。有些路看似是弯路,可走过才发现——那就是唯一的路。
他说自己是"无名小卒",却也能坦然说出"我目前能做出来的东西,看起来也是全世界最好的"。Carbon 的成功让他的声音被更多人听见,但他想做的,远不止于此。
四个月后,那个基因注释数据库会上线;更远的未来,DNA 界的 GPT 也许会出现。他说,他想做的不是一桩具体的生意,而是一件——
值得被记住的事。