
去年 5 月,Gemma 3n 发布早期预览版,现在正式发布 。它针对的是移动优先、设备上的 AI 应用,使用新的设计技术来提高效率和性能,例如逐层嵌入和 transformer 嵌套。
Gemma 3n 使用逐层嵌入(PLE)技术来减少运行模型所需的RAM,同时保持相同的总参数数量。该技术只将核心逐层权重加载到加速内存中,通常是 VRAM,而其余参数则保留在 CPU 上。具体来说,模型的 50 亿参数变体只需要加载 20 亿参数到加速器中;对于 80 亿参数变体,则是 40 亿。
另一种新技术是 MatFormer(Matryoshka Transformer的简称),它允许逐层嵌套,使得一个更大的模型(例如,具有 4B 参数)包含一个更小的版本(例如,只有 2B 参数)。这种方法支持了谷歌所说的弹性推理,允许开发者选择完整的模型或其更快但功能齐全的子模型。MatFormer 还支持Mix-n-Match方法,让开发者创建中等大小的版本:
这种技术允许你精确地切割 E4B 模型的参数,主要是通过调整每层的前馈网络隐藏维度(从 8192 到 16384)并有选择地跳过一些层。
在未来,Gemma 3n 将完全支持弹性推理,可以根据当前任务和设备负载在完整模型和子模型之间动态切换。
Gemma 3n 中另一个旨在加速推理的新特性是 KV 缓存共享,它旨在加速首个 token 时间,这是流式响应应用的关键指标。根据谷歌的说法,使用这种技术对长上下文特别有效:
中间层的局部和全局注意力的键和值直接与所有顶层共享,与 Gemma 3 4B 相比,预填充性能显著提高了 2 倍。
Gemma 3n 还带来了原生的多模态能力,得益于其音频和视频编码器。在音频方面,它实现了设备上的自动语音识别和语音翻译。
编码器每 160 毫秒的音频生成一个 token(大约每秒 6 个 token),然后将这些 token 作为输入集成到语言模型中,提供声音上下文的细粒度表示。
谷歌表示,他们观察到英语和西班牙语、法语、意大利语和葡萄牙语之间的翻译效果很好。得益于其流式架构,Gemma 3n 音频编码器可以处理任意长度的音频,但在发布时,剪辑最初将限制在 30 秒以内。
关于 Gemma 3n 最后一点说明是,值得强调的是,它支持 256x256、512x512 和 768x768 像素的分辨率,并且可以在谷歌 Pixel 设备上每秒处理多达 60 帧。与 Gemma 3 相比,它在量化的情况下提供了 13 倍的速度提升(没有量化的情况下是 6.5 倍),并且内存占用是原来的四分之一。
原文链接:
评论