如要執行 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) 上執行經過最佳化的
.litertlmGemma 模型,並由 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 模型,以及更多專業模型變體,例如 PaliGemma 和 DataGemma,還有 AI 開發人員社群在 Kaggle 和 Hugging 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 變體提示格式和系統指令,請參閱下列指南: