模型概述
模型特點
模型能力
使用案例
🚀 Gemma-3 12B指令式GGUF模型
本項目提供了Gemma-3 12B指令式的GGUF模型,通過實驗性的重新量化操作,測試不同量化方式對模型性能的影響,並對模型的使用、訓練數據、實現細節等方面進行了詳細介紹。
🚀 快速開始
文本輸入
./llama-cli -hf google/gemma-3-27b-it-qat-q4_0-gguf -p "Write a poem about the Kraken."
圖像輸入
wget https://github.com/bebechien/gemma/blob/main/surprise.png?raw=true -O ~/Downloads/surprise.png
./llama-gemma3-cli -hf google/gemma-3-12b-it-qat-q4_0-gguf -p "Describe this image." --image ~/Downloads/surprise.png
使用ollama(僅文本)
ollama run hf.co/google/gemma-3-12b-it-qat-q4_0-gguf
✨ 主要特性
- 多模態處理:支持文本和圖像輸入,生成文本輸出。
- 大上下文窗口:4B、12B和27B模型支持128K的輸入上下文,1B模型支持32K的輸入上下文。
- 多語言支持:支持超過140種語言。
- 輕量化設計:相對較小的模型尺寸,適合在資源有限的環境中部署。
📦 安裝指南
暫未提供相關安裝步驟。
💻 使用示例
基礎用法
# 文本輸入示例
./llama-cli -hf google/gemma-3-27b-it-qat-q4_0-gguf -p "Write a poem about the Kraken."
高級用法
# 圖像輸入示例
wget https://github.com/bebechien/gemma/blob/main/surprise.png?raw=true -O ~/Downloads/surprise.png
./llama-gemma3-cli -hf google/gemma-3-12b-it-qat-q4_0-gguf -p "Describe this image." --image ~/Downloads/surprise.png
📚 詳細文檔
模型信息
描述
Gemma是谷歌推出的一系列輕量級、先進的開源模型,基於與Gemini模型相同的研究和技術構建。Gemma 3模型支持多模態輸入,能夠處理文本和圖像輸入並生成文本輸出,預訓練和指令調優版本的權重均開源。該模型具有128K的大上下文窗口,支持超過140種語言,並且提供了比之前版本更多的模型尺寸選擇。Gemma 3模型適用於各種文本生成和圖像理解任務,如問答、摘要生成和推理等。其相對較小的尺寸使得它可以在筆記本電腦、臺式機或自有云基礎設施等資源有限的環境中部署,讓更多人能夠使用到先進的AI模型,促進創新。
輸入和輸出
- 輸入:
- 文本字符串,如問題、提示或待摘要的文檔。
- 圖像,歸一化到896 x 896分辨率,並編碼為每個256個令牌。
- 4B、12B和27B模型的總輸入上下文為128K令牌,1B模型為32K令牌。
- 輸出:
- 針對輸入生成的文本,如問題的答案、圖像內容的分析或文檔的摘要。
- 總輸出上下文為8192令牌。
模型數據
訓練數據集
這些模型在包含多種來源的文本數據集上進行訓練。12B模型使用12萬億個令牌進行訓練,4B模型使用4萬億個令牌,1B模型使用2萬億個令牌。主要組成部分包括:
- 網頁文檔:多樣化的網頁文本集合,確保模型接觸到廣泛的語言風格、主題和詞彙。訓練數據集包含超過140種語言的內容。
- 代碼:讓模型接觸代碼有助於學習編程語言的語法和模式,提高其生成代碼和理解代碼相關問題的能力。
- 數學:在數學文本上進行訓練有助於模型學習邏輯推理、符號表示和解決數學查詢。
- 圖像:廣泛的圖像數據使模型能夠執行圖像分析和視覺數據提取任務。
數據預處理
對訓練數據應用了以下關鍵的數據清理和過濾方法:
- CSAM過濾:在數據準備過程的多個階段應用了嚴格的CSAM(兒童性虐待材料)過濾,以確保排除有害和非法內容。
- 敏感數據過濾:作為使Gemma預訓練模型安全可靠的一部分,使用自動化技術從訓練集中過濾掉某些個人信息和其他敏感數據。
- 其他方法:根據內容質量和安全性,按照[我們的政策][safety-policies]進行過濾。
實現信息
硬件
Gemma使用[張量處理單元(TPU)][tpu]硬件(TPUv4p、TPUv5p和TPUv5e)進行訓練。訓練視覺語言模型(VLM)需要大量的計算能力。TPU專門為機器學習中常見的矩陣運算而設計,在這個領域具有以下優勢:
- 性能:TPU專門用於處理訓練VLM所需的大量計算。與CPU相比,它可以顯著加速訓練過程。
- 內存:TPU通常配備大量的高帶寬內存,允許在訓練過程中處理大型模型和批量大小。這有助於提高模型質量。
- 可擴展性:TPU Pod(大型TPU集群)為處理大型基礎模型不斷增長的複雜性提供了可擴展的解決方案。可以在多個TPU設備上分佈訓練,以實現更快、更高效的處理。
- 成本效益:在許多情況下,與基於CPU的基礎設施相比,TPU可以為訓練大型模型提供更具成本效益的解決方案,尤其是考慮到更快的訓練速度所節省的時間和資源。
- 這些優勢符合[谷歌的可持續運營承諾][sustainability]。
軟件
訓練使用[JAX][jax]和[ML Pathways][ml-pathways]進行。 JAX允許研究人員利用最新一代的硬件,包括TPU,以更快、更高效地訓練大型模型。ML Pathways是谷歌最新的構建能夠跨多個任務進行泛化的人工智能系統的努力。這特別適用於基礎模型,包括像這樣的大型語言模型。 JAX和ML Pathways的使用方式如[關於Gemini系列模型的論文][gemini-2-paper]中所述:“Jax和Pathways的‘單控制器’編程模型允許單個Python進程協調整個訓練過程,大大簡化了開發工作流程。”
預期用途
開源視覺語言模型(VLM)在各個行業和領域都有廣泛的應用。以下列出的潛在用途並非詳盡無遺,其目的是提供有關模型創建者在模型訓練和開發過程中考慮的可能用例的上下文信息。
- 內容創作和通信:
- 文本生成:這些模型可用於生成創意文本格式,如詩歌、腳本、代碼、營銷文案和電子郵件草稿。
- 聊天機器人和對話式AI:為客戶服務、虛擬助手或交互式應用程序提供對話界面。
- 文本摘要:生成文本語料庫、研究論文或報告的簡潔摘要。
- 圖像數據提取:這些模型可用於提取、解釋和總結視覺數據,用於文本通信。
- 研究和教育:
- 自然語言處理(NLP)和VLM研究:這些模型可以作為研究人員實驗VLM和NLP技術、開發算法和推動該領域發展的基礎。
- 語言學習工具:支持交互式語言學習體驗,幫助進行語法糾正或提供寫作練習。
- 知識探索:幫助研究人員通過生成摘要或回答特定主題的問題來探索大量文本。
侷限性
- 訓練數據:
- 訓練數據的質量和多樣性顯著影響模型的能力。訓練數據中的偏差或差距可能導致模型響應的侷限性。
- 訓練數據集的範圍決定了模型能夠有效處理的主題領域。
- 上下文和任務複雜性:
- 模型更擅長能夠用清晰提示和指令描述的任務。開放式或高度複雜的任務可能具有挑戰性。
- 模型的性能可能受到提供的上下文量的影響(在一定範圍內,更長的上下文通常會導致更好的輸出)。
- 語言歧義與細微差別:自然語言本質上是複雜的。模型可能難以理解微妙的細微差別、諷刺或比喻語言。
- 事實準確性:模型根據從訓練數據集中學到的信息生成響應,但它們不是知識庫。它們可能會生成不正確或過時的事實陳述。
- 常識:模型依賴於語言中的統計模式。在某些情況下,它們可能缺乏應用常識推理的能力。
倫理考慮和風險
視覺語言模型(VLM)的開發引發了一些倫理問題。在創建開源模型時,我們仔細考慮了以下方面:
- 偏差和公平性:在大規模真實世界文本和圖像數據上訓練的VLM可能反映訓練材料中嵌入的社會文化偏差。這些模型經過了仔細審查、輸入數據預處理,並在本卡片中報告了後續評估結果。
- 錯誤信息和濫用:
- VLM可能被濫用來生成虛假、誤導或有害的文本。
- 提供了負責任使用模型的指南,請參閱[負責任的生成式AI工具包][rai-toolkit]。
- 透明度和問責制:
- 本模型卡片總結了模型的架構、能力、侷限性和評估過程的詳細信息。
- 負責任開發的開源模型為AI生態系統中的開發者和研究人員提供了共享創新的機會,使VLM技術更易於獲取。
識別的風險和緩解措施:
- 偏差的延續:鼓勵在模型訓練、微調等使用場景中進行持續監測(使用評估指標、人工審查)並探索去偏技術。
- 有害內容的生成:內容安全機制和指南至關重要。鼓勵開發者根據其特定的產品政策和應用用例謹慎行事,並實施適當的內容安全保障措施。
- 惡意用途:技術限制以及對開發者和最終用戶的教育有助於減輕VLM的惡意應用。提供了教育資源和用戶舉報濫用行為的機制。Gemma模型的禁止使用情況在[Gemma禁止使用政策][prohibited-use]中列出。
- 隱私侵犯:模型在經過過濾以去除某些個人信息和其他敏感數據的數據集上進行訓練。鼓勵開發者遵守隱私法規並採用隱私保護技術。
優勢
在發佈時,與同等規模的模型相比,這個系列的模型提供了高性能的開源視覺語言模型實現,從底層設計就考慮了負責任的AI開發。使用本文檔中描述的基準評估指標,這些模型表現出比其他同等規模的開源模型更好的性能。
引用
@article{gemma_2025,
title={Gemma 3},
url={https://goo.gle/Gemma3Report},
publisher={Kaggle},
author={Gemma Team},
year={2025}
}
🔧 技術細節
實驗性重新量化
作者進行了實驗性的重新量化操作,測試了從QAT模型重新量化的模型是否比量化到相同比特級別的bf16模型表現更好。作者從谷歌原始的QAT Q4_0量化模型創建了imatrix文件,然後使用該imatrix將模型重新壓縮到更低比特的量化級別。作者對從bf16量化的4b模型和從QAT Q4_0模型重新量化的模型進行了測試,兩者使用相同的張量量化進行量化。
實驗結果
困惑度測試
python3 ~/code/GGUFModelBuilder/perp_test_2_files.py ./gemma-3-4b-it-qat-q4_0-q3_k_l.gguf ./google_gemma-3-4b-it-q3_k_l.gguf
Testing model: gemma-3-4b-it-qat-q4_0-q3_k_l.gguf
Running: llama.cpp/llama-perplexity -m gemma-3-4b-it-qat-q4_0-q3_k_l.gguf -f perplexity_test_data.txt --ctx-size 256 --ppl-stride 32 --chunks 1 --threads 4
[✓] Perplexity: 4.0963 (Time: 284.70s)
Testing model: google_gemma-3-4b-it-q3_k_l.gguf
Running: llama.cpp/llama-perplexity -m google_gemma-3-4b-it-q3_k_l.gguf -f perplexity_test_data.txt --ctx-size 256 --ppl-stride 32 --chunks 1 --threads 4
[✓] Perplexity: 4.5557 (Time: 287.15s)
=== Comparison Results ===
Model 1: gemma-3-4b-it-qat-q4_0-q3_k_l.gguf - Perplexity: 4.10 (Time: 284.70s)
Model 2: google_gemma-3-4b-it-q3_k_l.gguf - Perplexity: 4.56 (Time: 287.15s)
Winner: gemma-3-4b-it-qat-q4_0-q3_k_l.gguf (Difference: 0.46)
.NET代碼測試
要求兩個模型編寫一些.NET代碼來測試網站是否使用量子安全加密,並讓Deepseek-R1進行評估。評估結果表明,QAT Q4_0模型的代碼在技術準確性、代碼質量、安全相關性、現實性和可用性等方面均優於BF16模型。但兩個模型都存在一些關鍵缺陷,如錯誤地假設TLS版本和密碼套件在HTTP頭中暴露,以及未能檢查後量子算法等,因此都未能解決原始問題。
📄 許可證
要在Hugging Face上訪問Gemma,您需要審查並同意Google的使用許可。請確保您已登錄Hugging Face並點擊下方按鈕。請求將立即處理。 [確認許可](Acknowledge license)
屬性 | 詳情 |
---|---|
模型類型 | Gemma-3 12B指令式GGUF模型 |
訓練數據 | 包含網頁文檔、代碼、數學和圖像等多種來源的文本數據集 |
⚠️ 重要提示
本項目的重新量化操作處於實驗階段,結果可能存在一定的不確定性。請根據實際需求謹慎使用。
💡 使用建議
在使用模型時,建議根據具體任務和數據特點選擇合適的模型尺寸和量化級別。同時,注意輸入數據的格式和上下文長度,以獲得更好的輸出結果。








