Kubeflow学习

Kubeflow学习

  • 介绍
  • 架构
  • Kubeflow在ML工作流中的组件

介绍

Kubeflow致力于使在Kubernetes上部署机器学习工作流变得简单、可移植和可扩展。目标不是重新创建其他服务,而是提供一种直接的方式来将最佳的ML开源系统部署到不同的基础设施。在任何运行Kubenertes的地方,都应该能够运行Kubeflow。
Kubeflow是Kubernetes的机器学习工具包。要使用Kubeflow,基本的工作流如下:

  • 下载并运行Kubeflow部署的二进制文件
  • 自定义生成的配置文件
  • 运行指定的脚本以将容器部署到特定环境
    可以调整配置以选择要用于ML工作流的每个阶段的平台和服务:
  • 数据准备
  • 模型训练
  • 预测服务
  • 服务管理
    可以选择在本地或云环境中部署Kubenertes工作负载。Kubeflow的目标是尽可能简单地扩展机器学习模型并将他们部署到生产环境。

架构

下图显示了Kubeflow作为一个平台,用于在Kubernetes之上安排ML系统的组件。
Kubeflow学习_第1张图片
Kubeflow构建在Kubernetes之上,作为一个用于部署、扩展和管理复杂系统的系统。使用Kubeflow配置界面,可以指定工作流程所需的ML工具,然后可以将工作流部署到各种云、本地平台,以供试验和生产使用。
当开发和部署ML系统时,ML工作流通常包含几个阶段。开发ML系统是一个迭代过程,需要评估ML工作流程各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型不断产生需要的结果。
Kubeflow学习_第2张图片
在实验阶段,根据初始假设开发模型,并反复测试和更新模型以产生需要的结果:

  • 确定需要解决的问题
  • 收集和分析训练ML模型所需的数据
  • 选择ML框架和算法,并对模型的初始版本进行编码
  • 试验数据并训练模型
  • 调整模型超参数以确保最有效的处理和最准确的结果

在生产阶段,部署一个执行以下过程的系统:

  • 将数据转换为训练系统所需的格式。为确保模型在训练和预测期间表现一致,转换过程在实验和生产阶段必须相同
  • 训练ML模型
  • 为模型提供在线预测或以批处理模式运行
  • 监控模型的性能,并将结果反馈到流程中以调整或重新训练模型

Kubeflow在ML工作流中的组件

  • Kubeflow包含用于生成和管理Jupyter笔记本的服务。使用笔记本进行交互式数据科学和ML工作流程试验
  • Kube Pipelines是一个基于Dockers容器构建、部署和管理多步ML工作流的平台
  • Kubeflow提供了几个组件,用这些组件可以在多个平台上构建ML训练、超参数调整和服务工作负载

你可能感兴趣的:(学习,kubernetes,大数据)