与大多数现代 IT 工作负载一样,托管机器学习操作(MLOps)的方法不止一种——这意味着支持 AI 模型开发和部署的工具和流程集。
一种方法是在本地运行 MLOps 工具。第二种方法是使用基于云的机器学习 (ML) 工具和服务。
哪种方法更好?答案当然取决于您的需求和优先事项。请继续阅读以获取指导,我们将揭秘本地和基于云的 MLOps 之间的差异。
什么是 MLOps?
再次强调,MLOps 是指团队用来开发和部署 ML 工作负载(例如AI 模型)的一组实践。MLOps 的目的是提供对一组集成工具的访问,这些工具可处理 ML 开发生命周期的所有阶段,包括:
设计,即工程师设计整体机器学习应用程序或模型架构的过程。
数据准备,确保数据具有适当的格式和必要的质量,以支持机器学习需求。
开发,或者构建模型或应用程序的过程。
实验,允许工程师尝试进行调整或定制,以提高 ML 工作负载的性能。
部署,即将批准的模型投入生产并开始执行推理。
监控,允许团队监控和管理已部署的模型,以确保其按预期运行。
云与本地 MLOps
支持 MLOps 流程的工具可以在本地服务器或云中运行。两种方法各有利弊。
基于云的 MLOps
基于云的 MLOps 具有两个主要优势。
一是许多云提供现成的 MLOps 管道或环境——例如 AWS SageMaker 和 Azure Machine Learning。这意味着团队可以设置 MLOps 工具,而无需自己部署、管理和集成它们。(总的来说,我们应该注意到,一些现成的 MLOps 平台,如 DataRobot,可以在本地运行——因此,如果您想要一个交钥匙的 MLOps 解决方案,您不一定非要使用云。)
云 MLOps 的另一大优势是几乎无限量的 CPU、内存和存储资源。与本地环境不同,本地环境的资源容量受可用服务器数量和每台服务器提供的资源限制,而您始终可以在云中获取更多基础设施。这使得云 MLOps 对于资源需求差异很大或不可预测的 ML 用例特别有益。
本地 MLOps
在本地运行 MLOps 管道本身具有一些优势。
首先,您可以获得更多控制权。您可以精确选择要使用哪些 ML 工具以及如何配置和集成它们。云往往不太灵活,因为即使您部署自己的 MLOps 工具而不是使用 SageMaker 等打包解决方案,云也可能不支持您想要使用的所有工具或配置。例如,某些工具可能需要访问裸机硬件,而并非所有云基础设施都支持裸机访问。
本地 MLOps 也可能提供更好的性能。本地环境不需要您与其他客户共享硬件(云通常需要),因此您不必担心“吵闹的邻居”会减慢您的 MLOps 管道速度。通过快速本地网络连接移动数据的能力也可以提高本地 MLOps 的性能,就像直接在裸机上运行工作负载一样,而无需虚拟机管理程序层减少可用于工作负载的资源量。
云与本地 MLOps:何时使用哪个
那么,内部部署 MLOps 何时比云 MLOps 更好,反之亦然?
一般来说,在需要高度可扩展的基础设施的情况下,在云中部署 MLOps 管道是有意义的。对于刚接触 ML 工具并希望获得最简单的设置和部署体验的团队来说,云 MLOps 也可能具有吸引力。
另一方面,如果控制和性能是您的首要任务,请考虑内部部署 MLOps,它可以让您最大限度地按照自己的意愿做自己想做的事情。
MLOps 的混合方法
最后说明:本地 MLOps 和云 MLOps 不必相互排斥。您可以设置混合 MLOps 管道,其中一些组件在本地运行,其他组件在云中运行。
例如,您可以在本地设计和构建 AI 模型,但在云端进行训练。这种方法可以让您利用云基础设施来完成 CPU 密集型的训练任务,同时还能让您灵活地使用您选择的工具进行模型开发。
您还可以在混合 MLOps 方法下继续在本地或云中部署模型,具体取决于推理需要多少资源等因素。如果推理资源需求波动很大,云部署可能是更好的选择,因为它允许您在需要时访问更多资源,而无需在需求较低时支付不必要的服务器容量费用。