AI 和机器学习视角:费用优化

Last reviewed 2025-05-28 UTC

架构完善框架:AI 和机器学习视角中的本文档概述了相关原则和建议,可帮助您在整个机器学习生命周期内优化 AI 系统的费用。通过采用主动且明智的费用管理方法,组织可以充分发挥 AI 和机器学习系统的潜力,同时保持财务纪律。本文档中的建议与 Google Cloud Well-Architected Framework 的费用优化支柱相符。

AI 和机器学习系统可帮助您从数据中发掘富有价值的分析洞见和预测功能。例如,您可以减少内部流程中的阻力改善用户体验,并更深入地了解客户。云端提供了大量资源,可快速实现价值,而无需为 AI 和机器学习工作负载进行大量前期投资。为了最大限度地提高业务价值,并使支出与业务目标保持一致,您需要了解费用驱动因素、主动优化费用、设置支出控制措施,并采用 FinOps 实践。

本文档中的建议与以下核心原则相对应:

定义和衡量费用与回报

如需在 Google Cloud中有效管理 AI 和 ML 费用,您必须定义并衡量云资源费用以及 AI 和 ML 计划的业务价值。为了帮助您精细地跟踪支出, Google Cloud 提供了全面的结算和费用管理工具,例如:

  • Cloud Billing 报告和表格
  • Looker Studio 信息中心、预算和提醒
  • Cloud Monitoring
  • Cloud Logging

为了在资源分配和优化方面做出明智的决策,请考虑以下建议。

确定业务目标和 KPI

使 AI 和机器学习项目中的技术选择与业务目标和关键绩效指标 (KPI) 保持一致。

确定战略目标和以投资回报率为中心的 KPI

确保 AI 和机器学习项目与收入增长、降低成本、客户满意度和效率等战略目标保持一致。与利益相关者沟通,了解业务重点。确定具体、可衡量、可实现、相关且有时限性 (SMART) 的 AI 和 ML 目标。例如,一个 SMART 目标是:“在 6 个月内,通过使用 AI 聊天机器人将客户支持的聊天处理时间缩短 15%”。

为了实现业务目标并衡量投资回报率 (ROI),请为以下类别的指标定义 KPI:

  • 训练、推理、存储和网络资源的费用,包括具体单位费用(例如每次推理、每个数据点或每个任务的费用)。这些指标可帮助您深入了解效率和成本优化机会。您可以使用 Cloud Billing 报告Cloud Monitoring 信息中心来跟踪这些费用。
  • 收入增长、成本节省、客户满意度、效率、准确性和采用率等业务价值指标。您可以使用 BigQuery AnalyticsLooker 信息中心来跟踪这些指标。
  • 特定于行业的指标,例如:

    • 零售行业:衡量收入升幅和客户流失率
    • 医疗保健行业:衡量患者时间和患者结局
    • 金融行业:衡量欺诈行为减少情况
  • 项目专用指标。您可以使用 Vertex AI Experiments评估来跟踪这些指标。

    • 预测性 AI:衡量准确率和精确率
    • 生成式 AI:衡量采用情况、满意度和内容质量
    • 计算机视觉 AI:衡量准确率

培养费用意识和持续优化文化

采用 FinOps 原则,确保每个 AI 和 ML 项目都有估算费用,并且有方法在整个生命周期内衡量和跟踪实际费用。确保项目的成本和业务效益已分配所有者,并明确责任。

如需了解详情,请参阅 Google Cloud 架构完善框架的“费用优化”支柱中的培养费用意识文化

通过迭代和反馈实现价值并持续优化

将 AI 和机器学习应用直接与业务目标相关联,并衡量投资回报率。

如需验证投资回报率假设,请先开展试点项目,并使用以下迭代优化周期:

  1. 持续监控并分析数据:监控 KPI 和费用,以发现偏差和优化机会。
  2. 根据数据洞见进行数据驱动型调整:优化策略、模型、基础架构和资源分配。
  3. 迭代优化:根据您学到的知识和不断变化的业务需求,调整业务目标和 KPI。这种迭代有助于您保持相关性并与战略保持一致。
  4. 建立反馈环:与利益相关者一起审核效果、费用和价值,以便为持续优化和未来项目规划提供依据。

使用 Cloud Billing 和标签管理结算数据

要有效优化成本,您需要了解每个成本要素的来源。本部分中的建议可帮助您使用 Google Cloud工具深入了解 AI 和 ML 费用。您还可以将费用归因于特定的 AI 和 ML 项目、团队和活动。这些数据分析为费用优化奠定了基础。

整理和标记 Google Cloud 资源

  • 以反映组织结构以及 AI 和 ML 工作流的层次结构来组织项目和资源。如需跟踪和分析不同层级的费用,请使用组织、文件夹和项目来整理 Google Cloud 资源。如需了解详情,请参阅确定 Google Cloud 着陆区的资源层次结构
  • 为资源应用有意义的标签。您可以使用标签来指明项目、团队、环境、模型名称、数据集、使用情形和性能要求。标签可为结算数据提供有价值的背景信息,并支持精细的费用分析。
  • 在所有 AI 和 ML 项目中保持标签惯例的一致性。一致的标签命名惯例可确保您的结算数据井井有条,并可随时进行分析。
  • 为便于进行详细分析和报告,请将结算数据导出到 BigQuery。 BigQuery 具有强大的查询功能,可让您分析结算数据,从而了解自己的费用。
  • 如需按标签、项目或特定时间段汇总费用,您可以在 BigQuery 中编写自定义 SQL 查询。借助此类查询,您可以将费用归因于特定的 AI 和 ML 活动,例如模型训练、超参数调优或推理。
  • 如需发现费用异常情况或意外的支出高峰,请使用 BigQuery 中的分析功能。这种方法有助于您检测 AI 和 ML 工作负载中的潜在问题或效率低下的情况。
  • 如需发现和管理意外费用,请使用 Cloud Billing 中的异常检测信息中心
  • 如需根据资源使用情况在不同团队或部门之间分摊费用,请使用 Google Cloud的费用分摊功能。费用分摊有助于提高问责制和透明度。
  • 如需深入了解支出模式,请探索预建的 Cloud Billing 报告。 您可以过滤和自定义这些报告,以便重点关注特定 AI 和 ML 项目或服务。

通过信息中心、提醒和报告持续监控资源

为了以可伸缩且富有弹性的方式跟踪费用,您需要持续监控和报告。信息中心、提醒和报告是有效跟踪费用的基础。有了这个基础,您就可以随时了解费用信息,找出需要优化的方面,并确保业务目标与费用保持一致。

创建报告系统

创建定期生成的报告,并与合适的利益相关方分享。

使用 Cloud Monitoring 从各种来源(包括您的应用、基础架构和 Google Cloud 服务,例如 Compute Engine、Google Kubernetes Engine (GKE) 和 Cloud Run 函数)收集指标。如需实时直观呈现指标和日志,您可以使用预建的 Cloud Monitoring 信息中心,也可以创建自定义信息中心。借助自定义信息中心,您可以定义和添加指标,以跟踪系统的特定方面,例如模型性能、API 调用或业务级 KPI。

使用 Cloud Logging 集中收集和存储来自应用、系统和 Google Cloud 服务的日志。将日志用于以下用途:

  • 跟踪 CPU、内存、存储空间和网络等资源的费用和利用率。
  • 确定过度配置(资源未得到充分利用)和配置不足(资源不足)的情况。过度配置会导致不必要的费用。配置不足会延长训练时间,并可能导致性能问题。
  • 识别空闲或未充分利用的资源(例如虚拟机和 GPU),并采取措施关闭或合理调整这些资源,以优化成本。
  • 识别费用高峰,以检测资源使用量或费用的突然意外增加。

使用 LookerLooker Studio 创建交互式信息中心和报告。将信息中心和报告连接到各种数据源,包括 BigQuery 和 Cloud Monitoring。

根据关键 KPI 设置提醒阈值

为您的 KPI 确定应触发提醒的阈值。有意义的提醒阈值有助于避免提醒疲劳。在 Cloud Monitoring 中创建提醒政策,以便接收与 KPI 相关的通知。例如,当准确率降至某个阈值以下或延迟时间超过定义的限制时,您可以收到通知。基于日志数据的提醒可以实时通知您潜在的费用问题。有了此类提醒,您就可以及时采取纠正措施,防止进一步的经济损失。

优化资源分配

为了在 Google Cloud中实现 AI 和 ML 工作负载的成本效益,您必须优化资源分配。为帮助您避免不必要的支出,并确保工作负载拥有所需的资源以实现最佳性能,请根据工作负载的需求调整资源分配。

如需优化云资源向 AI 和 ML 工作负载的分配,请考虑以下建议。

使用自动扩缩功能动态调整资源

使用支持自动扩缩的 Google Cloud 服务,该服务会自动调整资源分配以满足当前需求。自动扩缩具有以下优势:

  • 费用和性能优化:您可以避免为闲置资源付费。同时,自动扩缩功能可确保您的系统拥有必要的资源,即使在高峰负载下也能以最佳状态运行。
  • 提高效率:让您的团队可以专注于其他任务。
  • 更高的敏捷性:您可以快速响应不断变化的需求,并保持应用的高可用性。

下表总结了可用于在 AI 项目的不同阶段实现自动扩缩的技术。

阶段 自动扩缩技术
培训
  • 使用 Vertex AIGKE 等托管式服务,这些服务为训练作业提供内置的自动扩缩功能。
  • 配置自动扩缩政策,以根据 CPU 利用率、内存用量和作业队列长度等指标扩缩训练实例的数量。
  • 使用自定义伸缩指标可针对特定工作负载微调自动伸缩行为。
推理
  • 在可伸缩的平台上部署模型,例如 Vertex AI 推理GKE 上的 GPUGKE 上的 TPU
  • 使用自动扩缩功能根据请求速率、延迟时间和资源利用率等指标调整副本数。
  • 实现负载均衡,以便在副本之间均匀分配流量,并确保高可用性。

从小型模型和数据集开始

为帮助降低成本,请尽可能小规模地测试机器学习假设,并使用迭代方法。这种方法使用较小的模型和数据集,具有以下优势:

  • 从一开始就降低成本:更少的计算能力、存储空间和处理时间可降低初始实验和开发阶段的成本。
  • 更快迭代:所需训练时间更少,可让您更快地迭代、探索替代方法,并更高效地确定有前景的方向。
  • 降低复杂性:简化调试、分析和结果解读,从而缩短开发周期。
  • 高效的资源利用率:减少了过度预配资源的可能性。您只需预配当前工作负载所需的资源。

请考虑以下建议:

  • 先使用抽样数据:使用具有代表性的数据子集来训练模型。借助这种方法,您无需处理整个数据集即可评估模型性能并发现潜在问题。
  • 使用笔记本进行实验:从较小的实例开始,然后根据需要进行扩缩。您可以使用 Vertex AI Workbench,这是一个代管式 Jupyter 笔记本环境,非常适合用于尝试不同的模型架构和数据集。
  • 从更简单或预训练的模型开始:使用 Vertex AI Model Garden 发现和探索预训练的模型。此类模型所需的计算资源较少。根据性能要求,逐渐增加复杂性。

    • 使用预训练模型执行图像分类和自然语言处理等任务。为了节省训练费用,您可以先在较小的数据集上对模型进行微调。
    • 对于结构化数据,请使用 BigQuery ML。借助 BigQuery ML,您可以直接在 BigQuery 中创建和部署模型。这种方法对于初始实验来说经济实惠,因为您可以利用 BigQuery 的按查询次数付费价格模式。
  • 扩缩以优化资源:利用 Google Cloud的灵活基础架构,根据需要扩缩资源。从较小的实例开始,并在必要时调整其大小或数量。

通过实验发现资源要求

AI 和 ML 工作负载的资源需求可能差异很大。为了优化资源分配和费用,您必须通过系统性实验了解工作负载的具体需求。为了确定模型的最有效配置,请测试不同的配置并分析其效果。然后,根据要求合理调整用于训练和提供服务的资源规模。

我们建议采用以下实验方法:

  1. 从基准开始:从根据您对工作负载要求的初步估计得出的基准配置开始。如需创建基准,您可以使用新工作负载的费用估算器,也可以使用现有的结算报告。如需了解详情,请参阅在 Google Cloud上发掘企业 AI 的真实成本
  2. 了解您的配额:在开展大规模实验之前,请先熟悉您计划使用的资源和 API 的 Google Cloud 项目配额。配额决定了您可以实际测试的配置范围。熟悉配额后,您可以在实验阶段将资源用量控制在可用限额范围内。
  3. 系统性地进行实验:调整 CPU 数量、内存容量、GPU 和 TPU 的数量和类型以及存储容量等参数。 借助 Vertex AI TrainingVertex AI Predictions,您可以尝试不同的机器类型和配置。
  4. 监控利用率、费用和性能:针对您实验的每种配置,跟踪资源利用率、费用和关键性能指标,例如训练时间、推理延迟时间和模型准确率。

    • 如需跟踪资源利用率和性能指标,您可以使用 Vertex AI 控制台。
    • 如需收集和分析详细的性能指标,请使用 Cloud Monitoring。
    • 如需查看费用,请使用 Cloud Billing 报告Cloud Monitoring 信息中心
    • 如需识别模型中的性能瓶颈并优化资源利用率,请使用 Vertex AI TensorBoard 等性能分析工具。
  5. 分析费用:比较每种配置的费用和性能,以确定最具成本效益的选项。

  6. 根据配额确定资源阈值和改进目标:确定伸缩开始产生边际效应递减的性能阈值,例如,在成本大幅增加的情况下,训练时间或延迟时间仅略有减少。设置这些阈值时,请考虑项目配额。确定进一步伸缩容的费用和潜在配额影响不再能通过性能提升来合理化的点。

  7. 反复优化:根据您的发现,使用优化后的配置重复实验流程。始终确保资源使用量在分配的配额范围内,并符合既定的成本效益阈值。

使用 MLOps 减少低效情况

随着组织越来越多地使用机器学习来提高创新能力和效率,有效管理机器学习生命周期变得至关重要。机器学习运维 (MLOps) 是一组可自动执行并简化机器学习生命周期(从模型开发到部署和监控)的实践。

使 MLOps 与费用驱动因素保持一致

如需利用 MLOps 提高成本效益,请确定机器学习生命周期中的主要成本驱动因素。然后,您可以采用并实施与成本驱动因素相符的 MLOps 实践。优先采用可解决最具影响力的成本驱动因素的 MLOps 功能。这种方法有助于确保以可管理的方式成功实现显著的成本节省。

实施 MLOps 以优化费用

以下是一些有助于降低成本的常见 MLOps 实践:

  • 版本控制:Git 等工具可帮助您跟踪代码、数据和模型的版本。版本控制可确保可重现性、促进协作,并防止因版本控制问题而导致代价高昂的返工。
  • 持续集成和持续交付 (CI/CD):借助 Cloud BuildArtifact Registry,您可以实现 CI/CD 流水线,以自动执行机器学习模型的构建、测试和部署。CI/CD 流水线可确保高效利用资源,并最大限度地降低与人工干预相关的成本。
  • 可观测性:借助 Cloud MonitoringCloud Logging,您可以跟踪生产环境中的模型性能、发现问题并触发提醒以进行主动干预。借助可观测性,您可以保持模型准确性、优化资源分配,并防止代价高昂的停机或性能下降。
  • 模型重新训练Vertex AI Pipelines 可简化定期或在性能下降时重新训练模型的过程。当您使用 Vertex AI Pipelines 进行重新训练时,它有助于确保模型保持准确高效,从而防止不必要的资源消耗并保持最佳性能。
  • 自动化测试和评估Vertex AI 可帮助您加快模型评估速度并实现标准化。在整个机器学习生命周期中实施自动化测试,以确保模型的质量和可靠性。此类测试有助于您尽早发现错误,防止生产环境中出现代价高昂的问题,并减少进行大量手动测试的需求。

如需了解详情,请参阅 MLOps:机器学习中的持续交付和自动化流水线

强制执行数据管理和治理实践

有效的数据管理和治理实践对于优化费用至关重要。组织良好的数据可以鼓励团队重复使用数据集,避免不必要的重复,并减少获取高质量数据所需的工作量。通过主动管理数据,您可以降低存储费用、提高数据质量,并确保使用最相关且最有价值的数据来训练机器学习模型。

如需实施数据管理和治理实践,请考虑以下建议。

建立并采用数据治理框架

随着 AI 和 ML 的日益普及,数据已成为正在进行数字化转型的组织最有价值的资产。一个强大的数据治理框架是经济高效地大规模管理 AI 和 ML 工作负载的关键要求。数据治理框架包含明确定义的政策、程序和角色,可为管理整个数据生命周期提供结构化方法。此类框架有助于提高数据质量、增强安全性、提高利用率并减少冗余。

建立数据治理框架

目前已有许多数据治理框架,例如 EDM Council 发布的框架,其中包含适用于不同行业和组织规模的选项。选择并调整符合您特定需求和优先事项的框架。

实施数据治理框架

Google Cloud 提供以下服务和工具,帮助您实现强大的数据治理框架:

  • Dataplex Universal Catalog 是一种智能数据结构脉络,可帮助您统一分布式数据并自动执行数据治理,而无需将数据集整合到一个位置。这有助于降低数据分发和维护成本,方便数据发现,并促进数据重用。

  • Dataplex Universal Catalog 也是一项全代管式可伸缩元数据管理服务。目录提供了一个基础,可确保数据资产可访问且可重复使用。

    • 来自受支持 Google Cloud 的来源的元数据会自动注入到通用目录中。对于 Google Cloud之外的数据源,创建自定义条目
    • 为了提高数据资产的可发现性和可管理性,请使用切面通过业务元数据来丰富技术元数据。
    • 确保数据科学家和机器学习从业者拥有足够的权限来访问 Dataplex Universal Catalog 并使用搜索功能。
  • 借助 BigQuery Sharing 功能,您可以在组织间高效安全地交换数据资产,以应对数据可靠性和费用方面的挑战。

    • 设置数据交换,并确保精选数据资产可以作为清单查看。
    • 使用数据净室安全地管理对敏感数据的访问权限,并高效地与外部团队和组织合作开展 AI 和 ML 项目。
    • 确保数据科学家和机器学习从业者拥有足够的权限,以便查看数据集并将其发布到 BigQuery 共享。

在整个机器学习生命周期内重复使用数据集和特征

为了显著提高效率并节省费用,请在多个机器学习项目中重复使用数据集和特征。避免冗余的数据工程和特征开发工作,有助于组织加快模型开发速度、降低基础设施成本,并释放宝贵资源以用于其他关键任务。

Google Cloud 提供以下服务和工具,帮助您重复使用数据集和特征:

  • 数据和机器学习从业者可以发布数据产品,以最大限度地提高团队间的数据重用率。然后,可以通过 Dataplex Universal Catalog 和 BigQuery 共享来发现和使用数据产品。
  • 对于表格和结构化数据集,您可以使用 Vertex AI Feature Store 通过 BigQuery 提高可重用性并简化特征管理。
  • 您可以在 Cloud Storage 中存储非结构化数据,并使用 BigQuery 对象表和签名网址来管理数据。
  • 您可以通过在 Vector Search 索引中添加元数据来管理向量嵌入。

利用 MLOps 实现自动化和简化

采用 MLOps 实践的主要好处是降低技术和人员成本。Automation 有助于避免重复的机器学习活动,并减轻数据科学家和机器学习工程师的工作负担。

如需通过 MLOps 自动执行和简化机器学习开发,请考虑以下建议。

自动执行并标准化数据收集和处理流程

为了帮助减少机器学习开发工作量和时间,请实现数据收集和处理技术的自动化和标准化。

自动收集和处理数据

本部分总结了可用于自动执行数据收集和处理的产品、工具和技术。

确定并选择适合 AI 和机器学习任务的相关数据源:

为每个数据源选择一个注入工具:

  • Dataflow:用于对来自各种来源的数据进行批处理和流式处理,并集成机器学习组件。对于事件驱动型架构,您可以将 Dataflow 与 Eventarc 结合使用,以高效处理机器学习数据。如需提高 MLOps 和机器学习作业的效率,请使用 GPU 和合适的配置。
  • Cloud Run functions:用于由数据源中的更改触发的事件驱动型数据注入,适用于实时应用。
  • BigQuery:用于频繁访问的经典表格数据注入。

选择用于数据转换和加载的工具:

  • 使用 DataflowDataform 等工具自动执行数据转换,例如特征伸缩、对分类变量进行编码,以及批量、流式或实时创建新特征。您选择的工具取决于您的需求和所选服务。
  • 使用 Vertex AI Feature Store 自动创建和管理特征。您可以集中管理功能,以便在不同模型和项目中重复使用。

标准化数据收集和处理

如需发现、了解和管理数据资产,请使用 Dataplex Universal Catalog 等元数据管理服务。它有助于您标准化数据定义,并确保整个组织内的一致性。

为了强制执行标准化并避免维护多个自定义实现所产生的费用,请使用自动化训练流水线和编排。如需了解详情,请参阅下一部分。

自动执行训练流水线并重复使用现有资源

为了提高 MLOps 的效率和生产力,自动化训练流水线至关重要。 Google Cloud 提供了一套强大的工具和服务来构建和部署训练流水线,并着重强调重用现有资产。自动化训练流水线有助于加快模型开发速度、确保一致性并减少冗余工作。

自动执行训练流水线

下表介绍了可用于自动执行训练流水线不同功能的 Google Cloud 服务和功能。

函数 Google Cloud 服务和功能
编排:定义包含多个步骤和依赖项的复杂机器学习工作流。您可以将每个步骤定义为单独的容器化任务,从而轻松管理和扩缩各个任务。
  • 如需创建和编排流水线,请使用 Vertex AI Pipelines 或 Kubeflow Pipelines。这些工具支持简单的数据转换、模型训练、模型部署和流水线版本控制。借助它们,您可以定义步骤之间的依赖关系、管理数据流,并自动执行整个工作流。
  • 对于需要大量 CI/CD 以及提取、转换和加载 (ETL) 的复杂运营任务,请使用 Cloud Composer。 如果您偏好使用 Airflow 进行数据编排,那么 Cloud Composer 是一项基于 Airflow 构建的兼容代管式服务。
  • 对于在 Vertex AI Pipelines 之外管理的流水线,请使用工作流来执行以基础架构为中心的任务,例如启动和停止虚拟机或与外部系统集成。
  • 如需自动执行 CI/CD 流程,请将 Cloud BuildPub/Sub 搭配使用。 您可以设置通知和自动触发器,以便在新代码推送或需要训练新模型时收到通知。
  • 如需使用全代管式可伸缩的流水线管理解决方案,请使用 Cloud Data Fusion
版本控制:跟踪和控制流水线和组件的不同版本,以确保可重现性和可审核性。 Kubeflow 流水线模板存储在 Artifact Registry 中的 Kubeflow Pipelines 代码库中。
可重用性:重用现有的流水线组件和制品(例如准备好的数据集和训练好的模型),以加快开发速度。 将流水线模板存储在 Cloud Storage 中,并在整个组织中共享这些模板。
监控:监控流水线执行情况,以发现并解决任何问题。 使用 Cloud Logging 和 Cloud Monitoring。如需了解详情,请参阅使用信息中心、提醒和报告持续监控资源

将可重用性扩展到流水线之外

寻找机会,将可重用性扩展到训练流水线之外。以下是 Google Cloud 功能的一些示例,这些功能可让您重复使用机器学习功能、数据集、模型和代码。

  • Vertex AI Feature Store 提供了一个用于整理、存储和应用机器学习特征的集中式存储库。借助该功能,您可以在不同的项目和模型中重复使用特征,从而提高一致性并减少特征工程工作量。您可以存储、共享和访问特征,以用于线上和线下用例。
  • 借助 Vertex AI 数据集,团队可以集中创建和管理数据集,从而最大限度地提高组织的数据重用率并减少数据重复。您的团队可以使用 Dataplex Universal Catalog 搜索和发现数据集。
  • 借助 Vertex AI Model Registry,您可以存储、管理和部署训练好的模型。 借助模型注册表,您可以在后续流水线中或在线预测中重复使用模型,从而充分利用之前的训练成果。
  • 借助自定义容器,您可以将训练代码和依赖项打包到容器中,并将容器存储在 Artifact Registry 中。借助自定义容器,您可以在不同的流水线和项目中提供一致且可重现的训练环境。

使用 Google Cloud 服务进行模型评估和调优

Google Cloud 提供了一套功能强大的工具和服务,可简化和自动化模型评估和调优。这些工具和服务可帮助您缩短生产时间,并减少持续训练和监控所需的资源。通过使用这些服务,AI 和机器学习团队可以减少昂贵的迭代次数,更快地获得结果,并最大限度地减少浪费的计算资源,从而提升模型性能。

使用资源高效的模型评估和实验

在扩大解决方案规模之前,先通过实验启动 AI 项目。在实验中,跟踪各种元数据,例如数据集版本、模型参数和模型类型。为了进一步提高结果的可重现性并便于比较结果,除了代码版本控制之外,还可以使用元数据跟踪,这与 Git 中的功能类似。为避免遗漏信息或在生产环境中部署错误的版本,请在实施大规模部署或训练作业之前使用 Vertex AI Experiments

借助 Vertex AI Experiments,您可以执行以下操作:

  • 通过用户友好的界面和 API,简化并自动执行元数据跟踪和发现,以满足生产环境中的工作负载需求。
  • 分析模型的性能指标,并比较多个模型之间的指标。

模型训练完成后,持续监控传入数据的性能和随时间推移的数据漂移。为了简化此流程,您可以使用 Vertex AI 模型监控直接访问 Model Registry 中创建的模型。 Model Monitoring 还可以通过在线预测和批量预测自动监控数据和结果。您可以将结果导出到 BigQuery 以进行进一步分析和跟踪。

选择最佳策略以自动执行训练

对于超参数调优,我们建议采用以下方法:

  • 如需自动执行为模型寻找最佳超参数的过程,请使用 Vertex AI 超参数调节。Vertex AI 使用高级算法来探索超参数空间并确定最佳配置。
  • 为了高效地进行超参数调优,请考虑使用贝叶斯优化技术,尤其是在处理复杂模型和大型数据集时。

对于分布式训练,我们建议采用以下方法:

  • 对于大型数据集和复杂模型,请使用 Vertex AI 的分布式训练基础设施。借助这种方法,您可以在多台机器上训练模型,从而显著缩短训练时间并降低相关费用。使用以下工具:

  • 选择经过优化的机器学习框架,例如支持分布式训练和高效资源利用的 Keras 和 PyTorch。

使用可解释 AI

了解模型做出特定决策的原因,并找出潜在的偏差或需要改进的方面至关重要。使用 Vertex Explainable AI 深入了解模型的预测。Vertex Explainable AI 提供了一种自动生成与 Vertex AI 实验关联的基于特征和基于样本的说明的方法。

  • 基于特征:如需了解哪些特征对模型的预测影响最大,请分析特征归因。 这种理解可以指导特征工程工作,并提高模型的可解释性。
  • 基于样本:为了返回与输入最相似的样本列表(通常来自训练集),Vertex AI 使用最近邻搜索。由于类似的输入通常会产生类似的预测,因此您可以使用这些说明来探索和解释模型的行为。

使用托管式服务和预训练模型

采用增量方法进行模型选择和模型开发。这种方法有助于避免每次重新开始时产生的过高费用。如需控制费用,请使用机器学习框架、托管式服务和预训练模型。

如需充分利用托管式服务和预训练模型,请考虑以下建议。

使用笔记本进行探索和实验

笔记本环境对于经济高效的机器学习实验至关重要。笔记本为数据科学家和工程师提供了一个互动协作空间,让他们能够探索数据、开发模型、分享知识并高效迭代。通过笔记本开展协作和知识共享可显著加快开发、代码审核和知识转移速度。Notebooks 有助于简化工作流程并减少重复工作。

您无需为开发环境采购和管理昂贵的硬件,而是可以使用 Vertex AI Workbench 和 Colab Enterprise 的可伸缩按需基础设施。

  • Vertex AI Workbench 是基于 Jupyter 笔记本的开发环境,可用于整个数据科学工作流。您可以在实例的 Jupyter 笔记本中与 Vertex AI 和其他 Google Cloud服务进行交互。Vertex AI Workbench 集成和功能可帮助您执行以下操作:

    • 使用 BigQuery 和 Cloud Storage 集成来访问和探索 Jupyter 笔记本中的数据。
    • 使用在 Vertex AI 上运行的计划执行代码,定期自动更新模型。
    • 通过在 Dataproc 集群上运行笔记本来快速处理数据。
    • 使用 Vertex AI Pipelines 将笔记本作为流水线中的一个步骤运行。
  • Colab Enterprise 是一个具有 Google Cloud安全与合规性功能的托管式协作笔记本环境。 如果项目的首要任务包括协作开发和减少管理基础架构所需的工作量,那么 Colab Enterprise 是理想之选。Colab Enterprise 与Google Cloud 服务和使用 Gemini 的 AI 赋能的辅助功能集成。借助 Colab Enterprise,您可以执行以下操作:

    • 在笔记本中工作,无需管理基础架构。
    • 与单个用户、Google 群组或 Google Workspace 网域共享笔记本。您可以通过 Identity and Access Management (IAM) 控制笔记本访问权限。
    • 与 Vertex AI 和 BigQuery 内置的功能互动。

为了跟踪更改并在必要时恢复到以前的版本,您可以将笔记本与 Git 等版本控制工具集成。

从现有模型和预训练模型开始

从头开始训练复杂的模型(尤其是深度学习模型)需要大量的计算资源和时间。为了加快模型选择和开发流程,请从现有模型和预训练模型开始。这些模型基于庞大的数据集进行训练,无需从头开始训练模型,可显著降低成本并缩短开发时间。

降低培训和开发成本

为每个机器学习任务选择合适的模型或 API,并将它们组合起来以创建端到端的机器学习开发流程。

Vertex AI Model Garden 提供了大量预训练模型,可用于图像分类、对象检测和自然语言处理等任务。这些模型分为以下几类:

Google Cloud 提供 AI 和机器学习 API,让开发者无需从头开始构建模型,即可将强大的 AI 功能集成到应用中。

  • 借助 Cloud Vision API,您可以从图片中获取数据洞见。此 API 对于图像分析、内容审核和自动数据输入等应用非常有用。
  • 借助 Cloud Natural Language API,您可以分析文本以了解其结构和含义。此 API 非常适合用于客户反馈分析、内容分类和了解社交媒体趋势等任务。
  • Speech-to-Text API 可将音频转换为文本。此 API 支持多种语言和方言。
  • Video Intelligence API 可分析视频内容,以识别对象、场景和动作。使用此 API 进行视频内容分析、内容审核和视频搜索。
  • Document AI API 可处理文档,以提取、分类和理解数据。此 API 可帮助您自动执行文档处理工作流。
  • Dialogflow API 可用于创建对话式界面,例如聊天机器人和语音助理。您可以使用此 API 创建客户服务机器人和虚拟助理。
  • Vertex AI 中的 Gemini API 可让您使用 Google 最强大且用途广泛的 AI 模型。

降低调优成本

为了减少对大量数据和计算时间的需求,请针对特定数据集对预训练模型进行微调。我们建议您采取以下方法:

  • 知识迁移:使用预训练模型中的知识来完成新任务,而不是从头开始。这种方法需要的数据和计算时间更少,有助于降低费用。
  • 适配器调优(参数高效调优:无需完全微调即可使模型适应新任务或领域。这种方法所需的计算资源和数据集要少得多。
  • 监督式微调:使用带标签的数据集调整模型行为。这种方法可简化底层基础架构的管理,并减少自定义训练作业所需的开发工作量。

使用 Vertex AI Studio 进行探索和实验

借助 Vertex AI Studio,您可以快速测试、设计原型和部署生成式 AI 应用。

  • 与 Model Garden 集成:可快速访问最新模型,并让您高效部署模型,从而节省时间和成本。
  • 统一访问专用模型:整合了对各种预训练模型和 API 的访问,包括聊天、文本、媒体、翻译和语音方面的模型和 API。这种统一的访问方式有助于您减少搜索和集成各个服务所花费的时间。

使用托管式服务来训练或提供模型

托管式服务有助于降低模型训练成本并简化基础架构管理,让您可以专注于模型开发和优化。这种方法可以带来显著的成本效益并提高效率。

减少运营开销

为了降低基础架构管理的复杂性和成本,请使用以下托管服务:

  • Vertex AI Training 提供全代管式环境,让您能够大规模训练模型。您可以选择各种预构建容器(包含热门的机器学习框架),也可以使用自己的自定义容器。 Google Cloud 负责处理基础架构预配、伸缩和维护,因此您只需承担较低的运营开销。
  • Vertex AI 预测可处理基础设施伸缩、负载均衡和请求路由。无需手动干预,即可获得高可用性和高性能。
  • Ray on Vertex AI 提供全代管式 Ray 集群。您可以使用集群运行需要执行大量计算的复杂自定义 AI 工作负载(超参数调优、模型微调、分布式模型训练和基于人类反馈的强化学习),而无需管理自己的基础架构。

使用托管式服务优化资源利用率

如需详细了解如何高效利用资源,请参阅优化资源利用率

贡献者

作者:

其他贡献者: