写点什么

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

  • 2018-01-10
  • 本文字数:832 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

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 通道

查看英文原文 Building GPU Accelerated Workflows with TensorFlow and Kubernetes

2018-01-10 18:003148
用户头像

发布了 322 篇内容, 共 147.4 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

openGauss数据库源码解析系列文章——安全管理源码解析(三)

daydayup

对话文本数据是培养大模型的智能与交流之源

数据堂

读:《Google软件工程》 之 “度量工程”

术子米德

软件工程

局域网与Kubernetes内部网络如何互通

程序员半支烟

k8s

局域网与Kubernetes内部网络如何互通

程序员半支烟

k8s

【我和openGauss的故事】kettle连接openGauss 5.0.0 数据库

daydayup

【我和openGauss的故事】openGauss5.0企业版集群一主一备安装V1.0

daydayup

【我和openGauss的故事】openGauss主备集群节点的添加与删除

daydayup

openGauss数据库源码解析系列文章——安全管理源码解析(四)

daydayup

数字鸿沟,让气候脆弱者更脆弱

脑极体

AI气象

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

西柚子

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

股市老人

C++语法中bitset位图介绍及模拟实现

芯动大师

【我和openGauss的故事】openGauss 3.1.1企业版主备集群升级至5.0.0操作指南

daydayup

【我和openGauss的故事】openGauss初体验

daydayup

【我和openGauss的故事】openGauss索引推荐功能测试

daydayup

一个SAT求解器及其JavaScript实现

Yuet

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

鳄鱼视界

15. 系统内置模块

茶桁

Python 模块

【我和openGauss的故事】体验openGauss 5.0极简版一主一备部署,延时回放和主备切换功能

daydayup

【我和openGauss的故事】构建openGauss开发编译提交一体化环境

daydayup

想要“收听”物联网/工业物联网专题干货?CommunityOverCode Asia 各票种 Pick 指南!

Apache IoTDB

对话文本数据的珍贵贡献:训练大模型赋予智能与情感理解

数据堂

读:《Google软件工程》 之 “软件工程”

术子米德

软件工程

局域网与Kubernetes内部网络如何互通

程序员半支烟

k8s

使用TensorFlow和Kubernetes构建GPU加速工作流_语言 & 开发_Srini Penchikala_InfoQ精选文章