7. 持续部署 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

7. 持续部署

要持续部署机器学习系统,它必须能够在实时模型之间转移流量。持续部署的系统至少有一种方法可以将模型提升到生产环境:canary、shadow、blue/green, or A/B。确认在 ML 系统中,您至少有一种方法可以回滚模型。

7.1 模型切换

在暂存和生产中,系统可以在版本控制模型之间切换。它可以一次性或逐步将流量转移到新的生产变体。

7.2 模型提升流程

模型提升已采用分阶段验证流程。该流程使用不影响生产系统的离线测试,例如在暂存环境中针对验证数据运行。制定了模型提升的运行手册和指标。提升遵循其中一种推出策略。

7.3 回滚策略

存在回滚策略,以便在发生错误或模型偏离预期行为时,发生回滚、回退或滚动更新。回滚时,模型将恢复为之前的部署版本。回退时,模型将替换为一个强大的启发式算法。滚动更新会将下一代模型提升到生产,并逐步替换旧模型。所有这些策略都有相应的运行手册。

7.4 金丝雀部署

系统可以使用金丝雀进行部署。最初有一小部分流量发送到新模型。随着时间的推移,所有流量都会转移到新模型。由于测试是在生产环境中进行的,因此这种转变受到密切监控。

7.5 模型影子部署

系统可以运行影子部署,在此部署中,新模型与现有模型一起工作。两个模型都接收流量,但只有较早的模型输出推理。将新模型与现有模型进行比较评测,然后手动提升新模型。

7.6 蓝绿部署

系统可以使用新模型(绿色,处于暂存状态)和较早的模型(蓝色,处于生产状态)进行部署,两者同时运行。测试完成后,流量从蓝色环境转移至绿色环境。此策略可防止停机,因为它可以建立完全相同的环境。

7.7 支持 A/B 测试或更多

系统支持在已部署环境中使用模型版本对传入流量 A/B 进行测试。其中可能包括根据新模型在测试中获胜而自动提升的功能。更高级的设置将使用多臂强盗流程。