Kubeflow主界面

Kubeflow是什么?

Kubeflow,名字源于 Kubernetes + Tensorflow ,是 Google 为了支持Tensorflow 的部署而推出的开源平台,除了Tensorflow,还支持Pytorch/MPI/MXnet等机器学习引擎。Kubeflow 的目的是使 Kubernetes 上的机器学习变的简单、便捷、以及可扩展。Kubeflow并不会重建其他服务,而是提供一种直接的方式来部署最佳的机器学习开源系统。无论你在哪里运行Kubernetes,你都能够运行Kubeflow。

Kubeflow的使命

Kubeflow的目标是使机器学习(ML)模型尽可能简单地部署到生产中,方法是通过发挥Kubernetes强项。

  1. 在不同的IaaS上实现简单、可重复的便携式部署(laptop <-> ML rig <-> 训练集群 <-> 生产集群)
  2. 部署和管理松散耦合的微服务
  3. 按需求进行扩展

Kubeflow的核心功能

Notebooks

Kubeflow集成了交互式的interactive Jupyter notebooks,可以定制化notebook的部署,以及定制数据科学所需要的计算资源。本地实验完成后,可以部署到云端。

TensorFlow model training

Kubeflow提供了以个定制化的TensorFlow训练job,可以使用这些job在Kubernates上训练机器学习模型。特别是,Kubeflow的使用者可以处理分布式TensorFlow培训job,可以配置训练使用CPU或GPU,并适应不同的集群大小。

Model serving

Kubeflow支持TensorFlow Model Serving容器,用于向Kubernetes导出经过培训的TensorFlow模型。Kubeflow还集成了Seldon Core,Seldon Core是一个开源平台,用于在Kubernetes上部署机器学习模型,以及NVIDIA TensorRT接口服务,以便在大规模部署机器学习模型时最大限度地利用GPU。

Pipelines

Kubeflow Pipelines是部署和管理端到端机器学习工作流的全面解决方案。Kubeflwo Pipelines用于快速和可靠的试验。可以安排和比较执行,并检查每一次执行的详细报告。

Multi-framework

Kubeflow超越了之前的开发计划,除了支持TensorFlow,也在努力支持PyTorch, MXNet, Chainer等。另外Kubeflow集成了Istio和Ambassador作为网关,以及集成了Nuclio作为快速、多用途的无服务器化框架,以及Pachyderm来管理Pipelines。

Kubeflow的使用场景

根据上面的功能介绍,下面的场景,应该考虑使用Kubeflow:

  1. 不同环境(例如本地,内部和云上)中训练/提供TensorFlow模型
  2. 使用Jupyter notebooks来管理TensorFlow训练jobs
  3. 启动使用个人计算机上不可用的资源(例如额外的CPU或GPU)来训练jobs。
  4. 将TensorFlow与其他进程结合使用
    o 例如,使用tensorflow/agents来运行模拟以生成用于训练强化学习模型的数据。
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐