1. 项目概述:非规范分词对语言模型的隐秘影响
2025年NIPS这篇论文的标题《Broken Tokens? Your Language Model can Secretly Handle Non-Canonical Tokenizations》直指当前大语言模型(LLM)研究中一个被忽视的关键问题:当输入文本的分词方式偏离模型预训练时的标准分词方案(non-canonical tokenizations)时,模型表现会发生什么变化?这个问题看似技术细节,实则影响着模型在实际应用中的鲁棒性、安全性和部署灵活性。
我在处理客户实际业务需求时,曾遇到过一个典型案例:某金融客户使用GPT-3处理用户输入的股票代码时,发现模型对"TSLA"和"T-S-L-A"这两种输入形式的响应存在显著差异——尽管人类看来这显然是同一事物的不同表达。这促使我开始系统研究分词偏差对模型行为的影响机制。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心问题解析
2.1 什么是规范分词(Canonical Tokenization)?
规范分词指的是语言模型在预训练阶段使用的标准文本分割方案。以GPT系列为例:
- 基于Byte Pair Encoding (BPE)算法
- 通过统计语料库中的字符共现频率构建词表
- 固定词表大小(如GPT-3的50,257个token)
- 遵循最大匹配原则进行编码
这种分词方式决定了模型如何"理解"输入文本。例如"unhappiness"可能被分割为["un", "happiness"],而"happiness"本身也是一个独立token。
2.2 非规范分词的常见类型
在实际应用中,输入文本可能因以下原因偏离规范分词:
-
拼写变体:
- 大小写变化("Python" vs "python")
- 连字符处理("state-of-the-art" vs "state of the art")
- 缩写形式("I'm" vs "I am")
-
字符级扰动:
- 随机插入空格("h ello")
- Unicode同形异义字("а"西里尔字母 vs "a"拉丁字母)
- 不可见字符(零宽空格、控制字符)
-
领域特定格式:
- 代码中的变量命名("user_name"
