GLM5.2的一个遗憾是它不是多模态的,不具备视觉能力。
于是Baseten公司把Kimi-K2.6的视觉编码器移植到GLM5.2上去了,做出了一版具备视觉能力的GLM-5.2
地址:huggingface.co/baseten/GLM-5.2-Vision-NVFP4
以下是如何做的介绍:
# 具备视觉能力的 GLM 5.2
GLM 5.2 是目前表现最出色的开源语言模型之一。然而,与 Qwen、Kimi 和 MiniMax 等其他旗舰模型不同,GLM 5.2 并不支持图像输入。
我们将其视为一项挑战:能否通过后训练为 GLM 5.2 加入视觉能力,同时完全不影响其原有的纯文本能力?
事实证明,答案是肯定的。
令人惊讶的是,我们只训练了一个极小的两层 MLP,参数量仅为 5000 万,就成功赋予了 GLM 5.2 视觉能力。在 MMMU-Pro 基准测试中,它取得了 55% 的成绩,与 Claude 4.5 Haiku 的水平相当。
在此过程中,我们还观察到了极强的泛化能力:GLM 甚至能够识别训练数据集中从未提及过的人物。
# 语言模型是如何“看见”的?
Qwen、Kimi 和 MiniMax 等开源语言模型使用一种名为“视觉塔”(vision tower)的模块来处理图像。
首先需要注意的是,与主语言模型相比,这些视觉塔通常非常小。例如,Kimi K2.6 的视觉塔只有 4.66 亿个参数,仅占 Kimi K2.6 总参数量的 0.04%。
一个典型的视觉塔包含三个核心组件:
1. 预处理模块
2. Transformer 编码器
3. 投影器
预处理模块通常使用卷积层,将原始像素划分为若干图像块进行处理,并生成一串 token,随后将这些 token 输入 Transformer 编码器。
该编码器通常采用全注意力机制,不使用因果掩码。
投影器则负责接收编码器的输出,并将其映射到主语言模型的嵌入空间中。
因此,本项目的目标是验证这样一种方案:从一个公开可用的视觉塔出发,仅训练视觉投影器,是否就能让 GLM 获得视觉能力。
我们最终选择了 Kimi K2.6 的视觉塔。一方面,它在各项基准测试中表现强劲;另一方面,Megatron、vLLM、SGLang 和 TRT-LLM 等训练及推理框架都对它提供了良好的支持。
事实上,Moonshot 在训练 Kimi K2.6 时也采用了非常相似的方法:他们基于 SigLIP-SO-400M 进行了持续预训练。SigLIP-SO-400M 是 Google 于 2023 年训练的视觉编码器:arxiv.org/abs/2303.15343
# SFT 中的 Grokking 现象
我们随机初始化了一个投影器,用于将 Kimi 视觉编码器的输出映射到 GLM 的嵌入空间。
首先,我们使用 6.6 万张公开图像以及与之配对的问题和答案,进行了两个训练周期的监督微调(SFT)。
训练参数如下:
* 批次大小:64
* 学习率:5e-4
在训练进行到大约第 900 步时,我们观察到损失值突然大幅下降。一个训练周期共有 1035 步,因此这一现象发生在第一个训练周期接近结束时。
这表明视觉投影器已经学会了如何将视觉特征与 GLM 的潜在表示空间进行对齐。
**SFT 期间的 Grokking(顿悟式学习):在第一个训练周期结束前不久,投影器突然掌握了如何将编码器生成的图像特征与 GLM 的语言模型主干进行对齐。**
# 令人惊讶的泛化能力
观察到这种 Grokking 现象后,我们希望进一步了解:对于未出现在这 6.6 万张对齐图像中的物体、图像和人物,模型究竟具备多强的识别能力。
有趣的是,我们发现这种泛化效果相当显著。模型甚至能够说出从未出现在对齐数据集中的知名人物姓名。
我们训练出的具备视觉能力的 GLM 5.2,在识别史蒂芬·霍金的测试中,有 26% 的概率能够给出正确答案,尽管“Hawking”这个名字从未出现在我们的 SFT 或强化学习数据集中。
除正确答案外,模型最常给出的其他答案包括阿尔伯特·爱因斯坦、理查德·费曼和奥本海默。
# 强化学习中的 Grokking 现象
为了在 SFT 阶段诱发 Grokking,我们发现必须只使用简单的问答对,而不能使用较长的描述文本。
我们的假设是,较长的描述对于语言模型而言属于“偏离策略”(off-policy)的数据。无论视觉特征对齐得多好,这类内容都会产生较高的损失。
因此,我们的 SFT 数据集中并不包含任何推理过程。这意味着,SFT 阶段结束后得到的模型还无法结合图像上下文进行推理。
为了恢复 GLM 原有的推理能力,并让模型学会针对图像进行推理,我们必须使用强化学习。
在整个过程中,我们仍然只训练视觉投影器。
一开始,GLM 几乎从不生成任何推理内容。事实上,最初四个批次中,每个批次包含 512 个样本,但生成的推理轨迹数量恰好都是零。
直到第五个批次,模型才首次生成了一条推理轨迹。
令人惊讶的是,仅仅这一次参数更新,就足以推动模型开始更频繁地生成推理轨迹。随后,奖励曲线迅速上升,很快便逼近 0.8。
**即使初始奖励极低,GLM 仍然能够在加入图像输入后迅速重新获得其推理能力。**
发布于 山东
