2 模型架构
本文为论文《Gemma 3:轻量开放的多模态模型家族》「中文全文翻译」板块的对应章节,与「论文原文」板块同一章节一一对应,层级保持一致。
Gemma 3 模型遵循与前几代相同的通用仅解码器(decoder-only)Transformer 架构(Vaswani et al., 2017),其大部分架构元素与前两代 Gemma 版本相似。 我们使用分组查询注意力(Grouped-Query Attention,GQA)(Ainslie et al., 2023),并结合 RMSNorm(Zhang and Sennrich, 2019)的后归一化(post-norm)和预归一化(pre-norm)。 受 Dehghani et al.(2023)、Wortsman et al.(2023)和 Chameleon Team(2024)的启发,我们用 QK-norm 取代了 Gemma 2 的软截断(soft-capping)。 在本节中,我们重点介绍与先前版本的一些关键差异。
5:1 的局部/全局层交错。 我们在局部滑动窗口自注意力(Beltagy et al., 2020)与全局自注意力(Luong et al., 2015)之间交替,其模式为每 1 个全局层对应 5 个局部层,并以局部层作为模型的第一层。
表 1:Gemma 3 模型的参数量。我们的词表有 256k 个条目。
长上下文。 Gemma 3 模型支持 128K 个 token 的上下文长度,唯一的例外是 1B 模型,其上下文长度为 32K。我们将全局自注意力层的 RoPE 基频从 10k 提高到 1M,并将局部层的频率保持在 10k。我们采用与 Chen et al.(2023)位置插值类似的过程来扩展全局自注意力层的跨度。
2.1 视觉模态
视觉编码器。 我们使用 SigLIP 编码器(Zhai et al., 2023)的一个 400M 变体,它是一个视觉 Transformer(Vision Transformer,ViT)(Dosovitskiy, 2020),使用 CLIP 损失(CLIP loss)的一种变体进行训练(Radford et al., 2021)。 Gemma 视觉编码器以调整为 896 x 896 的正方形图像作为输入,并在来自视觉助手任务的数据上进行微调。 为简单起见,我们在 4B、12B 和 27B 模型之间共享该视觉编码器,并在训练期间将其冻结。
平移与扫描(P&S)。Gemma 视觉编码器在 896 $\times$ 896 的固定分辨率下运行。这在处理非正方形长宽比和高分辨率图像时会产生伪影,导致文本无法辨认,或小物体消失。 我们通过推理阶段的一种自适应窗口算法来解决这一问题。该算法将图像分割为大小相等、覆盖整幅图像且互不重叠的裁剪块,并将其调整为 896×896 像素后送入编码器。 这种开窗操作仅在必要时应用,并控制裁剪块的最大数量。 它是一种仅在推理时进行的优化,可以被禁用以加快推理。
2.2 预训练
我们遵循与 Gemma 2 类似的方案,使用知识蒸馏进行预训练。
训练数据。 我们使用比 Gemma 2 略大的 token 预算对模型进行预训练,即 Gemma 3 27B 使用 14T 个 token,12B 版本使用 12T,4B 使用 4T,1B 使用 2T 个 token。 token 数量的增加考虑了预训练期间使用的图像与文本的混合。 我们还增加了多语言数据的数量,以提升语言覆盖率。 我们同时加入了单语数据和并行数据,并采用受 Chung et al.(2023)启发的策略来处理语言表示的不平衡。
分词器。 我们使用与 Gemini 2.0 相同的分词器:一个具有拆分数字、保留空白和字节级编码的 SentencePiece 分词器(Kudo and Richardson, 2018)。 得到的词表有 262k 个条目。 这一分词器对非英语语言更为均衡。
表 2:按数据、序列(Seq.)和副本进行分片的训练基础设施。
过滤。 我们使用过滤技术来降低不良或不安全言论的风险,并去除某些个人信息和其他敏感数据。 我们将评估集从预训练数据配比中去除污染(decontaminate),并通过尽量减少敏感输出的扩散来降低背诵(recitation)风险。 我们还应用了受 Sachdeva et al.(2024)启发的质量重加权步骤,以减少低质量数据的出现。
蒸馏。 我们为每个 token 采样 256 个 logits,并按教师概率加权。学生通过交叉熵损失在这些样本内学习教师的分布。教师的目标分布在非采样 logits 上被设为零概率,并重新归一化。
2.3 量化感知训练
除了原始检查点之外,我们还以多种标准格式提供模型的量化版本。 这些版本是通过使用量化感知训练(Quantization Aware Training,QAT)(Jacob et al., 2018)对每个模型进行少量步数(通常为 5,000 步)的微调而得到的。 我们使用来自非量化检查点的概率作为目标,并调整数据以匹配预训练和后训练的分布。基于最流行的开源量化推理引擎(例如 llama.cpp),我们聚焦于三种权重表示:逐通道 int4、逐块 int4 和切换式 fp8。 在表 3 中,我们报告了原始模型和量化模型在各种权重表示下、在 32k token 序列长度上带 KV 缓存与不带 KV 缓存时占用的内存。
表 3:原始(bfloat16)与量化检查点在权重和 KV 缓存(+KV)上的内存占用(以 GB 为单位)对比,上下文大小为 32,768,以 8 位量化。
2.4 计算基础设施
我们使用 TPUv4、TPUv5e 和 TPUv5p 训练模型,如表 2 所述。 每个模型配置都经过优化,以最小化训练步时间。 对于视觉编码器,我们预先计算每张图像的嵌入,并直接使用这些嵌入进行训练,不给语言模型的训练增加任何成本。
优化器状态使用 ZeRO-3(Ren et al., 2021)的一种实现进行分片。 对于多 pod 训练,我们在数据中心网络上执行数据副本归约(data replica reduction),采用 Barham et al.(2022)的 Pathways 方法。 我们使用 Jax(Roberts et al., 2023)和 Pathways(Barham et al., 2022)的"单控制器"(single controller)编程范式,以及 GSPMD 分区器(Xu et al., 2021)和 MegaScale XLA 编译器(XLA, 2019)。
表 4:Gemma IT 模型的格式。在分词后显式添加 [BOS] token,或在分词器中使用 add_bos=True 选项。不要对文本"[BOS]"进行分词。
表 5:Gemma 3 27B IT 模型在 Chatbot Arena(Chiang et al., 2024)中的评估。所有模型由人类评分者通过盲测并排评估相互比较。每个模型基于 Elo 评级系统被赋予一个分数。Gemma-3-27B-IT 的数字是 2025 年 3 月 8 日收到的初步结果。
