生产中的 Serverless 机器学习流水线

  • 时间:
  • 浏览:1
  • 来源:大发快3官方—UU快三

本文正确处理方案中, 训练和预测服务环节是通过 K8s 上的任务 (jobs) 和部署(deployments)实现的,K8s 集群是有并不是相对较重的资源,资源利用率低是常见的问题报告 。函数工作流结合函数计算正确处理方案的一大优势是其极高的灵活性,类似下列的使用方法:

关于函数工作流或是函数计算有任何需求,反馈讨论,欢迎加入官方钉钉群:

本文将讨论机器/厚度学习基础设施运维(MLOps)中的机器学习流水线。文章将覆盖以下内容和技术点:

随着机器/厚度学习的商业价值体现的没有明显,围绕 ML 的软件技术也日新月异,训练 (training),模型 (model),算法 (algorithm),预测 (predictions),推理 (inference) 哪几种概念以及 Spark MLlib, Tensorflow 哪几种软件框架也变成了超高频词。在本地机器上用 Jupyter notebook 调用 Tensorflow 训练几万张图片,不断调参,一点产出的模型推理/预测想看 结果准确当然是很兴奋的,一点一点呢 (so what)?发表在 NIPS 的论文 Hidden Technical Debt in Machine Learning Systems 中的这幅图非常准确地展示了在产生商业价值的过程中,支持机器学习的付近设置的开发,运维 (MLOps)的工程量要远大于机器学习的核心开发。生产环境中的 MLOps 根据业务场景差别会非常大,模块多,无法在一篇文章中覆盖,本文将聚焦在其中的有三个 模块 -- 机器学习流水线, 重点介绍咋样利用阿里云 Serverless 云服务提高研发和运维的速率单位,自动化地将算法变成训练后的模型,经过测试和审批最终在生产环境中通过预测/推理产生商业价值。

如下图所示,大家将复杂性的 MLOps 复杂性抽象成 算法开发 -> 模型构建 (build) -> 训练 (training) -> 部署 (serving)-> 测试,审批 -> 生产发布,一点再次返回算法开发的反馈回路。

本文假设训练,预测推理使用阿里云 K8s(ACK) 集群 由于是基于 ECS 自搭的 K8s 集群。训练使用了 Fashion MNIST dataset 。预测服务接受图片输入产生对应的预测结果 (如是衣,帽,鞋)。Training 和 serving 有分别的容器镜像。流水线编排使用阿里云函数工作流(FnF) 和函数计算 (FC)。FC 和 FnF 前会 Serverless 云服务,前会 全托管,免运维,只为使用量付费,无限扩展等底部形态。流水线逻辑图如下:

FnF & FC 的方案较开源工作流/流水线方案满足上文提出的对生产环境 ML 流水线的所有要求,一点在以下的特点尤其突出:

逻辑嘴笨 清楚简单,然而流水线系统可以满足下面的底部形态才适用于生产环境:

流水线的概念和上述的要求不要新奇,前会 开源的正确处理方案被广泛应用,如 CI/CD 系统常使用的 Jenkins, 工作流引擎 Airflow, Uber Cadence 等。然而在阿里云平台上还没有比较流行的 ML 流水线正确处理方案,本文将提供有并不是结合 Serverless 云服务和阿里云容器服务 K8s 的正确处理方案。

上文提到了使用阿里云 Serverless 服务函数计算(FC)和函数工作流 (FnF) 来实现 ML 流水线的协调,有有三个 很自然的问题报告 要是为哪几种要做要是的选型,相比已有的开源的工作流引擎有哪几种优势。回答这些 问题报告 还是要回到问题报告 定义偏离 中大家列出的生产环境 ML 流水线可以具备的能力一一对比分析:

更多排列组合,期待开发者的发掘。