运行 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 模型版本,适合一般用途。
  • Parameters建议使用最小的可用数字。一般来说,模型的参数越多,其功能就越强大。不过,运行较大的模型需要更大、更复杂的计算资源,并且通常会减慢 AI 应用的开发速度。除非您已确定较小的 Gemma 模型无法满足您的需求,否则请选择参数较少的模型。
  • 量化级别建议使用半精度(16 位),但调优除外。量化是一个复杂的话题,归根结底是数据的大小和精度,以及生成式 AI 模型用于计算和生成回答的内存用量。使用高精度数据(通常为 32 位浮点数据)训练模型后,Gemma 等模型可以修改为使用精度较低的数据(例如 16、8 或 4 位大小)。这些量化 Gemma 模型在使用更少的计算和内存资源的同时,仍能取得良好的效果(具体取决于任务的复杂性)。不过,用于调整量化模型的工具有限,可能无法在您选择的 AI 开发框架中使用。通常,您必须以全精度微调 Gemma 等模型,然后对生成的模型进行量化。

如需查看 Google 发布的关键 Gemma 模型的列表,请参阅 开始使用 Gemma 模型中的 Gemma 模型列表。

运行生成和推理请求

选择 AI 执行框架和 Gemma 变体后,您就可以开始运行模型,并提示其生成内容或完成任务。如需详细了解如何使用特定框架运行 Gemma,请参阅选择框架部分中链接的指南。

提示格式

所有基于指令调整的 Gemma 变体都有特定的提示格式要求。其中一些格式要求由您用于运行 Gemma 模型的框架自动处理,但如果您要直接将问题数据发送到分词器,则必须添加特定标记,并且标记要求可能会因您使用的 Gemma 变体而异。如需了解 Gemma 变体提示格式和系统说明,请参阅以下指南: