【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)。


相关推荐
风铃喵游34 分钟前
让大模型调用MCP服务变得超级简单
前端·人工智能
booooooty1 小时前
基于Spring AI Alibaba的多智能体RAG应用
java·人工智能·spring·多智能体·rag·spring ai·ai alibaba
PyAIExplorer1 小时前
基于 OpenCV 的图像 ROI 切割实现
人工智能·opencv·计算机视觉
风口猪炒股指标1 小时前
技术分析、超短线打板模式与情绪周期理论,在市场共识的形成、分歧、瓦解过程中缘起性空的理解
人工智能·博弈论·群体博弈·人生哲学·自我引导觉醒
ai_xiaogui2 小时前
一键部署AI工具!用AIStarter快速安装ComfyUI与Stable Diffusion
人工智能·stable diffusion·部署ai工具·ai应用市场教程·sd快速部署·comfyui一键安装
聚客AI3 小时前
Embedding进化论:从Word2Vec到OpenAI三代模型技术跃迁
人工智能·llm·掘金·日新计划
weixin_387545643 小时前
深入解析 AI Gateway:新一代智能流量控制中枢
人工智能·gateway
聽雨2373 小时前
03每日简报20250705
人工智能·社交电子·娱乐·传媒·媒体
二川bro4 小时前
飞算智造JavaAI:智能编程革命——AI重构Java开发新范式
java·人工智能·重构
acstdm4 小时前
DAY 48 CBAM注意力
人工智能·深度学习·机器学习