原文 | How LLMs See Images, Audio, and More摘要:语言模型不再局限于文本。如今的 AI 系统可以理解图像、处理音频,甚至处理视频,但它们仍然需要先将一切都转换为 Token。就像「Hello world!」在文本处理中会变成离散的 Token 一样,一张照片会被切成图像块,一首歌会变成一个音频编码序列。
编译 | 段小草 + Gemini 2.5 Pro
语言模型不再局限于文本。如今的 AI 系统可以理解图像、处理音频,甚至处理视频,但它们仍然需要先将一切都转换为 Token。就像「Hello world!」在文本处理中会变成离散的 Token 一样,一张照片会被切成图像块,一首歌会变成一个音频编码序列。
每种类型的媒体都需要完全不同的 Tokenization 策略,每种策略在质量、效率和语义理解之间都有其独特的权衡。
随着模型超越纯文本,多模态 (multi-modal) Tokenization 使它们能够与自然语言一起消化图像、音频和视频。虽然将原始输入映射到离散序列的核心思想保持不变,但每种模态都使用不同的策略。
图像 Tokenization图像 Tokenization 将视觉数据转换为可由大语言模型处理的离散 Token。与天然以离散符号形式存在的文本不同,图像是连续的像素数组,需要转换为 Token 序列。
图像 Tokenization 的主要方法
1. 图像块嵌入 (Patch Embeddings) (Vision Transformer)
图像块嵌入将图像分割成固定大小、不重叠的「patch」。每个 patch 被视为一个单独的 Token,类似于词在文本序列中的作用。这使得图像能被处理成可理解的单元,就像文本 Token 一样。
技术流程:
一个输入图像 (例如 224×224 像素) 被分割成大小为 P×P (通常是 16×16 或 14×14) 的 patch。 每个 patch 包含 P²×C 个值 (其中 C 是通道数,对于 RGB 图像通常是 3)。 这些像素值被展平,并通过一个学习到的嵌入矩阵进行线性投影,以创建一个 D 维向量。 添加位置编码以保留 patch 之间的空间关系。 结果是一个包含 N 个 Token 的序列,其中 N = (H×W)/(P²)。须知:
优点: 简单,保留空间结构,能与标准 Transformer 架构良好协作。 局限性: 固定的 patch 大小可能与自然物体的边界不符,对于高分辨率图像可能效率低下。 典型应用: 图像分类、目标检测、通用计算机视觉任务。示例: 一个 224×224 的图像,使用 16×16 的 patch,会产生 196 个 Token (14×14 的网格)。
2. 离散 VAE 与向量量化 (Vector Quantization)
向量量化就像创建一个视觉词典。它将数值转换到「桶」中,以便 AI 能够将图像部分与桶中的模式进行匹配。
技术流程:
一个编码器网络将输入图像压缩成一个更小、更易于管理的表示。 系统随后将这个压缩图像的每个部分与其学习到的「视觉词汇表」中最接近的模式进行匹配。 这个词汇表通常包含 512-8,192 种不同的视觉模式 (如纹理、形状或颜色组合)。 结果是一个模式编号的网格——例如,一个代表 256×256 像素图像的 32×32 的编码网格。 一个解码器网络可以通过查找每个编码并重建相应的视觉模式来重新创建原始图像。变体 (remove?):
VQ-VAE: 使用直通梯度估计的基础向量量化。 VQ-GAN: 添加对抗性训练以获得更好的重建质量。 RQ-VAE: 使用多个量化层以获得分层表示。须知:
优点: 真正的离散 Token,优秀的压缩比。 局限性: 需要预训练码本,量化过程中可能存在信息丢失。 典型应用: 图像生成、图像压缩、多模态语言模型。3. CLIP 风格的对比嵌入 (Contrastive Embeddings)
像 CLIP 这样的对比学习方法在共享的视觉-语言空间中创建嵌入,然后可以将其离散化为伪 Token (pseudo-token) 以用于下游任务。
技术流程:
通过对比学习将图像和文本嵌入到一个共享的高维空间中。 连续的嵌入捕获了视觉和文本概念之间的语义关系。 离散化技术 (k-均值聚类、乘积量化或学习到的码本) 将连续嵌入转换为离散 Token。 这些 Token 在保持语义意义的同时,与离散序列模型兼容。须知:
优点: 具有语义意义的 Token,自然的视觉-语言对齐,可在不同任务间迁移。 局限性: 需要大规模的对比预训练,离散化可能会丢失细粒度细节。 典型应用: 多模态检索、视觉-语言理解、跨模态生成。需要权衡的要点
每种 Tokenization 方法都有需要注意的重要设计决策,这些决策影响着性能、效率和适用性:
计算效率:
Patch 大小直接影响序列长度和计算成本。 更小的 patch (8×8) 保留更多细节,但会产生更长的序列。 更大的 patch (32×32) 效率更高,但可能会丢失细粒度信息。 Token 数量影响 Transformer 注意力复杂度 (二次方扩展)。信息保留与压缩:
更高的压缩比减少了 Token 数量,但可能丢失视觉细节。 基于 VQ (Vector Quantization) 的方法提供了出色的压缩,但需要仔细设计码本。 Patch 嵌入保留了所有信息,但压缩程度最低。 选择取决于你的任务是否需要完美的重建。 音频 Tokenization音频 Tokenization 将连续的音频波形转换为可由序列模型处理的离散 Token。与文本或图像不同,音频因其时间特性、高采样率以及需要同时保留语义内容和声学属性 (如韵律、音色和说话人特征) 而面临独特的挑战。
音频 Tokenization 的主要方法
1. 编解码器 Token (Codec Tokens) (神经音频编解码器)
像 EnCodec 和 SoundStream 这样的神经音频编解码器 (neural audio codec) 在保留质量的同时将音频压缩成 Token 序列。它们使用一种称为「向量量化」的技术,将音频特征映射到一个有限的学习编码集合。
技术流程:
音频被分割成重叠的窗口 (通常为 10-25 毫秒)。 一个编码器网络将每个窗口转换为一个连续的特征表示。 向量量化将特征映射到最接近的码本条目 (通常有 1024-4096 个编码)。 多个量化层创建分层表示。 结果是一个频率约为 50-75 Hz 的离散 Token 序列 (远低于原始音频采样率)。模型:
EnCodec: Facebook 的编解码器,采用残差向量量化,实现了高压缩比。 SoundStream: Google 的方法,具有高效的时间建模能力。须知:
优点: 保留声学属性,能够实现高质量重建,适用于音乐和语音。 局限性: 需要预训练的编解码器模型,在极低比特率下可能会引入失真。 应用: 音频生成、压缩、音乐合成、语音合成。2. 音素/字符 Token (基于 ASR)
自动语音识别 (Automatic Speech Recognition, ASR) 将口语音频转换为文本表示,创建捕获语义内容但丢弃声学属性的 Token。
技术流程:
音频通过 ASR 系统 (例如 Whisper, Wav2Vec2) 进行处理。 语音被转换为音素 (声音单元) 或字符/单词。 Token 代表语言内容而非声学特征。 可以包含时间信息和置信度分数。 通常与说话人识别或语言检测相结合。Token 类型:
音素 (Phonemes): 细粒度的语言单位 (每种语言通常有 40-50 个音素)。 字符 (Characters): 直接转录为文本字符。 单词/子词 (Words/Subwords): 使用 BPE 或类似 Tokenization 方法的更高级别的语义单位。须知:
优点: 表示紧凑,与语言模型兼容,捕获语义意义。 局限性: 完全丢失韵律、说话人身份、情感内容和非语音音频。 应用: 语音转文本、语音助手、内容索引、跨模态检索。3. 多尺度 Token 栈 (分层表示)
分层方法使用不同时间分辨率的多个 Token 序列来捕获全局结构和细粒度细节,类似于多尺度的图像或视频表示。
技术流程:
粗粒度 Token (Coarse tokens): 在低时间分辨率 (例如 12.5 Hz) 下捕获全局音频结构。 细粒度 Token (Fine tokens): 在更高分辨率 (例如 50 Hz) 下表示详细的声学信息。 多个量化层创建了一个金字塔式的表示。 Token 可以联合处理或分阶段处理 (粗到细生成)。 交叉注意力机制通常连接不同的尺度。实现示例:
残差向量量化 (Residual Vector Quantization): 顺序应用多个码本以捕获不同层次的细节。 时间层次结构 (Temporal Hierarchies): 对不同时间尺度使用不同的编码率。 频率层次结构 (Frequency Hierarchies): 对不同频段进行独立的 Tokenization。须知:
优点: 平衡了效率与质量,支持渐进式生成,捕获多尺度模式。 局限性: 增加了模型复杂性,需要仔细设计层次级别。 应用: 高质量音频生成、音乐建模、高效压缩。需要权衡的要点
时间分辨率与效率:
更高的 Token 速率保留更多的时间细节,但增加了序列长度。 编解码器 Token 通常比原始音频实现 50-100 倍的压缩。 ASR Token 提供了极高的压缩,但丢失了所有声学信息。语义信息与声学信息:
编解码器 Token 保留声学属性 (音高、音色、说话人身份)。 ASR Token 捕获语义内容,但去除了节奏/语调信息。 多尺度方法尽力平衡这两种信息。质量与压缩:
更多的码本条目提高了重建质量,但增加了模型大小。 分层方法可以实现更好的质量-压缩权衡。领域应用:
针对语音优化的编解码器可能不适用于音乐,反之亦然。 像 EnCodec 这样的通用编解码器旨在处理多种音频类型。 基于 ASR 的方法仅限于语音,并且可能无法很好地处理口音或语言。最佳的 Tokenization 方法取决于你的具体用例:高质量音频生成使用编解码器 Token,语义理解使用 ASR Token,当你同时需要效率和质量时则使用多尺度方法。
视频 Tokenization如今,最常见的视频 Tokenization 方式是将视频转化为视频帧,并将视频作为带有附加音频的图像采样输入。例如,Gemini 目前将视频处理为与文本/音频 (来自在线来源,因此可以链接) 交错的连续图像。
Tokenization 的未来研究人员正在探索改进大模型中 Tokenization 的方法:
无 Tokenization 模型 (Tokenization-Free Models) :一些前沿研究提出完全取消 Tokenization,让模型直接在原始字节或 Unicode 码位上操作。这种方法避免了预定义词汇表的需求,使模型能够原生处理任何语言、符号或字符,而无需依赖启发式规则或子词单元。然而,训练此类模型的计算成本更高。 自适应 Tokenization (Adaptive Tokenization) :自适应 Tokenization 不是使用固定的 Token 词汇表,而是允许模型根据输入动态地确定最优的 Token 分割方式。这可能意味着将复杂或罕见的词分解为更小的单元,同时将常用短语或数字保留为整个 Token。其目标是在效率 (更少的 Token) 和语义清晰度 (保持有意义的单元完整) 之间取得平衡。结论
多模态 Tokenization 将文本 Token 的概念扩展到了图像、音频和视频。图像通过图像块嵌入 (patch embedding) (分割成网格方块)、向量量化 (vector quantization) (学习视觉码本) 或对比嵌入 (contrastive embedding) (CLIP 风格) 进行转换。音频使用神经编解码器 (neural codec) (保留声音质量)、ASR 转录 (转换为文本) 或分层方法 (多分辨率级别)。
每种方法都有其权衡,这些 Tokenization 的选择直接影响了 AI 系统能够理解和生成的内容。
来源:智慧芯片一点号