模型概述
模型特點
模型能力
使用案例
🚀 Gemma 3 27B 指令調優 INT4
Gemma 3 27B 指令調優 INT4 模型,是將來自 Kaggle 的 QAT INT4 Flax 檢查點轉換為 HF+AWQ 格式,方便用戶使用。需注意,這裡並未使用 AWQ 進行量化。你可以在本模型倉庫中找到轉換腳本 convert_flax.py
。
注意:此模型與官方在 這裡 發佈的 QAT INT4 GGUFs 不同。
以下是來自 https://huggingface.co/google/gemma-3-27b-it 的原始模型卡片內容。
🚀 快速開始
若要在 Hugging Face 上使用 Gemma 模型,你需要查看並同意 Google 的使用許可。請確保你已登錄 Hugging Face 賬號,然後點擊下方按鈕,請求將立即處理。 [確認許可](Acknowledge license)
安裝依賴庫
首先,安裝適用於 Gemma 3 的特定版本的 Transformers 庫:
$ pip install git+https://github.com/huggingface/transformers@v4.49.0-Gemma-3
運行模型
使用 pipeline
API 運行
你可以使用 pipeline
初始化模型和處理器以進行推理,示例代碼如下:
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
model="google/gemma-3-27b-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][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 或多 GPU 上運行模型
# pip install accelerate
from transformers import AutoProcessor, Gemma3ForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3-27b-it"
model = Gemma3ForConditionalGeneration.from_pretrained(
model_id, device_map="auto"
).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.
✨ 主要特性
- 多模態處理:能夠處理文本和圖像輸入,並生成文本輸出,適用於多種文本生成和圖像理解任務,如問答、摘要生成和推理等。
- 大上下文窗口:擁有 128K 的大上下文窗口,支持超過 140 種語言,且提供比之前版本更多的模型尺寸選擇。
- 高性能:在多個基準測試中表現出色,在推理、事實性、STEM 和代碼、多語言以及多模態等方面均有良好的性能。
- 安全性提升:在兒童安全、內容安全和代表性危害等方面相對於之前的 Gemma 模型有顯著改進,產生的政策違規情況極少。
📦 安裝指南
安裝適用於 Gemma 3 的特定版本的 Transformers 庫:
$ pip install git+https://github.com/huggingface/transformers@v4.49.0-Gemma-3
💻 使用示例
基礎用法
使用 pipeline
API 初始化模型和處理器進行推理:
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
model="google/gemma-3-27b-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][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.
📚 詳細文檔
模型信息
描述
Gemma 是 Google 推出的一系列輕量級、最先進的開放模型,基於與創建 Gemini 模型相同的研究和技術構建。Gemma 3 模型是多模態的,能夠處理文本和圖像輸入,並生成文本輸出。其預訓練和指令調優變體的權重均開放,擁有 128K 的大上下文窗口,支持超過 140 種語言,且提供比之前版本更多的模型尺寸選擇。Gemma 3 模型適用於多種文本生成和圖像理解任務,如問答、摘要生成和推理等。由於其相對較小的尺寸,它可以部署在資源有限的環境中,如筆記本電腦、臺式機或你自己的雲基礎設施,使更多人能夠使用最先進的 AI 模型,促進創新。
輸入和輸出
- 輸入:
- 文本字符串,如問題、提示或待摘要的文檔。
- 圖像,需歸一化為 896 x 896 分辨率,並編碼為每個 256 個標記。
- 對於 4B、12B 和 27B 尺寸的模型,總輸入上下文為 128K 個標記;對於 1B 尺寸的模型,總輸入上下文為 32K 個標記。
- 輸出:
- 針對輸入生成的文本,如問題的答案、圖像內容的分析或文檔的摘要。
- 總輸出上下文為 8192 個標記。
模型數據
訓練數據集
這些模型在包含多種來源的文本數據集上進行訓練。27B 模型使用 14 萬億個標記進行訓練,12B 模型使用 12 萬億個標記進行訓練,4B 模型使用 4 萬億個標記進行訓練,1B 模型使用 2 萬億個標記進行訓練。主要數據組成部分如下:
- 網絡文檔:多樣化的網絡文本集合確保模型接觸到廣泛的語言風格、主題和詞彙。訓練數據集包含超過 140 種語言的內容。
- 代碼:讓模型接觸代碼有助於其學習編程語言的語法和模式,提高生成代碼和理解與代碼相關問題的能力。
- 數學:在數學文本上進行訓練有助於模型學習邏輯推理、符號表示,並處理數學查詢。
- 圖像:廣泛的圖像使模型能夠執行圖像分析和視覺數據提取任務。
這些多樣化數據源的組合對於訓練一個強大的多模態模型至關重要,使其能夠處理各種不同的任務和數據格式。
數據預處理
以下是應用於訓練數據的主要數據清理和過濾方法:
- CSAM 過濾:在數據準備過程的多個階段應用嚴格的 CSAM(兒童性虐待材料)過濾,以確保排除有害和非法內容。
- 敏感數據過濾:作為使 Gemma 預訓練模型安全可靠的一部分,使用自動化技術從訓練集中過濾掉某些個人信息和其他敏感數據。
- 其他方法:根據內容質量和安全性進行過濾,符合 我們的政策。
實現信息
硬件
Gemma 使用 張量處理單元 (TPU) 硬件(TPUv4p、TPUv5p 和 TPUv5e)進行訓練。訓練視覺語言模型 (VLM) 需要大量的計算能力。TPU 專門為機器學習中常見的矩陣運算而設計,在這一領域具有以下優勢:
- 性能:TPU 專門用於處理訓練 VLM 涉及的大量計算,與 CPU 相比,可以顯著加速訓練過程。
- 內存:TPU 通常配備大量高帶寬內存,允許在訓練期間處理大型模型和批量大小,有助於提高模型質量。
- 可擴展性:TPU Pod(大型 TPU 集群)為處理大型基礎模型不斷增長的複雜性提供了可擴展的解決方案。你可以在多個 TPU 設備上分佈訓練,以實現更快、更高效的處理。
- 成本效益:在許多情況下,與基於 CPU 的基礎設施相比,TPU 可以為訓練大型模型提供更具成本效益的解決方案,特別是考慮到更快的訓練速度所節省的時間和資源。
- 這些優勢符合 Google 對可持續運營的承諾。
軟件
訓練使用 JAX 和 ML Pathways 進行。 JAX 使研究人員能夠利用最新一代的硬件(包括 TPU),更快、更高效地訓練大型模型。ML Pathways 是 Google 最新的構建能夠跨多個任務進行泛化的人工智能系統的努力,特別適用於基礎模型,包括像這樣的大型語言模型。 JAX 和 ML Pathways 結合使用,如 關於 Gemini 模型家族的論文 中所述:“Jax 和 Pathways 的‘單控制器’編程模型允許單個 Python 進程編排整個訓練運行,大大簡化了開發工作流程。”
評估
基準測試結果
這些模型針對大量不同的數據集和指標進行評估,以涵蓋文本生成的各個方面。
推理和事實性
基準測試 | 指標 | Gemma 3 PT 1B | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|---|---|
HellaSwag | 10-shot | 62.3 | 77.2 | 84.2 | 85.6 |
BoolQ | 0-shot | 63.2 | 72.3 | 78.8 | 82.4 |
PIQA | 0-shot | 73.8 | 79.6 | 81.8 | 83.3 |
SocialIQA | 0-shot | 48.9 | 51.9 | 53.4 | 54.9 |
TriviaQA | 5-shot | 39.8 | 65.8 | 78.2 | 85.5 |
Natural Questions | 5-shot | 9.48 | 20.0 | 31.4 | 36.1 |
ARC-c | 25-shot | 38.4 | 56.2 | 68.9 | 70.6 |
ARC-e | 0-shot | 73.0 | 82.4 | 88.3 | 89.0 |
WinoGrande | 5-shot | 58.2 | 64.7 | 74.3 | 78.8 |
BIG-Bench Hard | few-shot | 28.4 | 50.9 | 72.6 | 77.7 |
DROP | 1-shot | 42.4 | 60.1 | 72.2 | 77.2 |
STEM 和代碼
基準測試 | 指標 | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|---|
MMLU | 5-shot | 59.6 | 74.5 | 78.6 |
MMLU (Pro COT) | 5-shot | 29.2 | 45.3 | 52.2 |
AGIEval | 3 - 5-shot | 42.1 | 57.4 | 66.2 |
MATH | 4-shot | 24.2 | 43.3 | 50.0 |
GSM8K | 8-shot | 38.4 | 71.0 | 82.6 |
GPQA | 5-shot | 15.0 | 25.4 | 24.3 |
MBPP | 3-shot | 46.0 | 60.4 | 65.6 |
HumanEval | 0-shot | 36.0 | 45.7 | 48.8 |
多語言
基準測試 | Gemma 3 PT 1B | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|---|
MGSM | 2.04 | 34.7 | 64.3 | 74.3 |
Global-MMLU-Lite | 24.9 | 57.0 | 69.4 | 75.7 |
WMT24++ (ChrF) | 36.7 | 48.4 | 53.9 | 55.7 |
FloRes | 29.5 | 39.2 | 46.0 | 48.8 |
XQuAD (all) | 43.9 | 68.0 | 74.5 | 76.8 |
ECLeKTic | 4.69 | 11.0 | 17.2 | 24.4 |
IndicGenBench | 41.4 | 57.2 | 61.7 | 63.4 |
多模態
基準測試 | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|
COCOcap | 102 | 111 | 116 |
DocVQA (val) | 72.8 | 82.3 | 85.6 |
InfoVQA (val) | 44.1 | 54.8 | 59.4 |
MMMU (pt) | 39.2 | 50.3 | 56.1 |
TextVQA (val) | 58.9 | 66.5 | 68.6 |
RealWorldQA | 45.5 | 52.2 | 53.9 |
ReMI | 27.3 | 38.5 | 44.8 |
AI2D | 63.2 | 75.2 | 79.0 |
ChartQA | 63.6 | 74.7 | 76.3 |
VQAv2 | 63.9 | 71.2 | 72.9 |
BLINK | 38.0 | 35.9 | 39.6 |
OKVQA | 51.0 | 58.7 | 60.2 |
TallyQA | 42.5 | 51.8 | 54.3 |
SpatialSense VQA | 50.9 | 60.0 | 59.4 |
CountBenchQA | 26.1 | 17.8 | 68.0 |
倫理與安全
評估方法
我們的評估方法包括結構化評估和對相關內容政策的內部紅隊測試。紅隊測試由多個不同的團隊進行,每個團隊有不同的目標和人工評估指標。這些模型針對與倫理和安全相關的多個不同類別進行評估,包括:
- 兒童安全:評估文本到文本和圖像到文本的提示,涵蓋兒童安全政策,包括兒童性虐待和剝削。
- 內容安全:評估文本到文本和圖像到文本的提示,涵蓋安全政策,包括騷擾、暴力和血腥內容以及仇恨言論。
- 代表性危害:評估文本到文本和圖像到文本的提示,涵蓋安全政策,包括偏見、刻板印象以及有害關聯或不準確信息。
除了開發階段的評估,我們還進行“保證評估”,這是我們獨立的內部評估,用於責任治理決策。這些評估與模型開發團隊分開進行,為發佈決策提供信息。高層級的評估結果會反饋給模型團隊,但提示集不會公開,以防止過擬合併確保結果能夠為決策提供有效信息。保證評估結果會作為發佈審查的一部分報告給我們的責任與安全委員會。
評估結果
在所有安全測試領域,與之前的 Gemma 模型相比,我們在兒童安全、內容安全和代表性危害等類別中看到了重大改進。所有測試均在不使用安全過濾器的情況下進行,以評估模型的能力和行為。對於文本到文本和圖像到文本的任務,以及所有模型尺寸,模型產生的政策違規極少,並且在無根據推理方面相對於之前的 Gemma 模型有顯著改進。我們評估的一個侷限性是隻包括了英語提示。
使用和限制
預期用途
開放視覺語言模型 (VLM) 在各個行業和領域有廣泛的應用。以下潛在用途列表並不全面,旨在提供有關模型創建者在模型訓練和開發過程中考慮的可能用例的上下文信息。
- 內容創作和通信:
- 文本生成:這些模型可用於生成創意文本格式,如詩歌、腳本、代碼、營銷文案和電子郵件草稿。
- 聊天機器人和對話式 AI:為客戶服務、虛擬助手或交互式應用程序提供對話界面。
- 文本摘要:生成文本語料庫、研究論文或報告的簡潔摘要。
- 圖像數據提取:這些模型可用於提取、解釋和總結視覺數據,用於文本通信。
- 研究和教育:
- 自然語言處理 (NLP) 和 VLM 研究:這些模型可作為研究人員實驗 VLM 和 NLP 技術、開發算法以及推動該領域發展的基礎。
- 語言學習工具:支持交互式語言學習體驗,幫助進行語法糾正或提供寫作練習。
- 知識探索:協助研究人員探索大量文本,通過生成摘要或回答特定主題的問題。
限制
- 訓練數據:
- 訓練數據的質量和多樣性會顯著影響模型的能力。訓練數據中的偏差或差距可能導致模型響應的侷限性。
- 訓練數據集的範圍決定了模型能夠有效處理的主題領域。
- 上下文和任務複雜性:
- 模型更擅長能夠用明確提示和指令描述的任務。開放式或高度複雜的任務可能具有挑戰性。
- 模型的性能可能受到提供的上下文量的影響(在一定程度上,更長的上下文通常會導致更好的輸出)。
- 語言歧義與細微差別:自然語言本質上是複雜的,模型可能難以理解微妙的細微差別、諷刺或比喻語言。
- 事實準確性:模型根據從訓練數據集中學習到的信息生成響應,但它們不是知識庫,可能會生成不正確或過時的事實陳述。
- 常識推理:模型依賴於語言中的統計模式,在某些情況下可能缺乏應用常識推理的能力。
倫理考慮和風險
視覺語言模型 (VLM) 的開發引發了一些倫理問題。在創建開放模型時,我們仔細考慮了以下方面:
- 偏差和公平性:在大規模真實世界文本和圖像數據上訓練的 VLM 可能反映訓練材料中嵌入的社會文化偏差。這些模型經過了仔細審查,輸入數據進行了預處理,並在本卡片中報告了後續評估結果。
- 錯誤信息和濫用:VLM 可能被濫用來生成虛假、誤導或有害的文本。我們提供了負責任使用模型的指南,詳見 負責任生成式 AI 工具包。
- 透明度和問責制:本模型卡片總結了模型的架構、能力、限制和評估過程的詳細信息。一個負責任開發的開放模型為開發者和研究人員提供了在整個 AI 生態系統中共享創新和使用 VLM 技術的機會。
風險識別和緩解措施
- 偏差的延續:鼓勵在模型訓練、微調及其他用例中進行持續監測(使用評估指標、人工審查),並探索去偏差技術。
- 有害內容的生成:內容安全機制和指南至關重要。鼓勵開發者根據其特定的產品政策和應用用例謹慎行事,並實施適當的內容安全保障措施。
- 惡意用途:技術限制以及對開發者和最終用戶的教育可以幫助減輕 VLM 被惡意使用的風險。我們提供了教育資源和用戶舉報濫用行為的機制。Gemma 模型的禁止使用情況在 Gemma 禁止使用政策 中列出。
- 隱私侵犯:模型在經過過濾以去除某些個人信息和其他敏感數據的數據集上進行訓練。鼓勵開發者遵守隱私法規,並採用保護隱私的技術。
優勢
在發佈時,與類似規模的模型相比,這個模型系列提供了高性能的開放視覺語言模型實現,從一開始就為負責任的 AI 開發而設計。
使用本文檔中描述的基準評估指標,這些模型在性能上優於其他類似規模的開放模型替代方案。
🔧 技術細節
硬件
Gemma 使用 張量處理單元 (TPU) 硬件(TPUv4p、TPUv5p 和 TPUv5e)進行訓練。TPU 專門為機器學習中常見的矩陣運算而設計,在訓練視覺語言模型 (VLM) 時具有性能、內存、可擴展性和成本效益等優勢,並且符合 Google 對可持續運營的承諾。
軟件
訓練使用 JAX 和 ML Pathways 進行。JAX 使研究人員能夠利用最新一代的硬件(包括 TPU),更快、更高效地訓練大型模型。ML Pathways 是 Google 最新的構建能夠跨多個任務進行泛化的人工智能系統的努力,特別適用於基礎模型,包括像這樣的大型語言模型。
📄 許可證
本模型使用的許可證為 Gemma。
引用
@article{gemma_2025,
title={Gemma 3},
url={https://goo.gle/Gemma3Report},
publisher={Kaggle},
author={Gemma Team},
year={2025}
}









