【NLP基础知识系列课程-Tokenizer的前世今生第五课】从静态到可学:Tokenizer 的自适应演化之路

引子:Tokenizer 不再只是"切词器"

在 NLP 或多模态任务中,我们一直使用固定的分词器(如 BPE、WordPiece)在训练前将文本分为 token。但这是一种静态方式,与模型参数解耦,与任务目标无关。

在可微训练、跨模态建模和任务定制兴起的今天,越来越多模型试图摆脱这种静态输入依赖。

于是,"可学习 Tokenizer"(Learnable or Trainable Tokenizer)登场了,它们与模型结构深度耦合,拥有以下特点:

  • token 切分方式可被优化
  • 粒度与结构可调
  • 与模型 loss 联动更新

本篇我们将深入解析这类 tokenizer 的理论背景、典型设计、实现流程、关键机制与实验评估方式


一、可学习 Tokenizer 的核心目标

输入 token 的切分方式如果是固定的,就会带来:

  • Token 冗余或不足(如字符级太长、词级太稀)
  • 任务无关性(生成任务 vs 分类任务切分应不同)
  • 多模态失配(图像 token 与语言 token 粒度不一致)

因此,可学习 tokenizer 希望满足:

min ⁡ θ T E x ∼ D [ L ( f ( T ( x ; θ T ) ) ; θ M ) ] \min_{\theta_T} \mathbb{E}_{x \sim D} \left[ \mathcal{L}(f(T(x;\theta_T));\theta_M) \right] θTminEx∼D[L(f(T(x;θT));θM)]

其中:

  • T ( x ; θ T ) T(x;\theta_T) T(x;θT):可学习的 tokenizer,对输入 x x x 切分
  • f ( ⋅ ; θ M ) f(\cdot;\theta_M) f(⋅;θM):后续模型
  • L \mathcal{L} L:任务 loss(分类、生成等)

目标是让 tokenizer 参数 θ T \theta_T θT 直接优化任务性能,而非单独预设。


二、方法一:Token Learner(Google, 2021)

场景:图像 Patch Token 太多,如何选最关键的?

Token Learner 是一个可插拔的模块,它接收图像 patch embedding,并输出 N N N 个压缩后的 token,供后续 transformer 使用。

架构:
  1. 输入:ViT 输出的 patch embedding X ∈ R P × d X \in \mathbb{R}^{P \times d} X∈RP×d
  2. 使用 1D-CNN + Attention 模块生成选择 mask:
    W = S o f t m a x ( g ( X ) ) ∈ R P × N W = \mathrm{Softmax}(g(X)) \in \mathbb{R}^{P \times N} W=Softmax(g(X))∈RP×N
  3. 输出 token:
    T i = ∑ j = 1 P W j , i X j for i = 1... N T_i = \sum_{j=1}^{P} W_{j,i} X_j \quad \text{for } i = 1...N Ti=∑j=1PWj,iXjfor i=1...N

输出的 T ∈ R N × d T \in \mathbb{R}^{N \times d} T∈RN×d 是新的 token 表示。

优点:
  • 可以压缩长序列
  • 可以实现局部关键区域感知
缺点:
  • 结构不稳定,依赖注意力调节
  • 无 token identity(无词表)

代表应用:

  • EfficientViT、Pix2SeqV2、PaLI

三、方法二:MxDNA(EM-style token learning)

场景:DNA 序列中,不同位置的"motif"不固定,能否自动切分?

MxDNA(ACL 2022)采用 EM 方法动态学习最优 token 划分,结合 attention mask 提高功能片段表达。

核心思路:
  • 初始化:随机 token 划分(可重叠)
  • E步(估计):用当前划分训练模型,统计每个 token 的对任务 loss 的影响
  • M步(优化):更新 token 划分,使得高信息 token 保留,低信息 token 合并或丢弃
信息评分:基于 Shannon Entropy 或 Conditional Mutual Information:

I G ( t ) = H ( Y ) − H ( Y ∣ t ) \mathrm{IG}(t) = H(Y) - H(Y|t) IG(t)=H(Y)−H(Y∣t)

注意力指导:将高评分 token 在 Attention 中给予更大权重。
优点:
  • 保留信息丰富区域
  • 自适应切分,适合 motif 多样性
缺点:
  • 训练复杂(EM 迭代 + re-tokenization)
  • 收敛依赖初始化

代表任务: 基因调控因子预测、序列分类


四、方法三:Vokenization(ACL 2020)

场景:文本 token 的含义如果可以与图像对齐,能否让文本也"视觉化"?

Vokenization 是一个跨模态的 token alignment 方法,为每个文本 token 匹配一个"视觉 embedding",形成"视觉 token"或"voken"。

实现流程:
  1. 文本 token 用 WordPiece 切分
  2. 构建 f t e x t ( t i ) f_{text}(t_i) ftext(ti) 表示每个词的 embedding
  3. 对应图像句对中,从图像库中搜索与 t i t_i ti 相似的视觉 patch embedding f v i s i o n ( v j ) f_{vision}(v_j) fvision(vj)
  4. 用对比损失学习匹配
Loss:

L = − ∑ i log ⁡ exp ⁡ ( f t ( t i ) T f v ( v i ) ) ∑ j exp ⁡ ( f t ( t i ) T f v ( v j ) ) \mathcal{L} = - \sum_i \log \frac{\exp(f_t(t_i)^T f_v(v_i))}{\sum_j \exp(f_t(t_i)^T f_v(v_j))} L=−i∑log∑jexp(ft(ti)Tfv(vj))exp(ft(ti)Tfv(vi))

输出 voken 被送入下游文本模型,可视为"视觉增强语言建模"。


五、方法四:Token Routing & PerceiverIO(DeepMind)

Perceiver 系列模型使用 latent vector 池代替传统 token 序列,并用 cross-attention 做 token routing。

核心机制:
  • 输入 token x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn
  • 构造 latent 查询向量 q 1 , . . . , q k q_1, ..., q_k q1,...,qk
  • 每个 latent vector 从输入 token 中选择相关 token 汇总:

Latent i = ∑ j α i j x j , α i j = s o f t m a x ( q i T x j ) \text{Latent}i = \sum_j \alpha{ij} x_j, \quad \alpha_{ij} = \mathrm{softmax}(q_i^T x_j) Latenti=j∑αijxj,αij=softmax(qiTxj)

即:输入 token 不再决定模型结构,latent query 决定"看哪些 token"。

应用扩展: Flamingo 在 vision-language task 中使用 gated routing,对不同模态 token 分配不同查询门控。


六、评估方法与挑战

可学习 Tokenizer 在实验中应考虑以下维度:

维度 说明 衡量指标
表达能力 token 是否能有效表达语义结构 任务准确率/生成质量
压缩能力 是否减少冗余 token token 数减少率 / latency
对齐性 多模态 token 是否能语义对齐 cross-modal attention score
可解释性 是否能显式看到 token 学到什么 Token mask ablation / GradCAM

七、小结与展望:从"词表"到"认知剪辑器"

可学习 Tokenizer 代表着一种 paradigm shift:

  • 从固定词典转向任务驱动
  • 从被动输入转向结构感知
  • 从分词工具转向模型结构的一部分

未来我们将看到:

  • 与 LoRA、Adapter 结合,实现轻量化 tokenizer 迁移
  • token sparsity / entropy 控制机制成为训练稳定性关键
  • 在生成模型中实现 token 自发现、自演化机制

Tokenizer,不再只是"tokenizer",而是人工智能系统的输入分配器(Input Orchestrator)。


相关推荐
兔兔西23 分钟前
【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)
人工智能
#guiyin1128 分钟前
基于机器学习的心脏病预测模型构建与可解释性分析
人工智能·机器学习
IMA小队长43 分钟前
06.概念二:神经网络
人工智能·深度学习·机器学习·transformer
罗西的思考1 小时前
探秘Transformer系列之(35)--- 大模型量化基础
人工智能·深度学习·机器学习
AI大模型系统化学习1 小时前
AI产品风向标:从「工具属性」到「认知引擎」的架构跃迁
大数据·人工智能·ai·架构·大模型·ai大模型·大模型学习
拾忆-eleven3 小时前
NLP学习路线图(十六):N-gram模型
人工智能·学习·自然语言处理
编程有点难3 小时前
Python训练打卡Day39
人工智能·python·深度学习
小喵喵生气气3 小时前
Python60日基础学习打卡Day40
人工智能·深度学习·机器学习
广州智造4 小时前
OptiStruct实例:消声器前盖ERP分析(2)RADSND基础理论
数据库·人工智能·算法·机器学习·数学建模·3d·软件构建
爱写代码的小朋友4 小时前
智变与重构:AI 赋能基础教育教学的范式转型研究报告
人工智能·重构