使用人工智能 (AI) 和
机器学习 (ML) 解决方案的组织面临一个具有挑战性的问题:将这些功能部署到生产系统中。ModelOps 和 MLOps 管道的最后一个组件是生产部署阶段。这个阶段发生在模型经过训练并达到合适的性能水平并准备好对实时数据进行预测之后。
那么为什么这是一个挑战呢?平均而言,组织需要大约 9 个月的时间将模型部署到生产中,估计有 50-90% 的机器学习模型处于比喻性的“AI 死亡谷”中。
构建人工智能驱动的解决方案和软件系统所需的技能差距是
人工智能死亡谷的主要驱动力之一。只有一小部分生产 ML 系统由实际的 ML 代码组成。结果,数据科学家面临着构建生产系统的艰巨任务,却没有相应的技能。这通常会导致快速而廉价的解决方案,最终会产生大量的技术债务,从长远来看会使组织付出更多的代价。
为了解决对让数据科学家的生活更轻松的解决方案的巨大需求,近年来,开源社区、云提供商、软件初创公司等已经在市场上出现了几种 AI 模型部署选项。虽然这些产品在某些情况下就足够了,但许多产品存在很大差距,无法提供强大的解决方案。也就是说,这些工具不足,因为它们:
仅支持其平台原生的模型
需要困难的设置和较大的学习曲线
不提供开箱即用的水平缩放
随着组织越来越多地寻求对多云兼容性、边缘或本地部署的支持,提供有限的部署选项
缺乏强大的监控功能,如漂移检测、可解释性等
Modzy 旨在帮助数据科学家将他们的模型无缝部署到定制的生产系统中,而无需担心任何这些持续存在的挑战。
我们的解决方案
Modzy 的模型部署解决方案为数据科学家提供了将部署阶段集成到其现有 MLOps 管道中的工具,无论他们使用何种工具、自定义实现或训练平台。鉴于数据科学家的 ML 流程中有大量框架和定制,您为什么必须偏离现状?使用 Modzy,有多种选择最适合您自己的范例——包括 Modzy 界面中的部署工具和Modzy 的 Python SDK。
利用 Modzy 的不同部署选项的唯一先决条件是所有模型都必须容器化以满足开源容器规范。这个容器规范有几种不同的风格——“ gRPC 协议、REST 协议或开放模型接口”——每一种都为数据科学家提供了选择最适合他们的灵活性的灵活性。
Modzy 的模型部署工具如何工作
将模型容器化以满足上述规范之一后,将容器映像保存为 .tar 文件或将其推送到您选择的 Docker 注册表。此时,您可以通过在您的个人模型库中选择“部署模型”选项来开始部署过程。
容器映像完成上传后,请按照几个简单的步骤完成完整部署:
为您的模型容器配置硬件和内存要求(可根据您的基础设施定制)
为您的模型定义输入和输出规范,以便用户了解如何向您的模型提交推理 API 调用,并了解预期的输出
记录有关您的模型的信息(技术细节、训练数据、性能指标以及您希望包含的任何其他内容)
现在,您可以发布模型,开始运行生产推理,并利用 Modzy 提供的所有监控功能。
Python SDK 的工作原理
数据科学家使用的两种流行的模型训练工具是AWS Sagemaker和MLFlow。这两种工具都为用户提供了一组直观的 API 来训练、评估和保存 ML 模型。虽然这些工具通常用于模型开发,但它们的模型部署等价物并没有广泛使用。使用 Modzy,用户可以将这两个模型框架自动容器化和部署到 Modzy 的 Python SDK 中。要开始使用此功能,您需要 (1) 经过训练的 Sagemaker 或 MLFlow 模型的原始输出,以及 (2) 保存在 AWS s3 存储桶或 Azure Blob 中的模型工件。
满足这些要求后,在首选编辑器中使用 Modzy 的 Python SDK(我的提示:Jupyter Notebooks 工作得很好)并按照几个步骤将模型部署到 Modzy:
使用有关您的模型的文档完成一个 yaml 文件,并为您选择的特定模型类型提供任何其他元数据文件。在图像分类的情况下,您需要提供一个labels.json文件,其中包含数字类和人类可读标签之间的映射。
包括访问包含模型工件的云存储 blob 所需的凭据,指定权重文件和其他模型资源的路径,定义模型类型(例如,图像分类),并将此信息传递给 Modzy