如果您想运行 Gemma 模型,需要做出两个关键决定:1) 您想运行哪个 Gemma 变体,以及 2) 您将使用哪个 AI 执行框架来运行它?做出这两个决定的一个关键问题与您和您的用户可用于运行模型的硬件有关。
本概览可帮助您做出这些决定,并开始使用 Gemma 模型。运行 Gemma 模型的一般步骤如下:
选择一个框架
Gemma 模型与各种生态系统工具兼容。选择合适的工具取决于您可用的硬件(Cloud GPU 与本地笔记本电脑)以及您的界面偏好(Python 代码与桌面应用)。
使用下表快速确定最适合您需求的工具:
| 如果您想... | 推荐框架 | 适用场景 |
|---|---|---|
| 使用聊天界面在本地运行 | - LM Studio - Ollama |
初学者,或希望在笔记本电脑上获得“类似 Gemini”体验的用户。 |
| 在 Edge 上高效运行 | - LiteRT-LM - llama.cpp - MediaPipe LLM Inference API - MLX |
使用最少的资源进行高性能本地推理。 |
| 在 Python 中构建/训练 | - 适用于 JAX 的 Gemma 库 - Hugging Face Transformers - Keras - 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 Silicon 上以极快的速度运行。
- LiteRT-LM:提供命令行界面
(CLI),用于在桌面设备
(Windows、Linux、macOS)上运行优化的
.litertlmGemma 模型,由 LiteRT(以前称为 TFLite)提供支持。 MLX:专门为 Apple Silicon 上的机器学习而设计的框架,非常适合希望获得内置性能的 Mac 用户。
Ollama:一种在本地运行开放式 LLM 的工具,通常用于为 其他应用提供支持。
2. Python 开发(研究和微调)
AI 开发者构建应用、流水线或训练模型的标准框架。
- Hugging Face Transformers:快速访问模型和流水线的行业标准。
- Unsloth:用于微调 LLM 的优化库。借助该库,您可以将 Gemma 模型的训练速度提高 2-5 倍,同时显著减少内存使用量,从而可以在消费类 GPU(例如免费的 Google Colab 层级)上进行微调。
- Keras / JAX:用于深度学习研究和自定义架构实现的核心库。
3. 移动和边缘部署(设备端)
旨在直接在用户设备(Android、iOS、Web)上运行 LLM 而无需互联网连接的框架,通常利用 NPU(神经处理单元)。
- LiteRT-LM:用于设备端 LLM 开发的完全开源框架,可提供出色的性能和精细的控制, 并直接支持 Android 和 iOS 上的 CPU、GPU 和 NPU 加速。
- MediaPipe LLM Inference API:将 Gemma 集成到跨平台应用中的最简单方法。它提供了一个适用于 Android、iOS 和 Web 的高级 API。
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。
- 指令调优 (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 模型使用入门、 Gemma 模型列表。
运行生成和推理请求
选择 AI 执行框架和 Gemma 变体后,您可以开始运行模型,并提示模型生成内容或完成任务。 如需详细了解如何使用特定框架运行 Gemma,请参阅 选择框架部分中链接的指南。
提示格式
所有指令调优的 Gemma 变体都有特定的提示格式要求。其中一些格式要求由您用于运行 Gemma 模型的框架自动处理,但是当您直接向分词器发送提示数据时,您必须添加特定标记,并且标记要求可能会因您使用的 Gemma 变体而异。如需了解 Gemma 变体提示格式和系统说明,请参阅以下指南: