架构完善框架:AI 和机器学习视角中的本文档概述了相关原则和建议,可帮助您优化 Google Cloud上 AI 和机器学习工作负载的性能。本文档中的建议与 Google Cloud 架构完善框架的性能优化支柱相符。
AI 和机器学习系统可为您的组织带来新的自动化和决策功能。这些系统的性能会直接影响收入、成本和客户满意度等业务驱动因素。若要充分发挥 AI 和机器学习系统的潜力,您需要根据业务目标和技术要求优化其性能。性能优化过程通常涉及某些权衡。例如,提供所需性能的设计选择可能会导致更高的成本。本文档中的建议优先考虑性能,而不是费用等其他因素。
为了优化 AI 和 ML 性能,您需要针对模型架构、参数和训练策略等因素做出决策。在做出这些决策时,请考虑 AI 和 ML 系统的整个生命周期及其部署环境。例如,非常大的 LLM 在大规模训练基础设施上可能表现出色,但在容量受限的环境(例如移动设备)中可能表现不佳。
将业务目标转化为性能目标
若要做出可优化性能的架构决策,请先明确一组业务目标。设计 AI 和机器学习系统,使其提供支持业务目标和优先事项所需的技术性能。您的技术团队必须了解效果目标与业务目标之间的对应关系。
请考虑以下建议:
- 将业务目标转化为技术要求:将 AI 和 ML 系统的业务目标转化为具体的技术性能要求,并评估未达到这些要求的影响。例如,对于预测客户流失的应用,机器学习模型应在准确率和召回率等标准指标方面表现出色,并且应用应满足低延迟等运营要求。
- 在模型生命周期的各个阶段监控效果:在模型部署后的实验和训练期间,监控关键绩效指标 (KPI),并观察是否存在任何与业务目标相背离的情况。
- 自动执行评估,以确保可重现性和标准化:借助标准化且可比较的实验评估平台和方法,您的工程师可以加快性能改进的步伐。
运行并跟踪频繁的实验
若要将创新和创意转化为效果提升,您需要一种支持实验的文化和一个支持实验的平台。性能改进是一个持续的过程,因为 AI 和 ML 技术在不断快速发展。为了保持快节奏的迭代流程,您需要将实验空间与训练和提供平台分开。标准化且可靠的实验流程非常重要。
请考虑以下建议:
- 构建实验环境:要提升性能,需要一个专用、强大且交互式的环境,以支持机器学习流水线的实验和协作开发。
- 将实验融入文化:在任何生产部署之前运行实验。以迭代方式发布新版本,并始终收集性能数据。尝试使用不同的数据类型、特征转换、算法和超参数。
构建并自动化训练和提供服务
训练和提供 AI 模型是 AI 服务的核心组成部分。您需要强大的平台和实践来支持快速可靠地创建、部署和提供 AI 模型。投入时间和精力,为核心 AI 训练和服务任务创建基础平台。这些基础平台有助于减少团队的时间和精力,并从中期和长期来看提高输出质量。
请考虑以下建议:
- 使用训练服务的 AI 专用组件:此类组件包括高性能计算和 MLOps 组件,例如特征存储区、模型注册表、元数据存储区和模型性能评估服务。
- 使用预测服务的 AI 专用组件:此类组件可提供高性能且可伸缩的资源,支持特征监控,并实现模型性能监控。为防止和管理性能下降,请实施可靠的部署和回滚策略。
将设计选择与性能要求匹配
在做出旨在提升效果的设计选择时,请仔细评估这些选择是否符合您的业务需求,或者是否会造成浪费并适得其反。如需选择合适的基础设施、模型或配置,请找出性能瓶颈,并评估它们与性能指标之间的关联。例如,即使在非常强大的 GPU 加速器上,您的训练任务也可能会因存储层的 I/O 数据问题或模型本身的性能限制而遇到性能瓶颈。
请考虑以下建议:
- 根据性能目标优化硬件消耗:为了训练和提供满足性能要求的机器学习模型,您需要在计算、存储和网络层优化基础设施。您必须衡量并了解影响效果目标的变量。训练和推理的变量有所不同。
- 侧重于工作负载的特定要求:将性能优化工作重点放在 AI 和机器学习工作负载的独特要求上。依靠托管服务来确保底层基础设施的性能。
- 选择合适的训练策略:有多种预训练模型和基础模型可供选择,而且此类模型会经常发布。选择可为您的任务提供最佳效果的训练策略。确定您是应该构建自己的模型、根据自己的数据调整预训练模型,还是使用预训练模型 API。
- 认识到效果优化策略可能会带来边际效益递减:如果某个效果优化策略无法带来可衡量的增量业务价值,请停止采用该策略。
将性能指标与设计和配置选择关联
为了创新、排查问题和调查性能问题,请在设计选择与性能结果之间建立清晰的关联。除了实验之外,您还必须可靠地记录资产、部署、模型输出以及生成输出的配置和输入的谱系。
请考虑以下建议:
- 构建数据和模型谱系系统:所有已部署的资产及其效果指标都必须与数据、配置、代码以及促成已部署系统的选择相关联。此外,模型输出必须与特定模型版本以及输出的生成方式相关联。
- 使用可解释性工具提高模型性能:采用并标准化用于模型探索和可解释性的工具和基准。 这些工具可帮助机器学习工程师了解模型行为,并提升性能或消除偏差。
贡献者
作者:
- Benjamin Sadik | AI 和 ML 专家客户工程师
- Filipe Gracio 博士 | 客户工程师
其他贡献者:
- Kumar Dhanagopal | 跨产品解决方案开发者
- Marwan Al Shawi | 合作伙伴客户工程师
- Zach Seils | 网络专家