如需为生产环境准备机器学习流水线,您需要执行以下操作:
- 为流水线预配计算资源
- 实现日志记录、监控和提醒
预配计算资源
运行 ML 流水线需要计算资源,例如 RAM、CPU 和 GPU/TPU。如果没有足够的计算资源,您将无法运行流水线。因此,请务必获取足够的配额,以便预配流水线在生产环境中运行所需的资源。
提供、训练和验证流水线。这些流水线需要 TPU、GPU 或 CPU。根据您的使用情形,您可能会在不同的硬件上进行训练和提供服务,也可能会使用相同的硬件。例如,训练可能在 CPU 上进行,但服务可能使用 TPU,反之亦然。一般来说,在较大的硬件上进行训练,然后在较小的硬件上进行服务是很常见的。
选择硬件时,请考虑以下事项:
- 您能否在价格较低的硬件上进行训练?
- 改用其他硬件是否会提升性能?
- 模型的大小是多少?哪些硬件可以优化其性能?
- 根据模型的架构,理想的硬件是什么?
数据流水线。数据流水线需要 RAM 和 CPU 的配额 您需要估算流水线生成训练和测试数据集所需的配额。
您可能不会为每个流水线分配配额。您可以改为分配流水线共享的配额。在这种情况下,请验证您是否有足够的配额来运行所有流水线,并设置监控和提醒,以防止单个错误的流水线消耗所有配额。
估算配额
如需估算数据和训练流水线所需的配额,请查找类似的项目,以便根据这些项目进行估算。如需估算投放配额,请尝试预测服务的每秒查询次数。这些方法提供了一个基准。当您在实验阶段开始为解决方案制作原型时,您将开始获得更精确的配额估算值。
在估算配额时,请务必考虑不仅是生产流水线的配额,还有正在进行的实验的配额。
检查您的理解情况
日志记录、监控和提醒
记录和监控生产模型的行为至关重要。强大的监控基础架构可确保您的模型提供可靠的高质量预测。
良好的日志记录和监控实践有助于主动发现机器学习流水线中的问题,并减轻潜在的业务影响。如果出现问题,系统会向团队成员发送提醒,而全面的日志有助于诊断问题的根本原因。
您应实现日志记录和监控,以检测机器学习流水线中的以下问题:
流水线 | 监控 |
---|---|
服务 |
|
数据 |
|
培训 |
|
验证 |
|
您还需要为以下内容设置日志记录、监控和提醒:
- 延迟时间。预测需要多长时间才能交付?
- 中断。模型是否已停止提供预测?
检查您的理解情况
部署模型
对于模型部署,您需要记录以下内容:
- 开始部署和增加推出范围所需的审批。
- 如何将模型投入生产环境。
- 模型部署的位置,例如是否存在预发布或 Canary 环境。
- 如果部署失败,该怎么办。
- 如何回滚已部署到生产环境中的模型。
在自动执行模型训练后,您可能还想自动执行验证和部署。自动化部署可分摊责任,并降低因单个人员而导致部署受阻的可能性。它还可以减少潜在的错误,提高效率和可靠性,并支持轮班待命和 SRE 支持。
通常,您会将新模型部署到一部分用户,以检查模型是否按预期运行。如果确实如此,请继续进行部署。如果不是,您将回滚部署,并开始诊断和调试问题。