引入混合机器学习

源节点: 1575227

Gartner公司 预计到2024年底,75%的企业将从试点转向可操作人工智能(AI),从长远来看,绝大多数工作负载最终将转移到云端。对于一些计划迁移到云的企业来说,迁移的复杂性、规模和时间可能令人望而生畏。不同团队的速度以及他们对新工具的需求可能会有很大差异。企业的数据科学团队可能渴望采用最新的云技术,而应用程序开发团队则专注于在本地运行其 Web 应用程序。即使制定了多年的云迁移计划,某些产品版本也必须构建在云上才能满足企业的业务成果。

对于这些客户,我们建议混合机器学习 (ML) 模式作为您云之旅的中间步骤。混合机器学习模式是指至少涉及两个计算环境的模式,通常是本地计算资源(例如个人笔记本电脑或公司数据中心)和云。通过本文中描述的混合机器学习架构模式,企业可以实现其所需的业务目标,而无需等待云迁移完成。归根结底,我们希望支持客户以各种形式取得成功。

我们发布了新的白皮书, 混合机器学习,帮助您将云与现有的本地 ML 基础设施集成。有关 AWS 的更多白皮书,请参阅 AWS 白皮书和指南.

混合机器学习架构模式

该白皮书概述了整个 ML 生命周期中的各种混合 ML 模式,包括 ML 模型开发、数据准备、培训、部署和持续管理。下表总结了我们在白皮书中讨论的八种不同的混合机器学习架构模式。对于每种模式,除了优点和缺点之外,我们还提供了初步的参考架构。我们还确定了“何时采取行动”的标准来帮助您做出决策,例如,当维护和扩展给定模式的努力水平超过其提供的价值时。

研发支持 产品培训 部署
在个人计算机上进行开发,在云端进行训练和托管 本地训练,云端部署 将云中的 ML 模型提供给本地托管的应用程序
在本地服务器上开发,在云中训练和托管 本地存储数据,在云端训练和部署 使用 Lambda@Edge 将 ML 模型托管到本地应用程序
在云中开发,同时连接到本地托管的数据 与第三方 SaaS 提供商一起培训以在云中托管
在云中训练,在本地部署 ML 模型 使用 Kubeflow 和 Amazon EKS Anywhere 编排混合 ML 工作负载

在这篇文章中,我们深入探讨了混合架构部署模式,重点是将云中托管的模型提供给本地托管的应用程序。

架构概述

这种混合模式最常见的用例是企业迁移。您的数据科学团队可能已准备好部署到云,但您的应用程序团队仍在重构其代码以托管在云原生服务上。这种方法使数据科学家能够将他们的最新模型推向市场,而应用程序团队则单独考虑何时、何地以及如何将应用程序的其余部分迁移到云端。

下图显示了通过以下方式托管 ML 模型的架构: 亚马逊SageMaker 在 AWS 区域中,对来自本地托管应用程序的请求提供响应。

混合机器学习

技术深度探讨

在本节中,我们将深入探讨技术架构,重点关注明确构成混合工作负载的各种组件,并根据需要引用其他地方的资源。

让我们以一家零售公司的实际用例为例,该公司的应用程序开发团队在本地托管了其电子商务 Web 应用程序。该公司希望通过使用数据创造更复杂和独特的客户体验来提高品牌忠诚度、增加销售额和收入并提高效率。他们打算通过在主屏幕上添加“为您推荐”小部件来将客户参与度提高 50%。然而,由于静态、基于规则的系统、复杂性和成本的限制,以及由于当前遗留的本地架构而导致的平台集成的摩擦,他们正在努力提供个性化体验。

应用程序团队制定了为期 5 年的企业迁移战略,使用云原生架构重构其 Web 应用程序以迁移到云,而数据科学团队则准备开始在云中实施。通过本文中描述的混合架构模式,公司可以快速实现所需的业务成果,而无需等待 5 年的企业迁移完成。

数据科学家开发 ML 模型、执行训练并将训练后的模型部署在云中。本地托管的电子商务 Web 应用程序通过公开的端点使用 ML 模型。让我们详细讨论一下。

在模型开发阶段,数据科学家可以使用本地开发环境,例如个人计算机上安装的PyCharm或Jupyter,然后通过连接到云端 AWS身份和访问管理 (IAM) 权限以及通过以下方式与 AWS 服务 API 进行交互 AWS命令行界面 (AWS CLI) 或 AWS 开发工具包(例如 Boto3)。他们还可以灵活地使用 亚马逊SageMaker Studio,一个基于 Web 的可视化界面,附带常见的数据科学包和预安装的模型开发内核。

数据科学家可以利用 SageMaker 训练功能,包括访问按需 CPU 和 GPU 实例、自动模型调整、托管 Spot 实例、用于保存模型状态的检查点、托管分布式训练等等,使用 SageMaker 训练 SDK和 API。有关使用 SageMaker 训练模型的概述,请参阅 使用 Amazon SageMaker 训练模型.

模型经过训练后,数据科学家可以使用 SageMaker 托管功能部署模型,并向本地托管的最终应用程序公开提供预测服务的 REST HTTP(s) 端点。应用程序开发团队可以集成其本地应用程序,通过 SageMaker 托管端点与 ML 模型进行交互,以获得推理结果。应用程序开发人员可以通过应用程序编程接口 (API) 请求访问已部署的模型,响应时间低至几毫秒。这支持需要实时响应的用例,例如个性化产品推荐。

本地客户端应用程序使用 VPN 或 Direct Connect 连接通过专用网络与 AWS 上 SageMaker 托管端点上托管的 ML 模型连接,以向最终用户提供推理结果。客户端应用程序可以使用任何客户端库来通过 HTTP Post 请求以及以编程方式配置的必要身份验证凭据和预期负载来调用端点。 SageMaker 还具有抽象一些低级详细信息的命令和库,例如使用保存在我们的客户端应用程序环境(例如 SageMaker)中的 AWS 凭证进行身份验证 调用端点 来自 AWS CLI 的运行时命令、SageMaker 运行时客户端 博托3 (适用于 Python 的 AWS 开发工具包)以及 SageMaker 中的 Predictor 类 Python SDK。

为了使端点可以通过互联网访问,我们可以使用 Amazon API网关。尽管您可以从 API Gateway 直接访问 SageMaker 托管端点,但您可以使用的常见模式是添加 AWS Lambda 之间的函数。您可以使用 Lambda 函数进行任何预处理(以端点期望的格式发送请求可能需要),或进行后处理以将响应转换为客户端应用程序所需的格式。有关更多信息,请参阅 使用 Amazon API Gateway 和 AWS Lambda 调用 Amazon SageMaker 模型终端节点.

本地客户端应用程序使用 VPN 或 Direct Connect 连接通过专用网络与 AWS 上的 SageMaker 上托管的 ML 模型连接,以向最终用户提供推理结果。

下图说明了数据科学团队如何开发 ML 模型、执行训练以及在云中部署经过训练的模型,而应用程序开发团队如何在本地开发和部署电子商务 Web 应用程序。

架构深度探究

将模型部署到生产环境后,您的数据科学家可以使用 Amazon SageMaker模型监控器 实时持续监控机器学习模型的质量。当模型质量出现偏差(例如数据漂移和异常)时,他们还可以设置自动警报触发系统。 Amazon CloudWatch日志 收集监控模型状态的日志文件,并在模型质量达到特定阈值时通知您。这使您的数据科学家能够采取纠正措施,例如重新训练模型、审核上游系统或修复质量问题,而无需手动监控模型。借助 AWS Managed Services,您的数据科学团队可以避免从头开始实施监控解决方案的弊端。

您的数据科学家可以通过使用 SageMaker ML 实例自动进行负载测试和模型调整,从而减少在生产中部署 ML 模型所需的总时间 Amazon SageMaker 推理推荐器。它可以帮助您的数据科学家为其 ML 模型选择最佳实例类型和配置(例如实例计数、容器参数和模型优化)。

最后,将托管 ML 模型与托管应用程序解耦始终是最佳实践。在这种方法中,数据科学家使用专用资源来托管他们的机器学习模型,特别是与应用程序分离的资源,这大大简化了推动更好模型的过程。这是创新飞轮的关键一步。这还可以防止托管 ML 模型和应用程序之间出现任何形式的紧密耦合,从而使模型具有高性能。

除了通过更新的研究趋势来提高模型性能之外,此方法还提供了使用更新的数据重新部署模型的能力。全球 COVID-19 大流行证明了市场一直在变化的现实,机器学习模型需要跟上最新趋势。满足该要求的唯一方法是能够使用更新的数据重新训练和重新部署模型。

结论

查看白皮书 混合机器学习,其中我们通过以下方式查看托管 ML 模型的其他模式 拉姆达@边缘, AWS前哨站, AWS 本地区域AWS波长。我们探索整个机器学习生命周期的混合机器学习模式。我们着眼于本地开发,同时在云端进行培训和部署。我们讨论了在本地进行训练以部署在云上的模式,甚至在云中托管 ML 模型以服务于本地应用程序的模式。

您如何将云与现有的本地机器学习基础设施集成?请在评论中分享您对混合机器学习的反馈,以便我们继续改进我们的产品、功能和文档。如果您想向本文档的作者寻求有关云迁移的建议,请通过以下方式联系我们: Hybrid-ml-support@amazon.com.


作者简介

阿拉克·埃斯瓦拉达斯 是 AWS 的解决方案架构师,总部位于伊利诺伊州芝加哥。她热衷于帮助客户利用 AWS 服务设计云架构来解决业务挑战。她在空闲时间和女儿们一起出去玩,探索户外活动。

艾米丽·韦伯(Emily Webber) 在 SageMaker 推出后就加入了 AWS,从那时起就一直在努力向全世界宣传它! 除了为客户打造新的机器学习体验之外,Emily 还喜欢冥想和研究藏传佛教。

立体盆 是 AWS 的解决方案架构师,专注于 AI/ML。他热衷于机器学习并帮助客户实现其业务目标。业余时间,他喜欢阅读和徒步旅行。

资料来源:https://aws.amazon.com/blogs/machine-learning/introducing-hybrid-machine-learning/

时间戳记:

更多来自 AWS机器学习博客