Kubeflow——K8S的机器学习利器

简书不活跃,欢迎到这里捉到我,查看更多干货。
针对Kubeflow组件较多,容易搞不清每个组件是干什么的,本文先对Kubeflow进行一个系统的概括,让大家明白各个组件分别的用处,并对组件间的关系进行理顺,帮助大家合理快速的选择自己需要的组件,随后会对每个组件的底层架构和流程分别进行详细的介绍和剖析,供大家针对性的进一步学习。

什么是Kubeflow?

KubeflowKubernetes的机器学习工具包。Kubeflow是运行在K8S之上的一套技术栈,这套技术栈包含了很多组件,组件之间的关系比较松散,我们可以配合起来用,也可以单独用其中的一部分。下图是官网显示Kubeflow作为在Kubernetes上安排ML系统组件的平台:

Kubeflow架构图

我们先大体看一眼 Kubeflow都有哪些组件,是不是很多?接下来我会带大家逐步了解每个组件都有哪些作用。
当我们开发和部署ML系统时,ML工作流程通常包括几个阶段。开发ML系统是一个反复的过程。我们需要评估ML工作流各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型不断产生所需的结果。
为了便于理解,下图按顺序显示了工作流程阶段,并将 Kubeflow添加到工作流中,显示在每个阶段都有哪些 Kubeflow组件有用。工作流末尾的箭头指向流程,以表示流程的迭代性质:

Kubeflow工作流程阶段图

  • 在实验阶段,我们将基于初始假设来开发模型,并反复测试和更新模型以产生所需的结果:

    • 确定我们要ML系统解决的问题。
    • 收集和分析训练ML模型所需的数据。
    • 选择一个ML框架和算法,并为模型的初始版本编码。
    • 试验数据并训练模型。
    • 调整模型超参数以确保最有效的处理和最准确的结果。
  • 在生产阶段,我们将部署执行以下过程的系统:

    • 将数据转换为训练系统所需的格式(为了确保我们的模型在训练和预测过程中行为始终一致,转换过程在实验阶段和生产阶段必须相同)。
    • 训练ML模型。
    • 服务模型以进行在线预测或以批处理模式运行。
    • 监督模型的性能,并将结果输入到我们的程序中,以调整或重新训练模型。

由此可以看出,Kubeflow的目标是基于K8S,构建一整套统一的机器学习平台,覆盖最主要的机器学习流程(数据->特征->建模->服务→监控),同时兼顾机器学习的实验探索阶段和正式的生产环境。

Kubeflow组件

Kubeflow提供了一大堆组件,涵盖了机器学习的方方面面,为了对Kubeflow有个更直观深入的了解,先整体看一下Kubeflow都有哪些组件,并对Kubeflow的主要组件进行简单的介绍:

  • Central Dashboard:Kubeflowdashboard看板页面
  • Metadata:用于跟踪各数据集、作业与模型
  • Jupyter Notebooks:一个交互式业务IDE编码环境
  • Frameworks for Training:支持的ML框架
    • Chainer
    • MPI
    • MXNet
    • PyTorch
    • TensorFlow
  • Hyperparameter Tuning:Katib,超参数服务器
  • Pipelines:一个ML的工作流组件,用于定义复杂的ML工作流
  • Tools for Serving:提供在Kubernetes上对机器学习模型的部署
    • KFServing
    • Seldon Core Serving
    • TensorFlow Serving(TFJob):提供对Tensorflow模型的在线部署,支持版本控制及无需停止线上服务、切换模型等
    • NVIDIA Triton Inference Server(Triton以前叫TensorRT)
    • TensorFlow Batch Prediction
  • Multi-Tenancy in Kubeflow:Kubeflow中的多租户
  • Fairing:一个将code打包构建image的组件
    Kubeflow中大多数组件的实现都是通过定义CRD来工作。目前Kubeflow主要的组件有:
  • Operator是针对不同的机器学习框架提供资源调度和分布式训练的能力(TF-OperatorPyTorch-OperatorCaffe2-OperatorMPI-OperatorMXNet-Operator);
  • Pipelines
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值