
一、 图像的“离散 Token 化”图像如何变成一篇文章在自然语言处理NLP中文本变成 Token 是靠分词器Tokenizer查字典。但图像是连续的像素矩阵RGB通道如何把它变成像文字一样的离散符号Discrete TokensChameleon 采用了一个定制的 VQ-GANVector Quantized Generative Adversarial Networks矢量量化生成对抗网络 变体来作为它的 Image Tokenizer。这个过程可以用“矩阵下采样 - 密码本查表 - 离散网格化”来概括。详细步骤拆解假设我们输入一张分辨率为3通道RGB的彩色图像步骤 A编码与空间压缩Encoder输入图像首先通过一个由多层卷积神经网络CNN组成的 Encoder。编码器的作用是对图像进行下采样Downsampling提取高阶的视觉特征同时压缩空间维度。Chameleon 的下采样倍数Stride为 16。经过压缩后原本的空间分辨率变成了。此时图像变成了一个的特征图网格Grid。网格中的每一个点Cell都是一个连续的高维实数向量假设维度是。步骤 B矢量量化与密码本查表Vector Quantization —— 最核心的一步这是将“连续”变为“离散”的魔法所在。VQ-GAN 内部维护着一个“密码本”Codebook你可以把它理解为一个包含固定数量向量的“视觉字典”。参数设定Chameleon 的 Codebook 大小Vocabulary Size为 8192。即这个字典里一共有 8192 个固定的维向量索引编号为。最近邻查找Nearest Neighbor Search对于特征图网格中的每一个连续特征向量算法会遍历整个 Codebook计算它与 Codebook 中所有 8192 个向量的欧氏距离L2 Distance。离散替代找出距离最近的那一个密码本向量并用这个向量的索引值一个之间的整数来替代原有的连续向量。结果原本由连续实数组成的特征图被彻底转换为了一个阶的整数矩阵。这 1024 个整数就是这张图像的离散 Tokens步骤 C对抗重建与保真Decoder GAN为了确保压缩后的 Token 真的保留了完整的图像信息在训练 Tokenizer 时会把这 1024 个整数索引重新去 Codebook 里查出对应的向量拼回的特征图。随后送入一个基于 CNN 的 Decoder 进行上采样努力将其还原回的原始图像。为什么引入 GAN 普通的 VQ-VAE 在大幅压缩后恢复出的图像非常模糊。VQ-GAN 引入了判别器Discriminator和感知损失Perceptual Loss利用生成对抗机制强迫 Decoder 去补充细节纹理如毛发、皮肤纹理确保即使图像被高度压缩为 1024 个 Token重建出来后在人眼看来依然极其逼真。2. 精确的数据对齐图像输入像素。图像输出1024 个离散 Token 组成的序列。视觉词表大小为 8192。论文提示的局限性由于这种机制把图像强行划分为了的网格对于图像中非常微小的文字如路标、书本小字单个网格难以精细表征因此该 Tokenizer 存在一定的 OCR 性能上限。二、 统一词表Unified Vocabulary字与图的绝对平等有了文本 Token 和图像 Token 后Chameleon 重新训练了一个全新的 BPEByte-Pair Encoding分词器。总词表大小Total Vocabulary65,536。空间分配在这 65,536 个总位置中直接划出了 8192 个固定位置给上述的图像 Token其余的位置分配给各种语言的文本、数字以及代码 Token。底层逻辑由于它们在同一个词表里文本 Token ID 和图像 Token ID 会进入同一个 Embedding 层映射到完全相同的隐藏层维度Hidden Dimension中。对后面的 Transformer 而言它根本不知道送进来的是一句话还是半张图它看到的只是一串平等的 Token 序列。三、 核心基座Chameleon Transformer 架构Chameleon 的核心骨干是一个纯粹的 Decoder-only Transformer整体遵循 LLaMA 架构。不管是文本续写还是图像生成它的核心训练目标只有一个下一 Token 预测Next-Token Prediction。跨模态训练的毁灭性痛点不稳定性DivergenceMeta 团队在开发中发现当模型参数量扩大到 8B 以上且训练 Token 超过 1T1万亿时多模态联合自回归训练极度不稳定会频繁发生灾难性的梯度爆炸和 Loss 震荡。原因在于 文本和图像的熵Entropy截然不同。文本的预测概率非常集中信息密度高而图像网格序列在局部具有极高的冗余性和完全不同的表征模式。当它们共享相同的 Transformer 权重时两种模态在内部会剧烈“竞争”导致标准 Softmax 机制下的输出范数Norm失控地无约束增长引发 Logit 漂移。驯服不稳定的三大工程绝招为了让大体量的模型尤其是 Chameleon-34B稳定存活Meta 对标准 LLaMA 架构进行了三处极具深度的底层手术① 强力引入 QK-NormalizationQuery-Key 归一化在标准的自回归 Attention 机制中随着层数加深不同模态特征模长的差异会导致注意力矩阵的数值不断膨胀。Chameleon 在计算 Scaled Dot-Product Attention 之前显式地对 Query () 和 Key () 向量应用 Layer Normalization按通道进行归一化这一步将输入 Softmax 的数值强行锚定在一个极其稳定的、与模态无关的范围内成功镇压了跨模态时注意力的不稳定性。② 规范化层重测序Norm Re-ordering对于 34B 的超大模型光靠 QK-Norm 还不够。Chameleon 改变了 Transformer 块内部残差连接Residual Connection和规范化层RMSNorm的先后顺序标准 LLaMA 2 结构Chameleon 34B 结构这种设计通过在残差外部直接对 Attention 和 FFNFeed-Forward Network的输出进行缩放有效锁死了由 SwiGLU 激活函数乘法特性带来的特征膨胀。⚠️ 关键细节实验发现这种重测序结构如果与 Dropout 结合会导致严重的性能崩塌。因此Chameleon-34B 是在完全关闭置 0所有 Dropout 的情况下进行稳定训练的。③ 引入末端-loss 正则化为了防止输出层Linear Head的 Logit 绝对值随时间不断漂移导致 bf16 溢出模型在总损失函数Loss中引入了微小的-loss 正则化惩罚权重为。它通过拉住 Softmax 的配分函数Partition Function确保系统长期运行下的数值稳定性。四、 训练生命周期与数据平衡Data BalancingChameleon 共经历了高达 9.2T Tokens 的庞大预训练。多模态图文对与交织网页Interleaved Data训练集不仅包含“图片-标签”对更包含了大量的真实网页。在这些数据里文字后面可能跟着图图后面又跟着文字。微调阶段的“模态平衡Data Balancing”在进行高质量的指令微调SFT时Meta 强调必须极度精准地控制文本、纯图、图文指令的比例。如果某一种模态比例失衡大模型会建立起有害的“无条件先验”例如哪怕你只让它回答文字它也会因为画图先验太强无条件地在结尾吐出 1024 个图像 Token变成一个控制不住想画画的“疯子”。五、 推理Inference阶段的独特硬件挑战将图像彻底自回归化后在实际部署和推理时Chameleon 带来了传统纯文本 LLM 未曾面对的工程痛点硬件控制流中断Data-dependencies per-step在自回归解码时大模型是逐个 Token 吐出数据的。GPU 没法提前预知下一个 Token 是文字还是图片。因此CPU 必须在每一步强制阻断、读取 GPU 吐出的 Token ID。如果发现 ID 落在了的图像词表里就要立刻改变接下来的硬件调度控制流。这会造成严重的流水线阻塞Pipeline Bubble。定长图像数据块Fixed-sized units文本生成可以随时遇到 [EOS] 停下来长度不可控但图像一旦决定生成模型就必须雷打不动地连续吐满 1024 个 Token 才能凑齐一张完整的图片这要求 KV Cache 的管理必须支持高效的块状动态分配。总结Chameleon 的划时代意义Chameleon 证明了不需要分离的视觉专家网络如 CLIP不需要复杂的交叉注意力机制Cross-Attention Router仅靠一个最纯粹、最经典的自回归 Transformer就能完美地融汇理解与生成。 它把视觉信号变成了一种可读、可写的离散“高级语言”为未来的全模态、全智能体General Agent基座指出了一条极具纯粹美学的技术路径。