开发生成式 AI 应用

本文档可帮助您了解如何应对开发生成式 AI 应用的各个阶段的挑战。其中介绍了如何选择模型、自定义模型输出以满足您的需求、评估自定义内容,以及部署模型。本文档假定您已经想到了一个用例,并且该用例适合生成式 AI。如需了解如何开发应用场景,请参阅评估并定义您的生成式 AI 业务应用场景

在开始开发生成式 AI 应用之前,请评估您的组织的技术准备情况(功能和基础设施)。如需了解如何评估 AI 功能并创建路线图以充分利用其潜力,请参阅 AI 准备情况研讨会。如果您计划开发由生成式 AI 自动执行的工作流,请评估是否应让人类参与关键决策阶段的循环。人工审核有助于做出决策,例如确保负责任地使用、满足特定的质量控制要求或监控生成的内容。

生成式 AI 模型

生成式 AI 基础模型基于文本、图片、代码或其他多媒体的数 TB 数据集进行训练。数据和模型架构使模型能够识别复杂模式,获得深入的情景理解,并生成由训练数据驱动的文本、图片、音乐或视频等新内容。

基础模型是构建众多生成式 AI 应用的核心模型。这些模型的功能转化为新的能力:通过简单的文本提示指令,生成式 AI 基础模型可以学习执行各种任务,例如翻译语言、回答问题、写诗或编写代码,且无需针对每项任务进行明确的训练。生成式 AI 基础模型还可以进行调整,以使用一些提示方法执行特定任务,也可以使用最少的额外训练数据进行微调。

大语言模型 (LLM) 是使用文本训练的,它们是通常基于深度学习架构的基础模型之一,例如 Google 于 2017 年开发的 Transformer。LLM 可以使用数十亿文本样本和其他内容进行训练,并且 LLM 可以针对特定领域进行自定义。

其他多模态模型扩展了生成式 AI 应用处理来自多模态(包括图片、视频、音频和文本)的信息的能力。多模态提示结合了多种输入格式,例如文本、图片和音频。例如,您可以输入图片,然后要求生成式 AI 应用列出或描述图片中的对象。Google 的 Gemini 模型完全构建了多模态,可以跨文本、图片、视频、音频和代码无缝推理。Google Cloud 的 Model GardenVertex AI 可帮助您查找和自定义来自 Google、开源和第三方来源的一系列基础模型。

选择模型

选择模型时,请考虑模型的模态、大小和费用。选择最实惠且仍能满足您的响应质量和延迟时间要求的模型。

  • 模态:如前一部分所述,模型的模态对应于模型训练时所针对的高级数据类别,例如文本、图片和视频。通常,您的用例与模型的模态密切相关。如果您的用例涉及将文本转换为图片,您需要找到使用文本和图片数据训练的模型。如果您需要多种模态的灵活性(如多模态搜索),则有一些模型也支持多模态用例,但费用和延迟时间可能会更高。
    • Vertex AI 模型提供了一系列可供您使用的生成式 AI 模型。
    • Model Garden 提供了 Google Cloud 上第一方和开源机器学习模型产品的列表。
  • 大小:模型的大小通常以参数数量衡量。一般来说,模型越大,就越能学习数据中更复杂的模式和关系,从而获得更高质量的回答。由于同一系列中较大的模型具有较长的延迟时间和较高的费用,因此您可能需要试验和评估模型以确定哪种模型大小最适合您的用例。
  • 费用:模型的费用与其功能有关,其功能通常与模型的参数数量相关。模型的计量和计费方式也可能有所不同。例如,某些模型的费用是根据输入和输出令牌的数量计算的。其他模型的费用则根据模型部署期间使用的节点小时数计算。

    • 如需了解 Vertex AI 上的生成式 AI 模型价格,请参阅 Vertex AI 价格

    • 如需了解在 Google Kubernetes Engine (GKE) 上部署模型的费用,请参阅 GKE 价格

  • 功能:并非所有模型都支持调优和提炼等功能。如果这些功能对您很重要,请查看每种模型支持的功能。

设计提示

提示设计是编写提示和回答对的过程,为语言模型提供额外的上下文和指令。编写提示后,您可以将其作为提示数据集提供给模型以进行预训练。当模型执行预测时,它会使用内置的指令做出回答。

如果您想获得特定输出,可以使用提示设计策略,例如指示模型完成部分输入或向模型提供理想回答的示例。如需了解详情,请参阅提示设计简介

自定义模型

提示设计后,您可能会发现模型的回答效果良好,因此无需对其进行自定义。如果模型的效果不佳(例如出现幻觉),您可以使用其他自定义技术。以下部分介绍了这些技术,可帮助您了解这些选项如何影响模型的输出。

函数调用和扩展

函数调用Vertex AI 扩展程序可扩展模型的功能。考虑您的应用的使用场景,以及仅使用一个模型可能不够的场景。您可以通过添加函数调用或扩展程序来协助模型。例如,您的模型可以从文本中提取日历信息,然后使用扩展程序查找预订以及进行预订。

虽然您可以互换使用函数调用和扩展程序,但它们在一些大方面存在差异。函数调用是一种异步操作,您无需在代码中添加凭据。Vertex AI 扩展程序提供了可用于复杂任务的预构建选项,因此您无需编写自己的函数。不过,由于 Vertex AI Extensions 会为您返回和调用函数,因此您需要在代码中添加凭据。

落地

落地是指通过将模型回答固定到可验证的信息来源来增强模型回答。如需将模型置于基准,您需要将其连接到数据源。为模型建立依据有助于减少幻觉,从而提高生成内容的可信度。

检索增强生成 (RAG) 是一种常用的基础技术。RAG 使用搜索功能查找相关信息,然后将这些信息添加到模型提示中。使用 RAG 时,输出内容会基于事实和最新信息。RAG 搜索使用矢量嵌入和矢量数据库,这些数据库会将数据存储为非结构化数据(例如文本和图片)的数字表示法。如需了解详情,请参阅什么是向量数据库

如需了解 Vertex AI 中的依据,请参阅依据概览。如需了解如何在 AlloyDB for PostgreSQL 中设置嵌入工作流,请参阅嵌入工作流示例

模型调优

专业任务(例如,针对特定术语训练语言模型)可能需要的训练比仅使用提示设计的训练更多。在这种情况下,您可以使用模型调优来提高性能,并让模型符合特定的输出要求。

如需对模型进行调优,您必须构建训练数据集,然后选择一种调优方法,例如监督式调优、基于人类反馈的强化学习 (RLHF) 调优或模型精馏。数据集的大小和调优方法取决于您的模型和要优化的内容。例如,专门的细分任务需要较小的数据集才能取得显著改进。如需详细了解模型调优,请参阅调优语言基础模型

评估模型

模型评估有助于您评估问题和自定义设置对模型性能的影响。每种评估方法都有各自的优缺点,需要加以考虑。例如,基于指标的评估可以通过可量化的方式来衡量性能,从而快速实现自动化和扩缩。不过,指标可能会过于简化结果,忽略自然语言的上下文和细微之处。为了缓解这些缺点,请结合使用各种指标和人工评估。

Vertex AI 上的生成式 AI 提供自动并排评估功能,可让您将两个模型的输出与标准答案进行比较。 第三个模型可帮助您选择质量更高的回答。自动并排评估与人工评估者相当,但更为快捷,且按需提供。但是,为了执行比较,此方法需要一个大于要评估的模型的模型,因而可能会显示固有的偏差。因此,您仍应进行一些人工评估。

对于所有评估方法,您都需要一个评估数据集。评估数据集包括您创建的提示和标准答案(理想回答)对。构建数据集时,请添加与您要评估的任务相符的多样化示例,以获得有意义的结果。

部署模型

部署模型会将端点和物理机器资源与模型相关联,以便以低延迟方式提供在线预测。并非所有模型都需要部署。例如,Vertex AI 上的生成式 AI 中提供的 Google 基础模型已经具有端点。这些端点专用于您的 Google Cloud 项目,您可以立即使用它们。但是,如果您调优其中任何模型,则必须将其部署到端点。

部署模型时,请决定是要在全托管式环境还是自行管理的环境中部署模型。在全托管式环境中,选择所需的物理资源(例如机器类型和加速器类型),然后 Vertex AI 会为您实例化和管理资源。例如,如需启用在线预测(Vertex AI 为您管理部署资源),请参阅将模型部署到端点。在自行管理的环境中,您可以更精细地控制资源,但需要自行管理资源。借助自有环境,您可以在 GKE 等平台上部署模型

确定要部署在哪种类型的环境中后,请考虑预计的流量、延迟时间要求和预算。您需要根据自己的实际资源平衡这些因素。例如,如果降低费用是首要任务,您或许可以接受使用费用较低的机器时延迟时间较长。测试环境就是一个很好的例子。如需详细了解如何选择机器类型,请参阅确定用于 Vertex AI 端点的理想机器类型笔记本。

Responsible AI

Vertex AI 上的生成式 AI 在设计时考虑到了 Google 的 AI 原则。但是,请务必测试模型,以确保安全、可靠地使用模型。由于 LLM 具有出色的多样性,因此很难预测意外或不可预见的回答。

在为您的应用场景开发应用时,请考虑生成式 AI 模型的局限性,以便妥善缓解潜在的滥用和意外问题。模型限制的一个例子是,模型的优劣只取决于您使用的数据的质量。如果您向模型提供的数据欠佳(例如不准确或不完整的数据),则无法获得理想的性能。验证输入数据和提示是否准确。否则,模型性能可能欠佳或输出有误。如需详细了解生成式 AI 模型的局限性,请参阅 Responsible AI

后续步骤