运行 Gemma 内容生成和推理

在运行 Gemma 模型时,您需要做出两个关键决策:1) 要运行哪个 Gemma 变体,以及 2) 要使用哪个 AI 执行框架来运行它?在做出这两项决策时,一个关键问题是您和您的用户可使用哪些硬件来运行模型。

本概览可帮助您做出这些决策,并开始使用 Gemma 模型。运行 Gemma 模型的一般步骤如下:

选择框架

Gemma 模型与各种生成式 AI 执行框架兼容。运行 Gemma 模型时,一个关键的决策因素是您拥有(或将拥有)哪些可用于运行模型的计算资源。大多数兼容的 AI 框架都需要专门的硬件(例如 GPU 或 TPU)才能有效运行 Gemma 模型。Google Colab 等工具可以有限地提供这些专用计算资源。某些 AI 执行框架(例如 OllamaGemma.cpp)可让您使用 x86 兼容或 ARM 架构在更常见的 CPU 上运行 Gemma。

以下指南介绍了如何使用各种 AI 运行时框架运行 Gemma 模型:

确保您打算部署的 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。
    • 指令调优 (IT) Gemma 变体是指经过训练的模型,能够以人类语言响应各种指令或请求。这些模型变体是最佳的起点,因为它们无需进一步的模型训练即可响应提示。
    • 预训练 (PT) Gemma 变体是指经过训练可以对语言或其他数据进行推理,但尚未经过训练可以遵循人类指令的模型。这些模型需要进行额外的训练或调优才能有效执行任务,适合想要研究或开发模型功能及其架构的研究人员或开发者。
    • 经过微调 (FT) 的 Gemma 变体可以视为 IT 变体,但通常经过训练,可执行特定任务,或在特定生成式 AI 基准上表现出色。PaliGemma 变体系列包含多个 FT 变体。
    • 混合(混合)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 变体提示格式和系统指令的信息,请参阅以下指南: