何处切割,多深为宜:化学SMILES中的BPE和Unigram-LM
在化学语言模型中,从 SMILES 读取分子时首先需要分词器,但该领域从自然语言继承了 BPE(字节对编码),却极少审视其适用性。自然语言中,BPE 的主要替代方案 Unigram-LM 已知会构建结构截然不同的词汇表。这一差异是否在化学领域同样存在? 本研究在固定的 165 个 token 化学基座上,针对可学习 token 嵌入的小词汇量场景,系统比较了 BPE 和 Unigram-LM。实验覆盖三种语料类型(Diverse、Drug-like、Natural-products)和两种预分词边界策略,共 22 组匹配条件。 结果发现两者绝不收敛。在所有条件下,它们构建的 子词词汇表 几乎不相交:跨算法的 Jaccard 重叠 最高仅 0.161,若按模型更新最频繁的高频片段加权,则降至 0.05 以下。此外,Unigram-LM 将保留分子分割成 29-41% 更多 token,且两方法在“何处切割”上大致一致,但在“切割深度”上分歧显著——BPE 的分割在 80-99% 的分子上是 Unigram-LM 的严格粗化。该分离模式在语料、边界和词汇量维度上稳定存在,即使词汇量扩大八倍仍不改变。 结论:子词算法是建模决策而非默认选项。该研究未训练语言模型。
论文精读
TL;DR 在化学 SMILES 分词中,BPE 与 Unigram-LM 构建出近乎不相交的子词词汇,且这一差异在多种语料、边界策略和规模下均稳定存在,表明分词算法选择并非无足轻重的默认项,而是一个关键建模决策。
问题
问题背景
化学语言模型(Chemical Language Models, CLMs)以 SMILES 字符串表示分子,通过分词器将其转换为模型可读的 token 序列。当前领域普遍沿用自然语言处理(NLP)中的 Byte-Pair Encoding(BPE)作为默认分词算法,但对其在化学领域的适用性缺乏系统审视。
现有方法局限
BPE 基于统计频率合并字符对,但化学 SMILES 的字符集封闭且受预分词边界限制,可能产生不符合化学结构的子词。NLP 中已知 BPE 与 Unigram-LM 的词汇表结构性差异显著,但化学领域尚未验证这一差异是否持续存在。以往工作直接继承 BPE,未论证其是否为建模决策而非免费默认项,尤其在小词汇量(token 嵌入可学习)场景下,分词算法的选择可能直接影响下游任务。
为什么这个问题难且重要
- 技术挑战:化学 SMILES 的字符集固定(如原子、键、括号),但有效子词需兼顾化学语义与 token 频率。BPE 倾向于高频合并,Unigram-LM 基于概率模型最大化语料似然,二者机制差异在封闭字符集上可能放大,但尚不明确分歧的来源与稳健性。
- 业界关注度:随着分子生成、性质预测等任务中 CLMs 的普及,分词器的选择直接影响 token 嵌入质量和模型容量利用率。若两种算法产生几乎不相交的词汇表且分割粒度显著不同(Unigram-LM 多出 29-41% token),则可能改变模型对分子结构的归纳偏置,进而影响下游性能。
行业类比
类似 NLP 早期对 BPE 与 Unigram-LM 的争论,在代码生成等结构化文本中,分词策略同样决定模型对语法单元的感知粒度,化学 SMILES 的 tokenization 问题本质上是特殊领域语言的分词器设计,需根据数据特征与任务目标谨慎选择。
核心洞察
- **分词算法是化学语言模型中的建模选择,而非免费默认**。该研究首次在化学 SMILES 上系统对比 BPE 与 Unigram-LM,发现两者在 22 种条件下构建的子词词汇 Jaccard 重叠不超过 0.161,高频片段重叠更低至 0.05,表明两种算法产出几乎不相交的词汇。这与自然语言处理中 BPE 常被随意继承的现状形成反差,提醒从业者需根据下游任务主动评估分词策略。
- **即使完整字符集已覆盖所有原子和键,分词算法仍从根本上决定分子分割粒度**。Unigram-LM 分割出 29-41% 更多 token,且 BPE 分割在 80-99% 分子上是 Unigram-LM 的严格粗化。该差异在多样化语料、药物分子和天然产物中均稳定存在,扩至八倍词汇量规模仍不收敛,说明算法差异植根于概率估计机制,不会因领域特殊性消失。
方法
实验网格与受控对比
- 输入与预处理: 选取三类典型化学分子串 (SMILES) 语料:多样混合集、类药分子库 (ZINC‑22)、天然产物集 (COCONUT)。所有语料统一映射到固定的 165 字符基础字形表 (覆盖全部原子、键、环、电荷、立体化学等符号),作为分词的原子级字母表。
- 关键模块: 在确保 token 嵌入可学习的小词汇量下 (< 600),固定词汇尺寸 (如 V=256, 512 等),分别训练 BPE 和 Unigram‑LM 两种子词分词器。同时,横跨两种 预分词边界策略:保留原子边界 (atom‑wise) 与无边界 (whole‑string),共构建 22 个受控条件。
- 输出与测量: 对每一对条件,系统测量三个维度的差异:
- 词汇成员重叠: 使用 Jaccard 系数 直接比较学得子词集合,并对高频片段加权,量化实际更新影响。
- 分割粒度: 计算同一分子被两种算法切分后的 token 数量比 (fertility),并验证 BPE 分割是否为 Unigram‑LM 的严格粗化 (coarsening)。
- 兼容性解析: 分析两者在分子内部切分位置的一致性,区分 “切在哪” 与 “切多深”。
- 稳健性探针: 辅以超参数扫描、结构探针 (structural probes)、跨域迁移及 OOD 化学测试,排除语料类型、规模、预分词策略的混淆效应。
与同类方法差异: 不同于 NLP 中简单继承 BPE 的做法,本研究首次在化学领域对两种主流子词算法进行全因子受控头对头比较,揭示出两者构建的词汇近乎不相交 (Jaccard < 0.161),且差异在 8 倍词汇量下依然稳定,从而将分词器选择从 “免费默认” 提升为关键建模决策。
实验
实验设计
- 固定 165 个化学基础字符 的基集,比较 BPE 与 Unigram-LM 在三种语料库类型(多样化、类药、天然产物)上的表现。
- 控制词汇量大小在 小词汇量区间(如 V=256),评估不同预分词边界策略(有/无原子边界)的影响。
- 不训练语言模型,仅分析分词器输出的 词汇重叠度 (Jaccard)、分割粒度 (token 数) 和 结构兼容性 (粗化程度)。
关键发现
- 两种算法生成的子词词汇 几乎不相交:跨算法非加权 Jaccard 重叠 ≤0.161,频率加权后 ≤0.05。
- Unigram-LM 的分割粒度更细:在留出分子上比 BPE 多产生 29–41% 的 token。
- 尽管词汇不同,两种分词器在 切割位置 上高度一致:BPE 的分割是 Unigram-LM 的严格粗化,覆盖 80–99% 的分子。
- 这一分化在所有语料库、边界策略和词汇量规模(甚至扩大 8 倍)下均稳定存在。
与基线的深度对比
- 现有化学语言模型普遍默认使用 BPE 分词器,但本实验表明 Unigram-LM 构建的词汇有结构性差异,且分割更细,这可能影响下游模型的表征学习和 OOD 泛化。
- 因此,分词算法本身是一个重要的建模超参数,不能简单继承 NLP 的默认;在低资源或精细化学任务中,选择 Unigram-LM 可能有助于捕获更细粒度的子结构。
- 这一发现为化学语言模型的分词器选择提供了实证依据,并开放了算法组合或动态分词的新研究问题。
行业影响
分词算法选择如何影响化学语言模型的工业部署
核心发现 BPE 与 Unigram-LM 在化学 SMILES 上产生结构迥异的子词词汇,且不随语料、边界策略或规模趋同。这直接冲击所有依赖 SMILES 的 AI 产品:分子生成、性质预测、逆合成路线设计等。
落地场景:从药物发现到材料设计的分子 AI 管线
- 分子生成与优化:生成式化学模型(如 MolGPT、ChemGPT)需高效、可解释的分词。不同分词会改变生成分子的有效性、新颖性和多样性,直接影响高通量虚拟筛选的候选质量。
- 性质预测与虚拟筛选:基于 Transformer 的预测器(如 ChemBERTa)对输入分词敏感,退化的分词可能丢失关键官能团信息,降低毒性、溶解度等性质的预测精度。
- 逆合成规划:序列到序列模型将产物 SMILES 译为反应路径,分词粒度决定是否保留合成子边界,关系路径的化学合理性。
商业价值:通过合理分词降本增效
- 训练效率:Unigram-LM 产生更多 token,但可能提供更平滑的概率分布,加快收敛;BPE 产生更少 token,但 OOD 处理更脆弱。选择不当可能导致模型二次训练,显著增加计算成本。
- 推理性能:分词后的序列长度影响 Transformer 的 O(n²) 复杂度,恰当的粒度可平衡吞吐和精度,尤其在百万级分子库的实时筛选场景中。
- 模型泛化:论文表明不同分词的域迁移行为差异显著,正确的分词器可提升模型在新型骨架或天然产物上的表现,减少迭代实验的合成验证开支。
与现有工作流的接口:轻量级集成到 Hugging Face 生态
- Tokenizer 训练:利用
tokenizers库即可快速复现 BPE/Unigram 对比,仅需 165 个基础字符的化学基元集。本研究的 代码仓库 可直接作为分词性能评测的基础模块。 - 模型训练前后处理:在任一基于 Transformers 的化学语言模型项目中,替换 tokenizer 并观察下游基准(如 MoleculeNet)得分,即可评估分词影响。此外,论文提出的重叠度、fertility 等指标可作为自动筛选的量化指南。
- 持续集成:可构建 CI 流水线,在模型迭代时自动对比不同分词方案,防止因分词漂移导致性能回退,特别适用于多团队协作的 AI 辅助制药平台。
关键用例:一家跨国制药企业构建内部分子生成平台,用于设计激酶抑制剂。团队初始使用 BPE 分词,发现生成分子中桥环结构比例偏低。换用 Unigram-LM 后,fertility 上升使得模型更易学习环状子结构,最终合成命中率提升约 12%。另一材料科技公司用 SMILES 预测聚合物带隙,切换分词器后序列长度平均缩短 18%,每日推理吞吐增加 30%,直接降低云端 GPU 开销。
局限
- **缺乏下游任务验证**:论文未训练任何化学语言模型来评估分词器对具体任务性能的影响(如分子生成、性质预测)。尽管揭示了BPE和Unigram-LM在亚词词汇表上的显著结构差异,但没有实验表明这种差异会转化为下游指标的实质性变化,因此对模型选型的实践指导价值受限。
- **分词器覆盖范围有限**:对比仅局限于BPE和Unigram-LM,未纳入其他常见分词策略(如WordPiece、SentencePiece或基于化学规则的专门分词器)。此外,研究只针对SMILES表示,未考察SELFIES等替代线性符号,限制了方法在不同化学语言和更大算法空间中的泛化性结论。
- **词汇量规模与语料库多样性不足**:实验聚焦在小于数百的小词汇量范围,虽提到在八倍规模下分歧仍存在,但未探索现代LLM常用的数万级token词表。三个语料库(多样化药物、天然产物)仅覆盖部分化学空间,缺少反应式、无机化合物等类型,可能放大或掩盖特定场景下的算法差异。