
这项由独立研究者完成的研究以预印本形式发布于2026年7月,论文编号为arXiv:2607.05691,有兴趣深入了解的读者可以通过该编号在arXiv平台查询完整论文。
每当我们训练一个能"读懂"化学分子的人工智能时,机器首先需要将分子的文字描述切碎成一个个小块,才能开始学习。这个切碎的过程,在AI领域叫做"分词",而完成这个任务的工具叫做"分词器"。长久以来,化学AI领域的研究者们几乎不假思索地从自然语言处理领域借来一把叫做BPE(字节对编码)的切割刀,却很少有人认真问过:这把刀真的适合切化学分子吗?有没有另一把刀切出来的效果截然不同?
这篇研究的核心,就是把BPE和它的竞争对手Unigram-LM(单字元语言模型)这两把刀拿来并排比较,看看它们切出来的东西到底有多大区别。结论出人意料:这两把刀切出来的东西,几乎是完全不同的两套碎片。
**一、先聊聊"分子语言"是什么**
化学研究者发明了一种叫做SMILES的文字系统,用来描述分子结构。以阿司匹林为例,它的SMILES写法是"CC(=O)Oc1ccccc1C(=O)O"——这一串字符就像分子的身份证号,每个字母和符号都代表特定的化学元素或化学键。一个AI如果想理解分子,就必须先"读懂"这串字符。
但机器不是直接读整串字符的。就像我们读中文时,大脑会自动把"人工智能"识别为一个整体词汇,而不是四个独立的字,AI也需要把SMILES字符串拆成有意义的"词汇单元",然后才能学习每个单元的含义。这个拆分过程,就是分词。
打个比方,假设你要教一个外国人读中文菜谱。你可以把"红烧肉"拆成"红"、"烧"、"肉"三个字分开教,也可以直接把"红烧肉"作为一个整体词汇教。前者粒度细,后者粒度粗。化学AI的分词问题,本质上就是这个粒度之争。
**二、两把切割刀,两种哲学**
BPE的工作方式像是一个贪吃蛇游戏。它从最小的化学符号开始,然后不断找出哪两个相邻的符号组合出现得最频繁,就把它们合并成一个新单元,如此反复,直到词汇表达到设定的大小。这是一种"从下往上堆积"的策略,每一步都在贪婪地抓住当下最常见的组合。
Unigram-LM的做法则截然相反。它先造出一个包含海量候选词汇的巨型库,然后用统计学方法评估每个词汇对整体理解的贡献度,逐步把那些"可有可无"的词汇修剪掉,直到词汇表缩减到目标大小。这是一种"从上往下剪枝"的策略,每一步都在问:删掉这个词汇,损失有多大?
两种策略就像两种不同的厨师面对同一块食材。BPE厨师喜欢先把最常见的食材组合打包处理,端出几道"大份套餐";Unigram-LM厨师则更倾向于保留食材的原始形态,用概率模型来决定今天要用多大的块来烹饪。
在自然语言处理领域,这两把刀切出来的词汇表确实有所不同。但化学SMILES有其特殊性:它的"字母表"极小(只有158个基本化学符号),而且受到严格的化学规则约束(比如碳最多只能连接四个其他原子)。有研究者猜测,这种严格的约束可能会迫使两把刀切出完全一样的东西——因为高频组合已经被化学规则固定死了,两种算法没有分歧的空间。
这篇研究就是要验证这个猜测是否成立。
**三、实验设计:一场严格控制的切割大赛**
为了确保比较的公平性,研究者给两把刀设置了完全相同的起点:一个叫做Smirk的165个基本化学符号的词汇库。这个库覆盖了所有符合OpenSMILES规范的化学分子,也就是说,任何合法的化学分子都可以被这165个符号无遗漏地描述出来,不会出现"这个分子没有对应符号"的尴尬情况。从这个共同起点出发,BPE和Unigram-LM各自添加更多的词汇单元,直到词汇表达到设定的大小。
研究者还精心挑选了三类化学分子数据库来训练和测试这两把刀。第一类是PubChem,包含约5000万个多样化分子,涵盖各种元素和结构;第二类是ZINC-22,包含约1000万个药物分子,结构相对单一;第三类是COCONUT,包含约74万个天然产物分子,结构复杂、含有丰富的环状结构。此外还有一个特殊的"压力测试"数据库——REAL-Space,包含1.36亿个通过组合合成的分子,字母多样性极低但数量庞大。
词汇表的大小也是一个关键变量。研究者选择了256、512和1024这三个"小型"词汇量进行主要比较,同时也测试了2048和8192这两个更大的规模作为参考。为什么聚焦于小词汇量?因为词汇表太大时,很多词汇单元在训练过程中出现的次数太少,AI根本来不及学会它们的含义,相当于花钱买了一堆根本不会用到的工具。研究者引入了一个"可学习性门槛"——要求词汇表中至少95%的非基础词汇在训练数据中出现超过100次,以确保比较是在AI真正能学到知识的范围内进行的。
**四、令人震惊的发现:两把刀切出的是平行宇宙**
当研究者把两把刀在同样条件下切出的词汇表拿来比较时,结果令人瞠目结舌。
衡量两个集合重叠程度有一个标准工具叫做Jaccard相似度,它的值从0(完全不重叠)到1(完全一样)。如果两把刀切出的词汇表完全相同,这个值应该是1;如果完全不同,是0。研究者测量了22组配对条件下两把刀在基础165个符号之上额外学到的词汇单元的重叠程度。
结果:在所有22组条件下,这个重叠值从未超过0.161,也就是说两把刀额外学到的词汇单元中,最多只有约16%是相同的,剩下至少84%都是各自独有的。更进一步,如果按照词汇单元在实际分子中出现的频率加权(也就是优先关注AI最经常接触、更新最多的那些词汇),重叠值最低跌到了0.002——千分之二,接近于零。
这意味着什么?用一个通俗的比喻:如果你用BPE分词器训练一个化学AI,它每天主要接触到的"词汇",和用Unigram-LM训练的AI每天接触的"词汇",有超过99%是不同的东西。这两个AI虽然都在学习化学,但它们学习的"语言"几乎是平行宇宙中的两套不同体系。
从具体的化学结构来看,两把刀的分歧有清晰的规律。BPE非常喜欢把芳香环(苯环这类分子中的六边形结构)合并成大块词汇——在多样化的PubChem数据库上,BPE独有的词汇单元中有27%到37%是芳香环片段。而Unigram-LM几乎从不形成芳香环词汇(只有0到7%),它更偏爱把含氮、含氧的杂原子链保留下来(在药物分子ZINC-22数据库上,Unigram-LM独有词汇中有高达92%是杂原子链)。简单说,BPE喜欢"整环打包",Unigram-LM喜欢"杂原子链条"。
**五、切割深度的巨大差异:一个分词一个字母,还是一口吞下整个环?**
除了切出不同的"字典",两把刀的"切割粒度"也截然不同。研究者测量了对同一批化学分子进行分词后,平均每个分子被切成多少块。
结论非常一致:在所有22组配对条件下,Unigram-LM切出的块数都比BPE多。具体到1024词汇量的设置下,以PubChem多样化数据库为例,BPE平均把每个分子切成约36个词元,而Unigram-LM则切成约51个词元,多出将近42%。这个差距在不同数据库和不同词汇量下的范围是29%到41%。
用切西瓜来比喻:BPE是那种下刀豪爽、切出几大块的厨师,Unigram-LM是那种精细地把西瓜切成几十个小丁的厨师。两人面对同一个西瓜,切出来的块数相差将近三分之一到四成。
从"压缩率"的角度看差异更明显。BPE平均把1.4到1.8个基础符号打包成一个词元,明显比一对一多;Unigram-LM则几乎是一个基础符号对应一个词元(比值约1.0到1.2),几乎没有打包压缩。这说明BPE确实在更积极地把常见组合合并,而Unigram-LM更倾向于保持原子级别的细粒度。
切块更多意味着什么?对于使用Transformer架构的化学AI(这是目前最主流的设计),处理更多词元意味着更长的序列,更长的序列意味着更高的计算成本。反过来,词元更少的BPE可以让AI在处理分子时"视野"更大,能在同样的计算预算下"看到"更多的分子上下文。
**六、切割位置的惊人一致性:两把刀知道在哪里切,但切法深浅不同**
尽管切出的词汇表几乎互不重叠,切出的块数又相差三四成,研究者发现了一个令人意外的事实:两把刀在"在哪里下刀"这个问题上,其实有很高的共识。
研究者详细分析了每个分子中每个相邻符号对的位置,记录两把刀在那个位置是切断(两个符号归入不同词元)还是合并(两个符号合为一个词元)。他们把这些位置上的分歧分成三类:双方都切断(一致切)、双方都合并(一致合)、Unigram-LM切断但BPE合并(嵌套),以及BPE切断但Unigram-LM合并(冲突)。
结果显示,"冲突"——即真正方向相反的分歧——极为罕见,在所有条件下均低于每1000个位置7个,在1024词汇量以上时更是低于每1000个位置1个。绝大多数分歧都是"嵌套"型,也就是Unigram-LM在某个位置切断了,而BPE把两段合并在一起了。
这意味着BPE的切割方案是Unigram-LM切割方案的"粗化版"——BPE在Unigram-LM已经切好的地方,把相邻的小块再捏合成了更大的块,而很少出现BPE单独在Unigram-LM没切的地方切断的情况。在1024词汇量的配对中,一个分子的BPE分词方案严格是Unigram-LM方案粗化版的比例,在PubChem数据库上达到97%,在ZINC-22和REAL-Space数据库上更高达99%以上。
这个发现解决了一个看似矛盾的谜题:两把刀的词汇表几乎互不重叠,但它们切出来的方案却又高度兼容。本质上,BPE是在Unigram-LM已经划定好的切割骨架上,把某些相邻的小块进一步合并,而非另起炉灶。
**七、频率分布的差异:谁的词汇表更"公平"?**
除了词汇表的内容和切割粒度,研究者还测量了两把刀词汇表中各词汇单元被使用的频率是否均衡。想象一个班级里,如果只有几个同学总是被老师点名,其他人从不被点到,这个班级的"参与度"就极不均衡。对于AI来说,如果词汇表中大多数词汇很少被用到,AI就无法从大量训练数据中积累足够的经验来学习这些词汇的含义。
研究者用"不均衡度"来量化这个问题(技术上称为与均匀分布的偏差D)。结果显示,两把刀都存在相当严重的不均衡现象,D值高达0.76到0.97(0代表绝对均衡,1代表极度不均衡)。不过在22组配对条件中,BPE的词汇表始终比Unigram-LM更均衡一些(D值更低,信息熵更高)。
这个差异在不同的化学数据库上表现出一定的规律性。在天然产物数据库COCONUT上,两把刀的不均衡差距比在其他数据库上小了大约一半。研究者通过额外的对照实验证明,这种差异是由数据库的化学结构类型决定的,而不是因为COCONUT数据量较小导致的。
**八、大规模测试:把词汇量提高8倍,两把刀会合并成一把吗?**
研究者也许最担心的问题是:以上发现是否只是在小词汇量下才成立的特殊现象?如果把词汇量提高到语言AI的规模(如3.2万、12.8万),两把刀是不是会趋于一致?
为此,研究者在PubChem数据库上训练了词汇量高达8192的超大型词汇表(是主要实验规模1024的整整8倍),并重新测量重叠度和切割粒度差异。
结果:重叠度从1024规模时的0.022(频率加权)几乎没有变化,变到8192规模时的0.022,差异只有0.0004;切割粒度的相对差距依然稳定在34%左右,与1024规模时的34%几乎完全相同。两把刀在8倍规模下,依然切出近乎平行宇宙的两套词汇体系。
更关键的是,研究者同时测量了在这个8192词汇量下,两把刀的词汇单元是否还在"可学习性"范围内(即每个词汇在训练中出现超过100次)。结果令人警醒:Unigram-LM在词汇量只有2048时,就已经有43%的学到词汇出现次数不够学习了;BPE的情况稍好,但在8192规模时也有32%的词汇出现不足。也就是说,对于化学分子这种"字母表小、受约束强"的特殊语言,词汇量能有效利用的上限远低于自然语言。在化学AI的语境下,自然语言处理领域惯用的大词汇表策略,超过某个临界点后反而会造成大量词汇无法被充分学习。
**九、跨领域迁移测试:一个分词器能在不同化学领域通用吗?**
研究者还做了一个实用性很强的测试:在一种化学数据库上训练的分词器,能不能被直接用在另一种化学数据库上,而不需要重新训练?
测试结果用相对肥力(relative fertility,即在新领域的切割块数相对于用本领域训练的分词器的比值)来衡量。BPE表现得非常稳健,在任何跨领域组合下,切割块数与本土分词器的差距都在正负1%以内,可以说几乎感觉不到跨域的损耗。Unigram-LM则稍微敏感一些,跨域误差在负6%到正8%之间,最极端的情况是用REAL-Space分词器(在组合合成分子上训练)去处理COCONUT天然产物分子,切割块数比本土多了8%。
这两把刀的跨域差异,在化学AI领域意味着什么?本质上,BPE和Unigram-LM学到的是不同类型的化学"共性"——BPE学到的是在各类分子中频繁出现的大块结构(比如各种苯环片段),这种知识跨域通用性很强;Unigram-LM学到的是更精细、更数据集特异的概率模式,换个化学领域就容易"水土不服"一点。
研究者还用两组非常特殊的化学数据库做了"极限测试":一组是约9.7万个含有过渡金属的配合物(tmQM数据库),这类分子里有很多非常规的金属元素;另一组是约8000个环状多肽(CycPeptMPDB数据库),这类分子非常庞大,平均每个分子在BPE分词下需要约111个词元,在Unigram-LM下更多达约150个。
面对这些"怪异"分子,覆盖率依然良好——含金属配合物的数据库中,未知符号的比例只有0.002%,环状多肽的数据库中更是完全没有未知符号。切割粒度的差距也依然存在:Unigram-LM在环状多肽上比BPE多切29.5%,在金属配合物上多切23.5%。这个差距比训练域内的数据(29%到41%)略有缩小,研究者认为这是因为金属配合物里有很多罕见的元素,两把刀都没有充分学到针对这些元素的合并规律,于是各自都退回到了接近原子粒度的切割,差异自然变小了。
**十、切法的稳定性:换一种写法,分词结果会乱套吗?**
化学分子的SMILES表达不是唯一的。同一个分子可以有无数种等价的SMILES写法——就像"我爱你"和"你是我爱的人"表达的是同一个意思,但字面完全不同。对于实际应用中的化学AI,输入的分子字符串可能来自不同的软件,采用不同的写法约定,分词器需要在面对各种写法时都能给出稳定的结果。
研究者测试了五种不同的SMILES改写方式,从最温和的(只改变环连接编号)到最剧烈的(把所有隐含氢原子显式写出来),并测量了两把刀在这些改写下的"包稳定性"——即分词结果中有多少比例的词元发生了变化。
在随机化的SMILES写法(最接近真实应用的改写方式)下,Unigram-LM的包稳定性更好,词元变化比例为11%到22%,而BPE的变化比例为24%到38%,Unigram-LM在全部22个配对条件下都更稳定。用另一家软件(OpenBabel而非RDKit)生成的标准SMILES来测试时,同样的规律成立:Unigram-LM变化9%到15%,BPE变化19%到24%。
然而,有一种改写方式让Unigram-LM吃了大亏:Kekulé形式(把芳香键写成单键-双键交替的显式形式,而不是小写字母代表的芳香表达)。在这种改写下,Unigram-LM在22个配对中的21个条件下比BPE更不稳定。原因清晰:Unigram-LM的词汇中大量依赖芳香环片段(c、cc、ccc这类小写字母组合),Kekulé改写直接摧毁了所有这些词汇,导致Unigram-LM的分词结果大幅波动。BPE虽然也有芳香环词汇,但因为它的词汇体系更加多样,受到的冲击相对小一些。
全部变成显式氢原子的改写对两把刀都是灾难性的——词元变化比例高达54%到83%,这是因为训练数据中几乎没有显式氢的写法,两把刀都没学过怎么处理这种形式。
**十一、这对化学AI的开发者意味着什么?**
说到底,这篇研究的核心信息非常清晰:选择BPE还是Unigram-LM,不是一个无关紧要的技术细节,而是一个会深刻影响AI"看世界方式"的根本性决策。
BPE给AI提供的是更粗粒度的视角,把常见的化学子结构(尤其是芳香环)直接打包成单个词元,让AI处理每个分子时需要更少的词元,计算效率更高,单个词元能覆盖的化学语境更广。BPE的词汇表完全可以跨化学领域通用,切割结果也较为稳定。
Unigram-LM给AI提供的是更精细的视角,保留更多原子级别的细节,每个词元承载的化学信息更少但更精准。Unigram-LM还有一个独特优势:它的概率模型允许在训练过程中对同一个分子采用多种分词方式,这种"数据增强"效果在一些研究中已被证明对提升模型泛化能力有帮助。Unigram-LM的分词结果在面对不同写法时也更稳定(除了Kekulé改写)。
研究者明确指出,他们没有在这篇文章中比较两把刀训练出来的AI最终性能哪个更好——这个问题留给后续研究。但他们已经确凿地证明:这两把刀切出的是完全不同的语言体系,任何声称两者等价的说法都缺乏依据。化学AI的开发者在选择分词算法时,需要主动做出有意识的决策,而不能仅仅因为"大家都这么用"就不假思索地沿用BPE。
归根结底,这场"切割刀之争"揭示的是一个更深刻的道理:在机器学习领域,看似无关紧要的工程细节往往暗藏着影响深远的哲学分歧。两把刀都在用频率作为判断标准,但一把从小到大积累,一把从大到小修剪,最终得到的"词典"却几乎属于平行宇宙。化学AI的研究者们,是时候认真对待这把他们一直忽视的切割刀了。
---
Q&A
Q1:BPE和Unigram-LM分词器在化学分子上的词汇表重叠度有多低?
A:在所有22组对照实验条件下,BPE和Unigram-LM在基础词汇之上额外学到的词汇单元重叠度从未超过16.1%。如果按照实际使用频率加权计算(优先关注AI训练中最常接触的词汇),重叠度最低仅有0.2%,接近于零,说明两种分词器学到的"化学词汇"几乎完全不同。
Q2:Unigram-LM分词器切出的词元数量为什么比BPE多?
A:因为Unigram-LM更偏向于保留原子级别的精细粒度,很少把多个化学符号合并成大块词元,导致同一个分子被切成更多小块。在1024词汇量的设置下,Unigram-LM平均比BPE多产生29%到41%的词元,而BPE则更倾向于把芳香环等常见子结构直接打包成单个词元,切割更"豪爽"。
Q3:化学AI开发者应该选BPE还是Unigram-LM?
A:这篇研究没有直接回答哪个更好,因为研究者没有训练实际的化学语言模型来比较最终性能。但研究清楚地表明两者不可互换——BPE词元更少、计算效率更高、跨领域稳定,适合需要更广上下文的任务;Unigram-LM粒度更细、支持训练时多样化分词,适合对分子局部结构敏感的任务。开发者需要根据实际需求做出有意识的选择。