一文读懂Token:大模型词元化全景综述"

admin 2026-10-15 15:06:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

一文读懂 Token:大模型词元化全景综述

原创

计算机与网络安全
计算机与网络安全

计算机与网络安全

2026年10月13日 07:57
山东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

《Token(词元)全景综述》 是一篇关于大语言模型(LLM)中词元化(Tokenization) 的系统性综述论文(150页)。全文共15章,覆盖了从基础算法到前沿研究的广泛内容。

很多人第一次被大模型震撼,是它能写诗、写代码、做翻译。
但很多人第一次对大模型失望,是发现它连“strawberry 里有几个 r”都答不对。

这不是模型“笨”,而是因为它根本不直接看文字。
在模型内部,文本先被切成一个个 Token(词元),然后才变成数字向量。
这个切分过程,叫 Tokenization(词元化)。

它决定了大模型看到什么、看不到什么,也直接影响:

  • 模型推理快不快
  • 多语言公不公平
  • API 调用贵不贵
  • 安全防护牢不牢
  • 模型能不能做字符级任务

这篇综述,就是系统讲清楚:Token 是怎么来的、有什么问题、未来往哪走。

01

Token 是什么?为什么不能直接用字或词?

大模型处理文本的流程大致是:

原始文本 → 规范化 → 预词元化 → 词元化 → Token ID → 嵌入向量 → 模型

其中最关键的一步,是把文本切成 Token。

1. 词级模型:OOV 问题严重

如果每个词一个 Token,词表会爆炸。
英语至少上百万词,中文、德语、土耳其语更是可以无限造词。
一旦遇到没见过的词,就只能标记为 <OOV>,模型完全不知道它是什么意思。

例子:
如果词表里有 America,但没有 Americans,那 Americans 就会被当成未知词。
模型没法知道它和 America 有关系。

2. 字符级模型:没有 OOV,但序列太长

字符级模型用字母、汉字、字节做 Token。
好处是永远不会遇到 OOV。
坏处是序列变得非常长,计算量爆炸,而且单个字符几乎没有语义。

例子:
California 用词级是 1 个 Token,用字符级是 10 个 Token。
模型要多花 10 倍计算量,但每个字符单独看几乎没意义。

3. 子词词元化:折中方案

子词词元化介于字符和词之间。
它把常见词整体保留,把罕见词拆成更小的子词。
这样既避免 OOV,又控制词表大小,还缩短序列。

主流算法有三个:

  • BPE(Byte-Pair Encoding)
  • Unigram
  • WordPiece

02

三大主流算法:BPE、Unigram、WordPiece

1. BPE:从字节开始,不断合并高频对

BPE 最初是数据压缩算法。
它的思路很简单:
找出文本里最常一起出现的相邻 Token,把它们合并成一个新 Token。

比如:

  • 初始:l o w
  • 发现 l o 经常一起出现 → 合并成 lo
  • 再发现 lo w 经常一起出现 → 合并成 low

这样反复合并,直到词表达到目标大小。

BPE 的优点是简单、压缩好、推理快。
GPT 系列、Llama 系列、Qwen 系列基本都用 BPE。

但 BPE 也有问题:

  • 会产生大量“垃圾中间 Token”
  • 有些 Token 训练后根本用不到,浪费词表
  • 可能破坏词素边界

所以后来出现了很多变体:

  • BPE-dropout:随机丢弃合并,让模型更鲁棒
  • SuperBPE:允许跨空格合并,形成多词 Token
  • BoundlessBPE:从训练开始就允许跨预词元边界
  • PickyBPE:剔除中间垃圾 Token
  • ScaffoldBPE:移除“脚手架”Token

2. Unigram:从大词表开始,不断剪枝

Unigram 是概率模型。
它假设文本是由一个个 Token 独立采样拼接而成的。
训练时先准备一个很大的种子词表,然后不断删除对似然影响最小的 Token,直到词表大小合适。

推理时,它用 Viterbi 算法找概率最大的切分方式。

Unigram 的优点是:

  • 更符合形态学
  • 天然支持子词正则化(采样不同切分)
  • 多语言表现有时更好

缺点是推理效率不如 BPE,所以实际采用不如 BPE 广泛。

3. WordPiece:BERT 用的那个

WordPiece 最早由 Google 提出。
训练时它选择能最大提升语言模型似然的 Token 对进行合并。
推理时常用 MaxMatch:从左到右,每次匹配最长的词表 Token。

BERT 用的就是 WordPiece。
但后来 Hugging Face 的 WordPiece 其实是用 BPE 训练的,只是推理用 MaxMatch。
所以“WordPiece”现在更像一个家族,而不是单一算法。

03

预词元化:为什么 Token 不能跨空格?

在真正切 Token 之前,还有一个步骤叫 预词元化。
它先把文本切成粗粒度单元,比如按空格、标点、数字切。

为什么要这样做?

  • 防止 Token 跨空格,比如 New York 不应该被切成 NewY ork
  • 提高训练和推理效率
  • 让数字、标点处理更一致

常见操作:

  • 规范化:大小写、Unicode、去重音
  • 空格标记:用 ▁ 或 Ġ 表示空格
  • 数字处理:逐位切、三位一组、右对齐等

数字处理特别重要。
GPT-2 会把 8675309 切成 8 67 5 30 9,非常乱。
Llama 2 逐位切,Llama 3 三位一组切。
不同切法直接影响算术能力。

04

多语言问题:英语用户和缅甸语用户,成本差 3.8 倍

这是整篇综述里最扎心的部分之一。

大多数 Tokenizer 是在英语为主的语料上训练的。
结果就是:

  • 英语压缩率高,Token 少
  • 低资源语言被过度切分,Token 多
  • 同样一句话,不同语言 API 成本差很多

论文里有个数据:
用 GPT-4o 生成《世界人权宣言》,英语 vs 缅甸语,成本差 3.8 倍。
如果按国家平均工资折算劳动时间,差距可达 54.3 倍。

这就是所谓的 Token Tax(词元税)。
低资源语言用户,为同样的信息付更多钱、花更多时间。

解决方案包括:

  • 多语言预词元化(SCRIPT、OSPE)
  • 公平词表分配(PA-BPE、XLM-V)
  • 字节级模型(ByT5、MAGNET、FlexiTokens)
  • 转写(罗马化、IPA)
  • 后处理适配(词表扩展、继续训练)

但至今没有完美方案。

05

评估:为什么不能只看 Perplexity?

评估 Tokenizer 很难。
最直接的方法是训练一个模型看下游任务,但太贵。

所以大家用内在指标:

  • 压缩率:Token 越少越好
  • Fertility:每个词平均几个 Token
  • Bits-per-byte:按字节归一化,可跨 Tokenizer 比较
  • Rényi 效率:衡量 Token 频率分布是否最优
  • 形态对齐:Token 边界是否和词素边界一致
  • 跨语言公平性:不同语言 Token 数是否均衡

但要注意:
Perplexity 不能直接跨 Tokenizer 比较,因为分母不同。
必须用 bits-per-byte 或 bits-per-character 这类与 Tokenizer 无关的指标。

还有一个专门测字符级能力的基准:

  • CUTE
  • CharBench
  • LMentry
  • EXECUTE
  • NUPA

比如“strawberry 里有几个 r”,就是典型 CUTE 任务。
大模型经常错,因为它的 Token 里没有单独的 r。

06

非规范词元化:同一个文本,多种切法

一个字符串往往有多种 Token 切法。
标准切法叫规范词元化,其他叫非规范词元化。

比如 tokenization 可以切成:

  • tokenization(规范)
  • token iz ation
  • tok en iz ation

非规范词元化有两大用途:

1. 训练时:子词正则化

随机采样不同切法,让模型更鲁棒。
类似图像里的数据增强。

2. 推理时:边缘化

理论上,字符串概率应该是所有切法概率之和。
但精确计算太难,通常用重要性采样近似。

非规范词元化也有风险:
可以用来绕过安全对齐,进行对抗攻击。

07

字节、字符与视觉 Token:要不要干脆不要 Tokenizer?

既然子词 Tokenizer 这么多问题,能不能不用?

1. 字节级模型

用 UTF-8 字节做 Token,词表只有 256。
没有 OOV,但序列极长。
代表:ByT5、MambaByte、EvaByte。

2. 隐式词元化

模型内部自己学怎么把字节聚合成隐式 Token。
代表:CANINE、MegaByte、BLT、H-Net、FlexiTokens。

3. 视觉文本表示

把文本渲染成图片,用视觉模型处理。
代表:PIXEL、CLIPPO、PIXAR。

优点是跨语言、抗扰动、无词表。
缺点是生成文本困难,需要 OCR,而且渲染本身有歧义。

08

现代 LLM 的 Tokenizer 现状

论文统计了前沿模型:

  • 几乎都用 BPE
  • 词表大小 100k–275k
  • 多语言支持越来越强
  • Claude 可能用最短路径 Tokenization,词表只有 49k/16k
  • Hugging Face 上 94% 的模型复用已有 Tokenizer

这说明:
Tokenizer 创新很少,大家基本沿用少数几种设计。

09

安全与理论:Token 也是攻击面

安全风险

  • 不可见字符注入:零宽连接符、西里尔字母冒充拉丁字母
  • 非规范词元化绕过对齐
  • 未充分训练 Token 作为攻击向量
  • 控制 Token 注入,突破提示模板

理论视角

BPE 和 MaxMatch 都可以用有限状态自动机表示。
Tokenization 优化问题在理论上大多是 NP-hard。
但实际中,自然语言的统计规律让问题变得可解。

10

结论:Token 不是细节,是核心设计

这篇综述的核心结论可以归纳为五条:

  1. Token 决定模型看到什么。
    字符级信息被隐藏,导致算术、拼写、字符任务困难。
  2. Token 影响成本与公平。
    低资源语言被过度切分,用户付更多钱。
  3. Token 影响安全。
    对抗 Token、不可见字符、控制 Token 注入都是真实威胁。
  4. Token 影响模型架构。
    词表大小直接决定嵌入层参数量,影响缩放规律。
  5. Token 研究严重不足。
    实验贵、评估难、创新少,但改进空间巨大。

未来方向:

  • Tokenizer 缩放规律
  • 字节级、视觉级、动态 Token 化
  • 更好的评估基准
  • 跨 Tokenizer 知识迁移

Token 是大模型的第一道关卡。
它不显眼,但决定了很多事情。

Token(词元)全景综述 PDF已上传👇

📁近万份资料(AI安全、大模型与Agent、算力算网),已收录于「人工智能、算力算网」,每天更新,成员可随时查看/下载。

点击立即加入「人工智能、算力算网」

立即加入网络安全AI安全群

-

    一文读懂Token:大模型词元化全景综述" 网络安全文章

    一文读懂Token:大模型词元化全景综述"

    本文系统综述大语言模型中Token词元化的全景技术,涵盖BPE、Unigram、WordPiece等主流算法、预词元化、多语言公平性、评估指标、非规范词元化及安全风险。核心结论为Token决定模型感知、影响成本公平与安全,且研究严重不足,未来需加强Tokenizer缩放规律、字节级模型及评估基准等方向研究。
    滥用GoogleAppsScript作为初始传递/重定向层的钓鱼链" 网络安全文章

    滥用GoogleAppsScript作为初始传递/重定向层的钓鱼链"

    该文档分析了一种新型钓鱼攻击链,攻击者滥用GoogleAppsScript作为初始重定向层,结合恶意域名和伪造文档页面,最终诱导受害者在微软合法设备认证页面输入验证码,完成OAuth设备代码钓鱼攻击,从而获取Microsoft365账户的有效认证令牌。建议用户警惕可疑链接和验证码请求。
    首批!【重磅发布】新华三技术有限公司通过中国信通院智能体互联网治理智能体安全网关技术能力评估" 网络安全文章

    首批!【重磅发布】新华三技术有限公司通过中国信通院智能体互联网治理智能体安全网关技术能力评估"

    新华三H3CSecPathAIGatewayAI安全网关通过中国信通院智能体安全网关技术能力评估,该评估聚焦连接调度与安全治理两大能力域,涵盖十大能力模块。产品主打统一多源AI接入、智能算力调度、全链路身份管控及AI攻击防护等能力,旨在解决模型接入混乱、成本黑盒等痛点,帮助企业实现安全高效的AI服务运营。
    工具|mithril" 网络安全文章

    工具|mithril"

    mithril是一款IoT固件分析工具,具备SBOM生成、CVE匹配、密钥泄露检测和启动安全审计四大功能,项目托管于GitHub。工具仅供安全研究与学习使用,使用者需承担相关法律责任。该工具为IoT安全领域提供了基础分析能力,但文档未提供具体使用方法和操作细节。
    评论:0   参与:  0