模型简介
模型特点
模型能力
使用案例
🚀 Gemma 3n模型介绍
Gemma 3n是Google推出的轻量级、最先进的开源模型家族,基于与Gemini模型相同的研究和技术构建。该模型支持文本、音频和视觉(图像和视频)输入,适用于多种任务,如自动语音识别、自动语音翻译等。
🚀 快速开始
本仓库对应Gemma 3n E4B IT(指令)的发布版本,可与Hugging Face的transformers
库配合使用。Gemma 3n模型从transformers 4.53.0版本开始得到支持。
首先,安装Transformers库:
$ pip install -U transformers
然后,根据你的用例复制相关代码片段。
运行模型
使用pipeline
API运行
你可以使用pipeline
初始化模型和处理器进行推理,如下所示:
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
model="google/gemma-3n-e4b-it",
device="cuda",
torch_dtype=torch.bfloat16,
)
对于经过指令微调的模型,你需要先使用聊天模板处理输入,然后将其传递给pipeline。
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-e4b-it"
model = Gemma3nForConditionalGeneration.from_pretrained(model_id, device_map="auto", 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)
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.
✨ 主要特性
- 多模态输入支持:能够处理文本、音频、图像和视频输入。
- 架构创新:有两种基于有效参数的尺寸可供选择,采用MatFormer架构,允许在E4B模型中嵌套子模型。
- 高效资源利用:通过将低利用率矩阵从加速器中卸载,使模型能够以与传统4B模型相当的内存占用运行。
- 广泛的训练数据:在包含约11万亿个标记的数据集上进行训练,涵盖网络文档、代码、数学、图像和音频等多种来源。
📦 安装指南
安装Transformers库:
$ pip install -U transformers
💻 使用示例
基础用法
使用pipeline
API进行推理:
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
model="google/gemma-3n-e4b-it",
device="cuda",
torch_dtype=torch.bfloat16,
)
高级用法
在单个GPU上运行模型:
from transformers import AutoProcessor, Gemma3nForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3n-e4b-it"
model = Gemma3nForConditionalGeneration.from_pretrained(model_id, device_map="auto", 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)
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月。主要组成部分包括:
- 网络文档:多样化的网络文本集合,确保模型接触到广泛的语言风格、主题和词汇。
- 代码:让模型学习编程语言的语法和模式,提高生成代码和理解代码相关问题的能力。
- 数学:帮助模型学习逻辑推理、符号表示和解决数学查询。
- 图像:广泛的图像使模型能够执行图像分析和视觉数据提取任务。
- 音频:多样化的声音样本使模型能够识别语音、转录文本和识别音频数据中的信息。
数据预处理
对训练数据应用了以下关键的数据清理和过滤方法:
- CSAM过滤:在数据准备过程的多个阶段应用严格的CSAM(儿童性虐待材料)过滤,确保排除有害和非法内容。
- 敏感数据过滤:使用自动化技术从训练集中过滤出某些个人信息和其他敏感数据。
- 其他方法:根据我们的政策进行内容质量和安全性过滤。
实现信息
硬件
Gemma使用张量处理单元(TPU)硬件(TPUv4p、TPUv5p和TPUv5e)进行训练。TPU专为机器学习中常见的矩阵运算而设计,具有以下优势:
- 性能:能够处理生成模型训练中的大量计算,比CPU显著加速训练。
- 内存:通常配备大量高带宽内存,允许在训练期间处理大型模型和批量大小,有助于提高模型质量。
- 可扩展性:TPU Pod(大型TPU集群)为处理大型基础模型的不断增长的复杂性提供了可扩展的解决方案。
- 成本效益:在许多情况下,与基于CPU的基础设施相比,TPU可以为训练大型模型提供更具成本效益的解决方案。
软件
使用JAX和ML Pathways进行训练。JAX使研究人员能够利用最新一代的硬件(包括TPU)进行更快、更高效的大型模型训练。ML Pathways是Google构建能够跨多个任务进行泛化的人工智能系统的最新努力,特别适用于基础模型。
评估
基准测试结果
这些模型在全精度(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)和生成模型研究:这些模型可以作为研究人员试验生成模型和NLP技术的基础。
限制
用户应注意这些模型存在一定的局限性。评估主要使用英语语言提示,可能在其他语言上的性能有所不同。此外,模型的知识截止日期为2024年6月,可能无法提供最新的信息。
🔧 技术细节
架构创新
Gemma 3n模型有两种基于有效参数的尺寸可供选择,采用MatFormer架构,允许在E4B模型中嵌套子模型。通过将低利用率矩阵从加速器中卸载,使模型能够以与传统4B模型相当的内存占用运行。
训练硬件
使用张量处理单元(TPU)硬件(TPUv4p、TPUv5p和TPUv5e)进行训练,TPU具有高性能、大内存、可扩展性和成本效益等优势。
训练软件
使用JAX和ML Pathways进行训练,JAX使研究人员能够利用最新一代的硬件进行更快、更高效的大型模型训练,ML Pathways特别适用于基础模型。
📄 许可证
要在Hugging Face上访问Gemma,你需要审查并同意Google的使用许可。为此,请确保你已登录Hugging Face并点击下方按钮。请求将立即处理。
引用
@article{gemma_3n_2025,
title={Gemma 3n},
url={https://ai.google.dev/gemma/docs/gemma-3n},
publisher={Google DeepMind},
author={Gemma Team},
year={2025}
}
模型资源








