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








