模型概述
模型特點
模型能力
使用案例
🚀 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








