模型简介
模型特点
模型能力
使用案例
🚀 Gemma 3n模型
Gemma 3n是Google推出的轻量级、最先进的开源模型家族,基于与Gemini模型相同的研究和技术构建。该模型支持文本、音频和视觉(图像和视频)输入,适用于多种任务。
🚀 快速开始
本仓库对应Gemma 3n E2B IT(指令)的发布版本,可与Hugging Face的transformers
库配合使用,支持文本、音频和视觉(图像和视频)输入。
⚠️ 重要提示
要在Hugging Face上使用Gemma,您需要审查并同意Google的使用许可。请确保您已登录Hugging Face,然后点击下方按钮。请求将立即处理。
点击下方按钮以确认许可:[确认许可](javascript:void(0))
✨ 主要特性
- 多模态输入:支持文本、图像、视频和音频输入,并生成文本输出。
- 高效执行:专为在低资源设备上高效运行而设计。
- 架构创新:有两种基于有效参数的尺寸可供选择,通过将低利用率矩阵从加速器中卸载,使模型的内存占用与传统2B模型相当。
- MatFormer架构:允许在E4B模型中嵌套子模型。
📦 安装指南
首先,安装transformers
库。Gemma 3n从transformers 4.53.0版本开始支持。
$ pip install -U transformers
💻 使用示例
基础用法
使用pipeline
API进行推理:
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
model="google/gemma-3n-e2b-it",
device="cuda",
torch_dtype=torch.bfloat16,
)
高级用法
使用指令调优模型时,需要先使用聊天模板处理输入,然后将其传递给管道:
messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."}]
},
{
"role": "user",
"content": [
{"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
{"type": "text", "text": "What animal is on the candy?"}
]
}
]
output = pipe(text=messages, max_new_tokens=200)
print(output[0]["generated_text"][-1]["content"])
# Okay, let's take a look!
# Based on the image, the animal on the candy is a **turtle**.
# You can see the shell shape and the head and legs.
在单个GPU上运行模型
from transformers import AutoProcessor, Gemma3nForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3n-e2b-it"
model = Gemma3nForConditionalGeneration.from_pretrained(model_id, device="cuda", torch_dtype=torch.bfloat16,).eval()
processor = AutoProcessor.from_pretrained(model_id)
messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."}]
},
{
"role": "user",
"content": [
{"type": "image", "image": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"},
{"type": "text", "text": "Describe this image in detail."}
]
}
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device, dtype=torch.bfloat16)
input_len = inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**inputs, max_new_tokens=100, do_sample=False)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
# **Overall Impression:** The image is a close-up shot of a vibrant garden scene,
# focusing on a cluster of pink cosmos flowers and a busy bumblebee.
# It has a slightly soft, natural feel, likely captured in daylight.
📚 详细文档
模型信息
描述
Gemma是Google推出的轻量级、最先进的开源模型家族,基于与Gemini模型相同的研究和技术构建。Gemma 3n模型专为在低资源设备上高效运行而设计,能够处理多模态输入,包括文本、图像、视频和音频,并生成文本输出。这些模型的预训练和指令调优变体具有开放的权重,并且在超过140种口语语言的数据上进行了训练。
Gemma 3n模型使用选择性参数激活技术来降低资源需求,该技术允许模型以2B和4B的有效参数大小运行,低于其实际包含的参数总数。有关Gemma 3n高效参数管理技术的更多信息,请参阅Gemma 3n页面。
输入和输出
- 输入:
- 文本字符串,如问题、提示或待总结的文档。
- 图像,归一化为256x256、512x512或768x768分辨率,并编码为每个256个令牌。
- 音频数据,单声道,每秒编码为6.25个令牌。
- 总输入上下文为32K个令牌。
- 输出:
- 针对输入生成的文本,如问题的答案、图像内容的分析或文档的总结。
- 总输出长度最多为32K个令牌,减去请求输入的令牌数。
模型数据
训练数据集
这些模型在一个包含多种来源的数据集上进行训练,总计约11万亿个令牌。训练数据的知识截止日期为2024年6月。主要组成部分如下:
- 网络文档:多样化的网络文本集合,确保模型接触到广泛的语言风格、主题和词汇。训练数据集包含超过140种语言的内容。
- 代码:让模型接触代码有助于学习编程语言的语法和模式,提高其生成代码和理解与代码相关问题的能力。
- 数学:在数学文本上进行训练有助于模型学习逻辑推理、符号表示和解决数学查询。
- 图像:广泛的图像使模型能够执行图像分析和视觉数据提取任务。
- 音频:多样化的声音样本使模型能够识别语音、从录音中转录文本并识别音频数据中的信息。
这些多样化数据源的组合对于训练一个强大的多模态模型至关重要,该模型可以处理各种不同的任务和数据格式。
数据预处理
以下是应用于训练数据的主要数据清理和过滤方法:
- CSAM过滤:在数据准备过程的多个阶段应用严格的CSAM(儿童性虐待材料)过滤,以确保排除有害和非法内容。
- 敏感数据过滤:作为使Gemma预训练模型安全可靠的一部分,使用自动化技术从训练集中过滤掉某些个人信息和其他敏感数据。
- 其他方法:根据内容质量和安全性进行过滤,符合我们的政策。
实现信息
硬件
Gemma使用张量处理单元(TPU)硬件(TPUv4p、TPUv5p和TPUv5e)进行训练。训练生成式模型需要大量的计算能力,TPU专为机器学习中常见的矩阵运算而设计,在该领域具有以下优势:
- 性能:TPU专门设计用于处理训练生成式模型涉及的大量计算,与CPU相比,可以显著加快训练速度。
- 内存:TPU通常配备大量的高带宽内存,允许在训练过程中处理大型模型和批量大小,这有助于提高模型质量。
- 可扩展性:TPU Pod(大型TPU集群)为处理大型基础模型不断增长的复杂性提供了可扩展的解决方案。您可以在多个TPU设备上分布训练,以实现更快、更高效的处理。
- 成本效益:在许多情况下,与基于CPU的基础设施相比,TPU可以为训练大型模型提供更具成本效益的解决方案,特别是考虑到更快的训练速度节省的时间和资源。
这些优势符合Google的可持续运营承诺。
软件
训练使用了JAX和ML Pathways。JAX允许研究人员利用最新一代的硬件(包括TPU)来更快、更高效地训练大型模型。ML Pathways是Google构建能够跨多个任务进行泛化的人工智能系统的最新努力,特别适用于基础模型,包括这样的大型语言模型。
JAX和ML Pathways的结合使用在关于Gemini模型家族的论文中有描述:“Jax和Pathways的‘单控制器’编程模型允许单个Python进程编排整个训练过程,大大简化了开发工作流程。”
评估
基准测试结果
这些模型在全精度(float32)下针对大量不同的数据集和指标进行了评估,以涵盖内容生成的不同方面。标记为IT的评估结果是针对指令调优模型的,标记为PT的评估结果是针对预训练模型的。
推理和事实性
基准测试 | 指标 | n-shot | E2B PT | E4B PT |
---|---|---|---|---|
HellaSwag | 准确率 | 10-shot | 72.2 | 78.6 |
BoolQ | 准确率 | 0-shot | 76.4 | 81.6 |
PIQA | 准确率 | 0-shot | 78.9 | 81.0 |
SocialIQA | 准确率 | 0-shot | 48.8 | 50.0 |
TriviaQA | 准确率 | 5-shot | 60.8 | 70.2 |
Natural Questions | 准确率 | 5-shot | 15.5 | 20.9 |
ARC-c | 准确率 | 25-shot | 51.7 | 61.6 |
ARC-e | 准确率 | 0-shot | 75.8 | 81.6 |
WinoGrande | 准确率 | 5-shot | 66.8 | 71.7 |
BIG-Bench Hard | 准确率 | few-shot | 44.3 | 52.9 |
DROP | 令牌F1分数 | 1-shot | 53.9 | 60.8 |
多语言
基准测试 | 指标 | n-shot | E2B IT | E4B IT |
---|---|---|---|---|
MGSM | 准确率 | 0-shot | 53.1 | 60.7 |
WMT24++ (ChrF) | 字符级F分数 | 0-shot | 42.7 | 50.1 |
Include | 准确率 | 0-shot | 38.6 | 57.2 |
MMLU (ProX) | 准确率 | 0-shot | 8.1 | 19.9 |
OpenAI MMLU | 准确率 | 0-shot | 22.3 | 35.6 |
Global-MMLU | 准确率 | 0-shot | 55.1 | 60.3 |
ECLeKTic | ECLeKTic分数 | 0-shot | 2.5 | 1.9 |
STEM和代码
基准测试 | 指标 | n-shot | E2B IT | E4B IT |
---|---|---|---|---|
GPQA Diamond | 宽松准确率/准确率 | 0-shot | 24.8 | 23.7 |
LiveCodeBench v5 | pass@1 | 0-shot | 18.6 | 25.7 |
Codegolf v2.2 | pass@1 | 0-shot | 11.0 | 16.8 |
AIME 2025 | 准确率 | 0-shot | 6.7 | 11.6 |
其他基准测试
基准测试 | 指标 | n-shot | E2B IT | E4B IT |
---|---|---|---|---|
MMLU | 准确率 | 0-shot | 60.1 | 64.9 |
MBPP | pass@1 | 3-shot | 56.6 | 63.6 |
HumanEval | pass@1 | 0-shot | 66.5 | 75.0 |
LiveCodeBench | pass@1 | 0-shot | 13.2 | 13.2 |
HiddenMath | 准确率 | 0-shot | 27.7 | 37.7 |
Global-MMLU-Lite | 准确率 | 0-shot | 59.0 | 64.5 |
MMLU (Pro) | 准确率 | 0-shot | 40.5 | 50.6 |
伦理和安全
评估方法
我们的评估方法包括结构化评估和对相关内容政策的内部红队测试。红队测试由多个不同的团队进行,每个团队有不同的目标和人工评估指标。这些模型针对与伦理和安全相关的多个不同类别进行了评估,包括:
- 儿童安全:评估文本到文本和图像到文本的提示,涵盖儿童安全政策,包括儿童性虐待和剥削。
- 内容安全:评估文本到文本和图像到文本的提示,涵盖安全政策,包括骚扰、暴力和血腥内容以及仇恨言论。
- 代表性危害:评估文本到文本和图像到文本的提示,涵盖安全政策,包括偏见、刻板印象以及有害关联或不准确信息。
除了开发阶段的评估,我们还进行“保证评估”,这是我们为责任治理决策进行的“独立”内部评估。这些评估与模型开发团队分开进行,以提供关于发布的决策依据。高级别的评估结果会反馈给模型团队,但提示集不会公开,以防止过拟合并保留结果对决策的参考价值。值得注意的保证评估结果会作为发布审查的一部分报告给我们的责任与安全委员会。
评估结果
在所有安全测试领域,我们发现模型在儿童安全、内容安全和代表性危害等类别上的表现相对于之前的Gemma模型达到了安全水平。所有测试均在没有安全过滤器的情况下进行,以评估模型的能力和行为。对于文本到文本、图像到文本和音频到文本,以及所有模型大小,模型产生的政策违规极少,并且在严重违规方面相对于之前的Gemma模型有显著改进。我们评估的一个局限性是主要包括英语提示。
使用和局限性
预期用途
开放生成式模型在各个行业和领域有广泛的应用。以下潜在用途列表并非详尽无遗,其目的是提供有关模型创建者在模型训练和开发过程中考虑的可能用例的上下文信息。
- 内容创作和通信:
- 文本生成:生成创意文本格式,如诗歌、脚本、代码、营销文案和电子邮件草稿。
- 聊天机器人和对话式AI:为客户服务、虚拟助手或交互式应用程序提供对话界面。
- 文本总结:生成文本语料库、研究论文或报告的简洁总结。
- 图像数据提取:提取、解释和总结视觉数据以用于文本通信。
- 音频数据提取:转录口语、将语音翻译成其他语言的文本并分析基于声音的数据。
- 研究和教育:
- 自然语言处理(NLP)和生成式模型研究:这些模型可以作为研究人员进行生成式实验的基础。
引用
@article{gemma_3n_2025,
title={Gemma 3n},
url={https://ai.google.dev/gemma/docs/gemma-3n},
publisher={Google DeepMind},
author={Gemma Team},
year={2025}
}
📄 许可证
本模型的使用受Gemma许可证的约束。请参阅使用条款以获取更多信息。
模型页面
资源和技术文档
作者
Google DeepMind








