我的任务是在一家中型公司为ML开发定义AWS工具。假设有十几个ML工程师加上其他熟悉无服务器( lambdas和框架)的DevOps员工。主要问题是:a )什么是允许与ML开发相关的主要任务(创建、训练、拟合模型、数据预处理、超参数优化、作业管理、包装无服务器服务、收集模型度量等)的体系结构;b)可用于打包和部署事物的主要工具有哪些;c)用于该体系结构的开发工具(IDE、SDK、“框架”)是什么?我只想把Jupyter笔记本放在一边。Jupyter笔记本非常适合概念验证,也是最接近PowerPoint的管理工具……但在考虑可部署的代码单元时,我对笔记本电脑有一个问题。
我的直觉指出了一个初步的目标架构,包括5个部分:
1-具有支持基本模型操作(创建空白、创建预训练、训练、测试/拟合等)的ML模型的“核心”。我在这里预见到了核心Python脚本--没问题。
2- (可选)执行超参数优化和/或模型版本控制的“容器化物件集”
3-公开应用程序接口、执行作业管理和合并数据预处理的'contained-unit-of-Python-scripts-around-models‘。这也会对S3存储桶进行读写。
4-一个具有高级API的“无服务器层”( Python中)。它与上面的#3和/或#1对话。
5-一些容器或捆绑的东西,它将从Git解压文件,并将它们部署到各种AWS服务上,从前面的3点创建东西。
正如你所看到的,我的条款是相当模糊的:)如果有人可以明确的条款,这将是有帮助的。我的直觉和我的初步阅读表明,答案可能包括本地集成开发环境,如PyCharm或Anaconda,或者基于云的集成开发环境(它们可能是什么?-请不要提及笔记本电脑)。我不太清楚的一点是#5.候选对象包括Kubeflow Pipeline的Amazon SageMaker组件和/或Kubeflow Pipeline的Amazon SageMaker组件和/或SageMaker的Amazon Step Functions DS SDK。然而,我不清楚他们如何执行#5。Kubeflow看起来非常有趣,但它是否有足够的采用率,还是会在两年内消亡?Kubeflow管道的亚马逊SageMaker组件、Kubeflow管道的亚马逊SageMaker组件和SageMaker的Amazon Step Functions DS SDK是否相互排斥?它们中的每一个如何帮助“容器化事物”以及基本的配置和部署任务?
发布于 2020-12-09 03:39:18
虽然这是一个很长的问题,但当你考虑为生产设计ML基础设施时,这些事情完全有意义。因此,有三个级别定义了机器学习过程的成熟度。
1- CI/CDeployment:在此docker镜像中,将经历构建、测试和将版本化训练镜像推送到注册表等阶段。您还可以在其中执行训练,并可以使用git引用存储版本化模型。

2-连续训练:这里我们处理ML管道。使用新数据重新训练模型的过程自动化。当你必须用新数据或新实现运行整个ML流水线时,它变得非常有用。
实现工具: Kubeflow pipelines、Sagemaker、Nuclio

3-连续交付:在哪里??云端还是边缘端?在云上,您可以使用KF服务或使用带有Kubeflow管道的sage maker,并通过kubeflow使用sagemaker部署模型。
Sagemaker和Kubeflow以某种方式提供了相同的功能,但它们各自都有自己独特的功能。Kubeflow拥有kubernetes、流水线、可移植性、缓存和工件的能力,同时Sagemaker拥有管理基础设施的能力和从0扩展的能力以及AWS ML服务,如Athena或Groundtruth。
解决方案:
Kubeflow管道单机版+亚马逊网络服务Sagemaker(Training+Serving模型)+ Lambda,用于从S3或Kinesis触发管道。
需要基础设施。
-Kubernettess cluster (Atleast 1 m5)
-MinIo or S3
-Container registry
-Sagemaker credentials
-MySQL or RDS
-Loadbalancer
-Ingress for using kubeflow SDK你又一次在一个问题中问我我这一年的旅程。如果您对此感兴趣,让我们连接:)
权限:
Kube --> registry (Read)
Kube --> S3 (Read, Write)
Kube --> RDS (Read, Write)
Lambda --> S3 (Read)
Lambda --> Kube (API Access)
Sagemaker --> S3, Registery良好的入门指南
https://github.com/kubeflow/pipelines/tree/master/manifests/kustomize/env/aws
https://stackoverflow.com/questions/65191030
复制相似问题