使用TensorFlow和Kubernetes构建GPU加速工作流

技术文章 来源:infoQ 发布:2018-01-12 浏览:2530

摘要:Daniel Whitenack在最近举行的北美2017 KubeCon+CloudNativeCon大会上分享了如何使用TensorFlow和Kubernetes进行基于GPU的深度学习。他以物体检测为例子介绍了一种典型的人工智能工作流程。该工作流程包括预处理、模型训练、模型生成和模型推理。这些步骤都可以运行在Docker容器里。

Daniel Whitenack在最近举行的北美2017 KubeCon+CloudNativeCon大会上分享了如何使用TensorFlow和Kubernetes进行基于GPU的深度学习。

他以物体检测为例子介绍了一种典型的人工智能工作流程。该工作流程包括预处理、模型训练、模型生成和模型推理。这些步骤都可以运行在Docker容器里。

模型训练一般是通过框架来完成的,如TensorFlow或Caffe。在这一阶段,GPU可用于帮助提升性能。深度学习在使用TensorFlow或其他框架时,需要借助GPU在图像数据上训练模型。

模型训练可以运行在Kubernetes集群的GPU节点上。Kubernetes为多GPU节点提供了一个非常好的框架,按照如下步骤可实现更好的工作流:

  • 将数据正确地分配代码(pod)。
  • 在正确的节点上处理数据。
  • 在正确的时间触发正确的代码。

该工作流程也可以用于跟踪哪个版本的代码和数据产生了哪些结果(用于调试、维护和合规的目的)。

Kubernetes为此提供了基础支持,也因为它具备了可移植性和可伸缩性,所以非常适用于机器学习项目。

Whitenack介绍了一个叫作Pachyderm的开源项目,它支持数据管道,并为Kubernetes提供了数据管理层。工作流中一般会包含多个数据预处理和后处理作业。Pachyderm提供了统一的框架用于调度多步骤工作流、数据管理和向GPU分配工作负载。

Pachyderm框架的特性包括:

  • 数据版本:版本化的数据可存储在Amazon S3数据库里。
  • 用于分析的容器。
  • 分布式管道或数据处理DAG。
  • 数据监管:可用于合规和调试。

Whitenack在现场进行了演示,使用Pachyderm和Kubernetes实现了一个AI工作流。示例应用程序实现了图像到图像的转换,将卫星图自动转成地图。他在例子中使用TensorFlow进行模型训练和推理。

如果读者对Pachyderm框架感兴趣,可以参考机器学习示例开发者文档Kubernetes GPU文档,或者直接加入Slack通道

info去.png

原    文:Building GPU Accelerated Workflows with TensorFlow and Kubernetes
译    文:infoQ
作    者:薛命灯译

免责声明:

  1. SDK.cn遵循行业规范,所有转载文章均征得作者同意授权并明确标注来源和链接。
  2. 我们十分尊重原创作者的付出,本站禁止二次转载如需转载请与原作者取得联系。
  3. 转载SDK.cn的原创文章需注明文章作者、链接和"来源:SDK.cn"并保留文章及标题完整性未经作者同意不得擅自修改。
  4. 作者投稿可能会经SDK.cn适当编辑修改或补充。
推荐工具 意见反馈