分词决定语言模型处理的基本单位
从字符、子词和词表理解文本如何变成标记序列,以及分词选择怎样影响长度、稀有词和跨语言表现。
分词决定语言模型处理的基本单位
语言模型不能直接处理一段抽象文字,它接收的是标记序列。分词过程把原始字符转换为有限词表中的标记 ID,并保留从文本到标记、再从标记回到文本的规则。标记可以是字符、词、子词、字节或它们的组合;它们是计算单位,不是天然稳定的语言学词。
文本规范化先改变输入
在真正切分之前,系统可能统一 Unicode 形式、大小写、空白、标点或控制字符。视觉上相同的字符可能有不同编码序列,组合字符也可能由单码位或多个码位表示。若训练和推理采用不同规范化,文本会得到不同标记。
规范化不是无损清洁。大小写可能区分专名,空格与换行可能表达代码结构,繁简转换、全半角和重音处理都可能改变语义或来源证据。需要搜索、引用和审计的系统应保留原文,同时对模型输入应用版本化处理。
安全边界也与规范化有关。不可见字符、相似字形和方向控制符可能让人看到的文本与模型或过滤器处理的序列不同。验证、显示与分词若使用不一致规则,容易产生绕过和错误定位。
字符和词是两种不同取舍
字符级词表较小,几乎不受未知词影响,但序列更长,模型需要从多个字符学习词和短语结构。对中文等书写系统,一个字符也不总等同于一个词;对表情、组合符号和多码位字形,字符边界本身需要明确。
词级分词序列较短,单位更接近日常词汇,却会产生庞大词表,并难以处理新词、拼写变化和形态丰富语言。空格不能在所有语言中稳定定义词边界,网址、代码、数字和混合语言也会增加例外。
选择单位会改变模型能看到的关系。字符模型容易共享拼写片段,词模型则为每个完整词维护独立表示。两者没有脱离任务的优劣,需比较序列长度、词表覆盖、计算成本和语言范围。
子词在词表与序列长度之间折中
子词方法从训练语料统计中建立词表,把高频片段保留为整体,把低频词拆成较小单位。常见词可能只占一个标记,新词也能由多个已知片段表示,从而减少未知词。
子词边界由算法、训练语料、词表大小和预分词规则决定,不保证符合词素或人工词法。一个词在不同模型中可能被拆成完全不同序列;同一模型中,前导空格、大小写或上下文格式也可能改变切分。
词表越大,平均序列可能越短,但嵌入矩阵和输出层更大,稀有标记训练次数更少。词表较小会增加序列长度和注意力成本。选择需要结合模型容量、上下文长度和目标语言评估。
标记数不等于字数或词数
上下文窗口和计费通常按 token 计算,不能用固定字符比例精确换算。中文、英文、代码、数字和表情的标记密度不同,同一种语言中的专业术语和异常空白也会改变长度。
截断若发生在标记层,可能切断句子、代码块或文档证据。检索增强系统按字符分块后再送入模型,实际 token 长度可能超过限制;按 token 分块又需要保留与原文位置的映射,才能正确引用。
模型输出的 token 还需解码为文本。某些标记片段单独不是有效可显示字符串,流式输出要等足够字节或字符后再渲染。不能把每个 token 当作完整用户字符逐一处理。
特殊标记承载协议而非正文
模型通常使用序列开始、结束、填充、未知、分隔或角色等特殊标记。它们可能参与注意力、损失掩码和生成停止条件。不同模型的特殊标记 ID 与语义不同,迁移词表或更换 tokenizer 时不能沿用旧常量。
聊天模板会把系统、用户和助手消息转换为带特殊边界的标记序列。界面上相同的对话,使用不同模板可能形成不同模型输入。训练模板与推理模板不一致,会削弱角色边界和行为稳定性。
用户文本若能够伪造控制标记,系统需要由序列化协议转义或隔离。仅在字符串层搜索特殊词形,不一定覆盖 tokenizer 实际识别方式。
分词会形成跨语言和领域差异
词表来自训练语料,资源丰富语言和常见领域通常获得更完整片段,低资源语言、专业术语和新命名可能被拆得更细。这会增加序列长度和学习难度,也可能使相同信息在不同语言中占用不同上下文预算。
代码、地名、化学式、坐标和产品编号具有特殊结构。通用子词可能把关键标识拆散,导致复制和精确匹配困难。领域适配可以扩展词表或重新训练 tokenizer,但会破坏与原模型嵌入和输出层的直接兼容。
比较模型时,应报告 tokenizer 版本,并按语言、脚本和领域统计长度、未知处理与错误。只比较统一 token 数会让不同 tokenizer 的实际文本量不可比。
词表和模型必须共同版本化
token ID 只是词表中的位置。即使两个 tokenizer 词表大小相同,相同 ID 也可能对应不同片段。模型权重中的嵌入行和输出行与具体词表绑定,替换 tokenizer 后直接加载权重会让输入语义错位。
生产系统应保存 tokenizer 文件、规范化规则、预分词配置、特殊标记和聊天模板。缓存、向量索引、微调数据和评测集若依赖 token 序列,也要记录同一版本。
分词质量最终要在任务中验证:是否稳定保留关键术语,长度是否满足延迟和成本预算,解码是否无损,跨语言差异是否可接受。token 是模型计算接口的一部分,而不是无关的文本预处理细节。
资料依据
- Stuart Russell、Peter Norvig:《Artificial Intelligence: A Modern Approach》第四版资料站,https://aima.cs.berkeley.edu/
- Ashish Vaswani 等:Attention Is All You Need,https://arxiv.org/abs/1706.03762