wordpress 微信导航站,招聘代做网站,百度推广手机版,网站要害字1. 背景
近些年来#xff0c;人工智能技术在自然语言处理、视觉图像和自动驾驶方面都取得不小的成就#xff0c;无论是工业界还是学术界大家都在惊叹一个又一个的模型设计。但是对于真正做过算法工程落地的同学#xff0c;在惊叹这些模型的同时#xff0c;更多的是在忧虑如…1. 背景
近些年来人工智能技术在自然语言处理、视觉图像和自动驾驶方面都取得不小的成就无论是工业界还是学术界大家都在惊叹一个又一个的模型设计。但是对于真正做过算法工程落地的同学在惊叹这些模型的同时更多的是在忧虑如果快速且有效的将这些模型落地到业务中并产生商业价值。正如Google 《Hidden Technical Debt in Machine Learning Systems》中说的ML code仅是Machine Learning systems中的一小部分像数据收集、特征抽取、配置管理、资源管理、模型部署、模型监控等同样十分的重要。 当我们看到一个典型的机器学习系统由这么多组件或子系统构成时我们会进而想到另一个问题这么多子系统应该如何高效的配合起来
答案是机器学习工作流。 通过机器学习工作流可以有效的将各个子系统串联起每一个业务场景可以通过一个端到端的机器学习工作流来描述同时通过工作流也可以追溯每一次模型产出或模型上线的元信息例如数据、配置、base model等。 在工业界比较成熟的机器学习工作流是Google 的Vertex AI Pipeline和Amazon的Sagemaker Pipeline大家如果感兴趣可以自行去他们的官网体验。
本文将要介绍的是开源机器学习工作流的解决方案Kubeflow Pipelines(注Vertex AI Pipeline是基于Kubeflow Pipelines进行改造而来的。 2. Kubeflow Pipelines
Kubeflow是一个基于云原生的Machine Learning Platform旨于快速在kubernetes环境中构建一套开箱即用的机器学习平台。Kubeflow由多个子系统构成覆盖了机器学习声明周期的全流程。
在训练阶段Kubeflow针对不同机器学习框架提供了对应operator方便用户在kubernetes环境中提交分布式训练任务;在部署阶段Kubeflow同样提供了多种的部署框架让用户根据自己的业务需求来选择;在监控阶段Kubeflow提供了Metadata和TensorBoard来对模型的Artifact、血缘和性能进行分析; 针对于机器学习上述阶段Kubeflow提供了Kubeflow Pipeline工作流平台用于将机器学习的各个阶段进行串联同时提供了下述能力
任务编排Kubeflow Pipeline通过argo提供workflow的能力能够实现丰富多样的DAG 工作流用户可以根据的业务需求定义、管理和复用自己工作流实验管理Kubeflow Pipeline通过Experiments的能力能够展示和对比不同实验参数例如模型超参下Pipeline的运行结果用户可以根据结果来对工作流任务进行调优模型追溯Kubeflow Pipeline通过Tracking的能力能够记录每一次Pipeline运行中每个step的输入和输出信息用户可以根据记录的内容进行问题排查或模型调优 3. 部署安装
Kubeflow Pipelines有两种安装模式
模式一安装全套Kubeflow Platform此时会同时安装Kubeflow Pipelines模式二独立安装Kubeflow Pipelines本文介绍此种情况比如使用
安装 kubeflow pipeline 1.8.0 版本
(K8S必须安装coreDNS服务)
https://github.com/kubeflow/pipelines/tree/1.8.0
https://github.com/kubeflow/pipelines/tree/1.8.0/manifests/kustomize 安装方法如下图 Install:
KFP_ENVplatform-agnostic
kubectl apply -k cluster-scoped-resources/
kubectl wait crd/applications.app.k8s.io --for conditionestablished --timeout60s
kubectl apply -k env/${KFP_ENV}/
kubectl wait pods -l application-crd-idkubeflow-pipelines -n kubeflow --for conditionReady --timeout1800s
kubectl port-forward -n kubeflow svc/ml-pipeline-ui 8080:80
Now you can access Kubeflow Pipelines UI in your browser by http://localhost:8080.
要下载对应image
安装成功后 所有Pod都需要Running 1. mysql与minio 因为依赖storage,要修改 对应的deployment里的volumn 4 服务卸载
4.1 namespace范围资源卸载
kubectl kustomize env/platform-agnostic | kubectl delete -f -
4.2 cluster范围资源卸载
kubectl delete -k cluster-scoped-resources/ 二进制安装kubernetes 1.23.2_kubectl二进制安装_老段工作室的博客-CSDN博客
二进制安装 k8s v1.25.0_基于ubuntu 20.04 安装二进制k8s 1.25_给你对象一枪的博客-CSDN博客