【NLP基础知识系列课程-Tokenizer的前世今生第三课】多模态世界中的 Tokenizer 策略

发布于:2025-05-28 ⋅ 阅读:(23) ⋅ 点赞:(0)

引子:当输入不仅是文字时,我们在“切”什么?

在自然语言处理中,我们早已习惯了先分词、再建模。但当下的人工智能模型,面对的不只是“语言”了。

图像、音频、视频、表格、乃至 3D 结构、生物信号等,都已逐步融入统一的预训练框架中。在这种多模态场景下,我们不得不重新思考:

当输入不再是文本,Tokenizer 的职责是否也随之演化?

我们是否能像对待句子一样,将一幅图像“分成一串 token”?这篇文章就是来回答这个问题的。


一、文本仍然是 Anchor:Tokenizer 的延续基石

尽管“多模态”听起来多元复杂,但大多数多模态大模型,仍然在语言输入端使用传统 NLP 的分词方法:

  • CLIP 使用 GPT-2 的 Byte-Level BPE(字节级 BPE),保留对 emoji、中文、拼音的完整覆盖能力
  • BLIP 采用 BERT 的 WordPiece 分词方式,构造语义稳定的子词表示
  • Flamingo / PaLI / GIT2 使用 SentencePiece + Unigram Tokenizer,配合 Text-to-Text 模型框架统一语言接口

这部分没有新瓶装旧酒——而是体现了“稳定、紧凑、鲁棒”的文本 token 表达仍然是多模态模型的 backbone。


二、图像模态的 tokenizer:Patch 与 Codebook 之争

2.1 Patch Embedding:ViT 的视觉 token 起点

在 Vision Transformer(ViT)中,图像被切成固定尺寸的 Patch(如 16×16 像素),每个 Patch 被线性映射成一个 token embedding。这样,一个 224×224 图像就会生成 196 个 token。

这些 token 是连续向量,表示局部图像区域的低层特征。与 NLP 最大的不同是,它们没有“词表”,也没有“索引”,更像是连续的信号块。

代表模型:

  • ViT:最早提出这种 Patch-Embedding 模式
  • CLIP:图像分成 Patch,文本用 BPE,二者在对比损失中学习共享语义空间
  • BLIP、BLIP-2:融合 ViT Patch Embedding + Cross-Attention + 文本特征建模
2.2 离散化视觉 token:让图像也“分词”

如果我们能像处理句子那样,把图像转换成一串索引 token(类似“视觉词汇”),那我们就可以使用现成的 Transformer 语言模型来建模图像。这正是 DALL·E 与 VQGAN 的策略。

其基本流程是:

  1. 训练一个图像 autoencoder(如 VQ-VAE, VQGAN)
  2. 把每个 Patch 映射成 codebook 中的离散 ID(token index)
  3. 得到图像 token 序列(如 [42, 583, 991, …])
  4. 把文本 token + 图像 token 拼接送入语言模型生成

代表模型:

  • DALL·E:首个基于离散视觉 token 的文本生成图像模型
  • CogView、nuwa:中文视觉语言建模中广泛采用
  • LaVIT:将离散图像 token 解耦为 Patch token + Region token 进行精细控制

这种方式使图像完全变成“词串”,统一建模成为可能。

表格对比
方法类型 是否离散 token 是否可拼接 优势 局限 代表模型
Patch Embedding 表达细粒度空间结构 无法直接进入语言模型 ViT, CLIP, BLIP
VQ token 可与语言统一建模 空间感弱,需靠 layout 学习 DALL·E, LaVIT

三、音频与视频的 tokenizer:建模时序信号的策略

3.1 音频的建模思路

音频是时间维度的连续波形,其常见预处理包括:

  • 频谱化:如 Mel-Spectrogram,将音频转为时间 × 频率的二维图像
  • 帧切片:将波形按时间窗口滑动分帧,提取 MFCC、能量等特征
  • 离散编码:通过 SoundStream 等音频编码器,将音频压缩为 token index

代表模型:

  • Whisper(OpenAI):端到端语音识别,输入频谱图,输出文本 token
  • AudioLM(Google):三阶段建模(语音内容 token → 音色 token → 音频生成)
  • Voicebox:采样合成任务中使用自回归的音频 token 序列
3.2 视频的序列化处理方式

视频本质上是“图像 × 时间”的组合。主流做法包括:

  • 逐帧提取 + Patch Token 化,再拼接成一段序列
  • 时间卷积 / 时序注意力,对帧间动态建模
  • 离散编码:VideoGPT、VideoMAE 将短视频编码为 token 序列

代表模型:

  • VideoGPT:将视频帧编码为 token,通过 Transformer 生成新视频
  • Flamingo:支持跨模态的上下文视觉问答,融合图像帧序列与文本问答

音频与视频的 tokenizer 关键点在于:信息压缩 + 顺序保持 + 对齐能力


四、三种多模态 tokenizer 协同策略

策略一:语言为锚,视觉对齐
  • 文本 token 是主导,图像通过 Cross-Attention 引导交互
  • 模型不会“生成图像”,而是理解并基于图像生成文本
  • 代表:BLIP, Flamingo, GIT
策略二:模态平权,统一 token 流
  • 图像、文本都被编码为离散 token,拼接成一串统一输入
  • 可用于生成图像、生成文本、生成视频等多模态场景
  • 代表:DALL·E, LaVIT, ImageBind
策略三:插槽控制,模态标注
  • 使用特殊 token 控制输入模态边界:如 、、
  • 模型根据这些 token 推断模态类型与上下文含义
  • 代表:MiniGPT-4, Kosmos, SEED, PandaGPT

这些策略决定了 tokenizer 的使用方式结构设计,是模态融合策略的本质体现。


五、自动学习的 tokenizer:让模型自己决定如何切

5.1 Token Learner

Google 提出的 TokenLearner 模块引入一个注意力机制,让模型自动从图像中挑选最关键 patch,以动态生成 token 数量。

优势:

  • 自适应 token 数量
  • 增强可解释性
  • 提高计算效率
5.2 Vokenization

ACL 2020 提出“Voken”,为每个词配对一个图像表示 embedding,构建语言与视觉的交叉引导机制。

可视化表明:

  • “river” 对应瀑布、溪流图像 embedding
  • 强化词义联想,增强语言建模的“视觉常识”
5.3 Perceiver IO / Flamingo-style MLP routing

Perceiver 使用 latent vector 池对任意模态编码,再统一进入 Transformer 网络;Flamingo 则采用 Gate 机制动态路由模态信息。

自动 tokenizer 的方向是:

  • 弱化预设规则
  • 强化跨模态语义对齐
  • 优化 token 粒度与位置感知

六、总结:多模态 Tokenizer 是 AI 理解的“信息中介”

一个优秀的多模态 tokenizer,不只是“切词工具”,而是跨语言与感知之间的桥梁。

它是:

  • 一个模态压缩器(compressor)
  • 一个语义对齐器(aligner)
  • 一个结构提示器(structurer)

未来,我们或将见证:

  • tokenizer 与 encoder 融合为模态感知引擎
  • 动态感知上下文,灵活生成 token 序列
  • 从统一序列转向多模态图结构 token 表示

下一篇,我们将走入非语言符号世界:基因、蛋白质、分子结构等生物序列,那些没有自然语言规律却承载复杂规则的序列,又该如何“切”?

我们会看到,Tokenizer 的尽头,也许是对“序列”的终极理解。

敬请期待。


网站公告

今日签到

点亮在社区的每一天
去签到