引子:当输入不仅是文字时,我们在“切”什么?
在自然语言处理中,我们早已习惯了先分词、再建模。但当下的人工智能模型,面对的不只是“语言”了。
图像、音频、视频、表格、乃至 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 的策略。
其基本流程是:
- 训练一个图像 autoencoder(如 VQ-VAE, VQGAN)
- 把每个 Patch 映射成 codebook 中的离散 ID(token index)
- 得到图像 token 序列(如 [42, 583, 991, …])
- 把文本 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 的尽头,也许是对“序列”的终极理解。
敬请期待。