執行 Gemma 內容產生和推論

如要執行 Gemma 模型,有兩項重要決策:1) 要執行哪個 Gemma 變體版本,以及 2) 要使用哪個 AI 執行架構來執行。這兩項決定的關鍵問題,在於您和使用者可用的硬體,是否足以執行模型。

這份總覽可協助您做出這些決策,並開始使用 Gemma 模型。執行 Gemma 模型的一般步驟如下:

選擇架構

Gemma 模型與各種生態系統工具相容。選擇合適的工具取決於可用的硬體 (雲端 GPU 與本機筆電) 和介面偏好 (Python 程式碼與桌面應用程式)。

請參閱下表,快速找出最符合需求的工具:

If you want to... 建議架構 支援的裝置
在本機執行並使用 Chat 使用者介面 - LM Studio
- Ollama
初學者,或想在筆電上獲得「類似 Gemini」體驗的使用者。
在 Edge 上有效率地執行 - Gemma.cpp
- LiteRT-LM
- llama.cpp
- MediaPipe LLM 推論 API
- MLX
以最少的資源進行高效能的本機推論。
在 Python 中建構/訓練 - JAX 適用的 Gemma 程式庫
- Hugging Face Transformers
- Keras
- PyTorch
- Unsloth
研究人員和開發人員建構自訂應用程式或微調模型。
部署至正式環境 / 企業 - Google Cloud Kubernetes Engine (GKE)
- Google Cloud Run
- Vertex AI
- vLLM
可擴充的代管雲端部署作業,並提供企業級安全防護和 MLOps 支援。

架構詳細資料

以下是執行 Gemma 模型的指南,依部署環境分類。

1. 桌機和本機推論 (高效率)

這些工具可讓您使用最佳化格式 (例如 GGUF) 或特定硬體加速器,在消費型硬體 (筆電、桌機) 上執行 Gemma。

  • LM Studio:這款電腦應用程式提供簡單易用的介面,方便您下載 Gemma 模型並與之對話。而且完全不需要編寫程式碼。
  • llama.cpp:Llama (和 Gemma) 的熱門開放原始碼 C++ 移植版本,可在 CPU 和 Apple 晶片上以極快速度執行。
  • LiteRT-LM:提供指令列介面 (CLI),可在桌機 (Windows、Linux、macOS) 上執行經過最佳化的 .litertlm Gemma 模型,並由 LiteRT (舊稱 TFLite) 支援。
  • MLX:專為 Apple 晶片上的機器學習設計的架構,非常適合想使用內建效能的 Mac 使用者。
  • Gemma.cpp:輕量型獨立 C++ 推論引擎,專為 Google 開發。
  • Ollama:這項工具可在本機執行開放式 LLM,通常用於支援其他應用程式。

2. Python 開發 (研究與微調)

AI 開發人員建構應用程式、管道或訓練模型時使用的標準架構。

  • Hugging Face Transformers:業界標準,可快速存取模型和管道。
  • Unsloth:經過最佳化的程式庫,可微調 LLM。這項技術可讓您訓練 Gemma 模型的速度提高 2 到 5 倍,且記憶體用量大幅減少,因此您可以在消費級 GPU 上進行微調 (例如免費的 Google Colab 層級)。
  • Keras / JAX / PyTorch:核心程式庫,適用於深度學習研究和自訂架構實作。

3. 行動裝置和邊緣裝置部署 (裝置端)

這類架構的設計目的是直接在使用者裝置 (Android、iOS、網頁) 上執行 LLM,不必連上網際網路,通常會使用 NPU (神經處理單元)。

  • LiteRT-LM:全開放原始碼的裝置端 LLM 開發架構,可提供最高效能和精細控制,並直接支援 Android 和 iOS 上的 CPU、GPU 和 NPU 加速。
  • MediaPipe LLM 推論 API:將 Gemma 整合至跨平台應用程式最簡單的方法。這項服務提供高階 API,適用於 Android、iOS 和網頁。

4. 雲端和製作部署

代管服務可將應用程式擴展至數千名使用者,或存取大量運算資源。

  • Vertex AI:Google Cloud 的全代管 AI 平台,最適合需要 SLA 和擴充功能的企业应用。
  • Google Cloud Kubernetes Engine (GKE):用於編排自己的服務叢集。
  • vLLM:處理量高且記憶體效率高的推論和服務引擎,通常用於雲端部署作業。

請確認所選架構支援您要部署的 Gemma 模型格式,例如 Keras 內建格式、Safetensors 或 GGUF。

選取 Gemma 變體

Gemma 模型提供多種變體和大小,包括基礎或核心 Gemma 模型,以及更多專業模型變體,例如 PaliGemmaDataGemma,還有 AI 開發人員社群在 KaggleHugging Face 等網站上建立的許多變體。如果不確定要從哪個變體開始,請選取參數數量最少的最新 Gemma核心指令微調 (IT) 模型。這類 Gemma 模型運算需求較低,且能回應各種提示,不需要額外開發。

選擇 Gemma 變體時,請考慮下列因素:

  • Gemma 核心和其他變體系列,例如 PaliGemma、CodeGemma建議使用 Gemma (核心)。除了核心版本,Gemma 變體也採用與核心模型相同的架構,並經過訓練,可更出色地執行特定工作。除非您的應用程式或目標與特定 Gemma 變體的專業領域相符,否則建議從 Gemma 核心或基礎模型開始。
  • 指令調整 (IT)、預先訓練 (PT)、微調 (FT)、混合 (mix)建議使用指令調整。
    • 指令微調 (IT) Gemma 變體模型經過訓練,可回應各種自然語言指令或要求。這些模型變體是最佳的起點,因為不需進一步訓練模型,就能回應提示。
    • 預先訓練 (PT) Gemma 變體模型經過訓練,可推斷語言或其他資料,但未經過訓練,因此無法遵循人類指令。這類模型需要額外訓練或調整,才能有效執行工作,適合想研究或開發模型功能和架構的研究人員或開發人員。
    • 微調 (FT) Gemma 變體可視為 IT 變體,但通常經過訓練,可執行特定工作,或在特定生成式 AI 基準上表現良好。PaliGemma 變體系列包含多種 FT 變體。
    • 混合 (mix) Gemma 子類是 PaliGemma 模型的版本,經過各種指令的指令微調,適合一般用途。
  • 參數建議使用可用的最小數字。一般來說,模型擁有的參數越多,功能就越強大。不過,執行較大的模型需要更大、更複雜的運算資源,而且通常會減緩 AI 應用程式的開發速度。除非您已確定較小的 Gemma 模型無法滿足需求,否則請選擇參數較少的模型。
  • 量化層級: 建議使用半精度 (16 位元),但微調除外。量化是複雜的主題,歸結來說就是資料的大小和精確度,以及生成式 AI 模型用於計算和生成回覆的記憶體量。以高精確度資料 (通常是 32 位元浮點資料) 訓練模型後,可以修改 Gemma 等模型,改用精確度較低的資料,例如 16 位元、8 位元或 4 位元大小。這些量化 Gemma 模型仍可順利執行工作 (視工作複雜度而定),但使用的運算和記憶體資源會大幅減少。不過,用於調整量化模型的工具有限,而且可能無法在您選擇的 AI 開發架構中使用。一般來說,您必須以完整精確度微調 Gemma 等模型,然後量化產生的模型。

如要查看 Google 發布的 Gemma 模型清單,請參閱「開始使用 Gemma 模型」頁面。

執行生成和推論要求

選取 AI 執行架構和 Gemma 變體後,即可開始執行模型,並提示模型生成內容或完成工作。如要進一步瞭解如何使用特定架構執行 Gemma,請參閱「選擇架構」一節中連結的指南。

提示格式

所有經過指令微調的 Gemma 變體都有特定的提示格式規定。您用來執行 Gemma 模型的架構會自動處理部分格式規定,但如果直接將提示資料傳送至權杖化工具,就必須新增特定標記,且標記規定可能會因您使用的 Gemma 變體而異。如要瞭解 Gemma 變體提示格式和系統指令,請參閱下列指南: