基于Kubernetes 的机器学习工作流

介绍

Pipeline是Kubeflow社区最近开源的一个端到端工作流项目,帮助我们来管理,部署端到端的机器学习工作流。Kubeflow 是一个谷歌的开源项目,它将机器学习的代码像构建应用一样打包,使其他人也能够重复使用。 
kubeflow/pipeline 提供了一个工作流方案,将这些机器学习中的应用代码按照流水线的方式编排,形成可重复的工作流。并提供平台,帮助编排,部署,管理,这些端到端机器学习工作流。

概念

pipeline 是一个面向机器学习的工作流解决方案,通过定义一个有向无环图描述流水线系统(pipeline),流水线中每一步流程是由容器定义组成的组件(component)。 
当我们想要发起一次机器学习的试验时,需要创建一个experiment,在experiment中发起运行任务(run)。Experiment 是一个抽象概念,用于分组管理运行任务。

  • Pipeline:定义一组操作的流水线,其中每一步都由component组成。 背后是一个Argo的模板配置。
  • Component: 一个容器操作,可以通过pipeline的sdk 定义。每一个component 可以定义定义输出(output)和产物(artifact), 输出可以通过设置下一步的环境变量,作为下一步的输入, artifact 是组件运行完成后写入一个约定格式文件,在界面上可以被渲染展示。
  • Experiment: 可以看做一个工作空间,管理一组运行任务。
  • Run: pipeline 的运行任务实例,这些任务会对应一个工作流实例。由Argo统一管理运行顺序和前后依赖关系。
  • Recurring run: 定时任务,定义运行周期,Pipeline 组件会定期拉起对应的Pipeline Run。

Pipeline 里的流程图

image.png

组件的Artifact

image.pngimage.png

模块

Pipeline 的组件比较简单,大致分为5个部分。

  • MySQL: 用于存储Pipeline/Run 等元数据。
  • Backend: 一个由go编写的后端,提供kubernetes ApiServer 风格的Restful API。处理前端以及SDK发起的操作请求。 Pipeline/Experiment 之类的请求会直接存入MySQL元数据。和Run 相关的请求除了写入MySQL以外还会通过APIServer 同步操作Argo实例。
  • CRD Controller: Pipeline 基于Argo扩展了自己的CRD ScheduledWorkflow, CRD Controller 中会主要监听ScheduledWorkflow和Argo 的Workflow 这两个CRD变化。处理定期运行的逻辑。
  • Persistence Agent: 和CRD Controller 一样监听Argo Workflow变化,将Workflow状态同步到MySQL 元数据中。它的主要职责是实时获取工作流的运行结果。
  • Web UI:提供界面操作。 从Backend 中读取元数据,将流水线过程和结果可视化,获取日志,发起新的任务等。

image.png

其他工具

除了以上核心模块以外, Pipeline提供了一系列工具,帮助更好构建流水线。

  • SDK, 用于定义pipeline和component,编译为一个argo yaml模板,可以在界面上导入成pipeline。
  • CLI 工具,替代Web UI,调用Backend Api 管理流水线
  • Jupyter notebook。 可以在notebook中编写训练代码,也可以在notebook中通过sdk管理Pipeline。

 

原文链接

本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

puppet php,puppet入门实践

版本选择本来是要选择一个最新版本(当时最新版本是4.3),怎奈官方的yum仓库(https://yum.puppetlabs.com/)中没有最新版本;至少看起来没有4.3;有的是:facter-1.6........facter-2.4........hira-1......mcollective-2......mcollec…

Jmeter 使用脚本 生成html测试报告

每次都要删除jtl文件和report文件夹麻烦,可以写一个bat批处理文件,每次想输出测试报告时,执行下bat文件就可以了,新建一个2.txt文件,输入如下内容,然后将文件改为2.bat echo off REM 纽约约会接口性能测试…

Apache Flink,流计算?不仅仅是流计算!

阿里妹导读:2018年12月下旬,由阿里巴巴集团主办的Flink Forward China在北京国家会议中心举行。Flink Forward是由Apache软件基金会授权的全球范围内的Flink技术大会,2015年开始在德国柏林举办,今年第一次进入中国。 今天&#x…

阿里云数字政府市场份额第一,同比增速102.57%

12月3日,阿里云峰会广东期间,阿里巴巴副总裁、阿里云智能数字政府事业部总裁许诗军表示,目前阿里云已成为中国数字政府大数据整体市场第一,也是数字政府大数据基础平台软件市场第一。 近日,IDC发布了《中国数字政府大数…

oracle调整显示长宽,Oracle设置SQLPlus结果显示的宽度,ORACLE sqlplus提示符设置

一、SQLPlus查询的结果,可以根据自己的屏幕情况进行调节:我们知道sqlplus模式下,select查询的时候经常会遇到返回的记录折行,这时候我们往往会设置行宽,列宽和页面记录。设置行宽:set linesize 200 表示行宽被设置为20…

Jmeter 监控多台服务器CPU、内存、i/o等资源

文章目录1. 插件下载2. 移动插件3. 重启jmeter验证4. 选择监控参数5. 安插卧底6. 启动7. 连接远程1. 插件下载 链接JMeterPlugins-Standard-1.4.0.zip 提取码5utu 链接ServerAgent-2.2.1.rar提取码9ivy 2. 移动插件 解压JMeterPlugins-Standard-1.4.0.zip,将其中…

云栖专辑 | 阿里开发者们的第11个感悟:拥抱变化,用正确的方法对待工作

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

一份关于kaggle特征构建技巧和心得

在很长的一段时间里,我们表现出缺乏创造力,所做出的工作被认为是山寨、借鉴,这一点是不可否认,但随着自身的积累,厚积薄发,完成了从借鉴到创造的突破。创造力是我们工作的基本要素之一,这点在各…

Jmeter 生成HTML性能测试报告

文章目录一、生成HTML测试报告的两种方式1.1. 利用已有.jtl文件生成报告1.2. 无.jtl文件生成测试报告二、图表信息详解2.1. Dashboard(概览仪表盘)2.2. Charts(详细信息图表)2.3. Over Time2.4. Throughput2.5. Response Times一、…

分区裁剪 oracle,[讨论]分区表并行和剪裁的困惑

d_fct是分区表,设了并行,字段time_day 按天分区。下列语句执行计划上看,确实走了并行,INDEX FAST FULL SCAN,这个是全扫了整个表呢?还是一个分区呢? Pstart和Pstop都是2711,是说第27…

阿里云再发两款混合云一体机 ,企业全面上云就像上车一样简单

12月3日,广州云峰会上,阿里云宣布推出面向混合云场景的CPFS一体机和视觉AI一体机,两款新品具备超高性能、开箱即用等特性,极大降低企业上云的周期和门槛。加上此前推出的POLARDB数据库一体机和蚂蚁mPaaS一体机,阿里云已…

专访阿里云MVP王俊杰:开发者的超能力是用技术让世界更美好

【王俊杰:阿里云MVP,陕西创博网络科技有限公司总经理。大数据与物联网的爱好者与实践者。 8年以上互联网从业经验,曾从事军工相关仿真分析软件研发与集成、4年以上大数据系统开发经验。目前正与天水市秦州区政府配合建设智慧安监、智慧环保、…

阿里云护航罗振宇2018“时间的朋友”跨年演讲,与千万观众一起跨年

2018年12月31日20:30分,以“时间的朋友”为主题的罗振宇2018跨年演讲在深圳正式召开,同时通过深圳卫视、优酷等平台进行全球直播。作为年度总结式演讲开创者,2018年跨年演讲与以往跨年演讲一样,依旧保持着超高的人气,据…

jmeter常用插件介绍

https://www.codercto.com/a/67098.html

oracle us7ascii 中文,US7ASCII字符集中汉字显示问题

前几天遇到一个US7ASCII字符集的数据库,无论在客户端如何设置字符集都无法通过程序正确读出数据库中的中文汉字,辛苦地查了很多资料,都说是ORACLE的一大BUG,如何解决这一问题呢?在不断的试验中发现,采用OLEDB方式设置…

广东农信迁移上阿里云:系统建设从按月缩短至按天

12月3日,广东省农村信用社联合社银信中心副总裁周丹在2019年阿里云广东峰会上透露,通过携手阿里云,广东农信实现了从传统架构向云化的转型升级,金融业务系统的搭建工期从按月计算缩短至按天计算,效率大幅提升。 周丹在…

阿里云容器服务DaemonSet实践

DaemonSet 保证在每个 Node 上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用。下面以日志收集 fluentd 为例,看下如何使用阿里云容器服务控制台创建DaemonSet。 准备Kubernetes环境 在阿里云容器服务控制台中创建Kubernetes…

GIF动画解析RNN,LSTM,GRU

循环神经网络是一类常用在序列数据上的人工神经网络。三种最常见的循环神经网络分别是: 1.维尼拉循环神经网络(vanilla RNN) 2.长短期记忆网络(LSTM),由Hochreiter和Schmidhuber于1997年提出 3.门控循环…

oracle检查外键依赖,Oracle中检查外键是否有索引的SQL脚本分享

COLUMN COLUMNS format a30 word_wrappedCOLUMN tablename format a15 word_wrappedCOLUMN constraint_name format a15 word_wrappedSELECT TABLE_NAME,CONSTRAINT_NAME,CNAME1 || NVL2(CNAME2, ‘,‘ || CNAME2, NULL) ||NVL2(CNAME3, ‘,‘ || CNAME3, NULL) ||NVL2(CNAME4,…

2018最有用的六个机器学习项目

2018年又是人工智能和机器学习快速发展的一年。许多新的机器学习的项目正在以非常高的影响力影响着诸多领域,特别是医疗保健、金融、语音识别、增强现实和更复杂3D视频渲染。 这一年,我们看到了更多的应用驱动研究,而不是理论研究。虽然这可…