写点什么

Watson 首席架构师专访:IBM 深度学习平台 Fabric for Deep Learning

  • 2018-05-09
  • 本文字数:2506 字

    阅读完需:约 8 分钟

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

最近,IBM 发布了深度学习平台 FfDL (Fabric for Deep Learning,简称 FfDL),它是在 Kubernetes 上基于微服务的平台,用于

  • 深度学习模型训练
  • 开放深度学习 API
  • 通用规范(Common Instrumentation)
  • 在多个云中托管深度学习

它利用 Kubernetes、Helm Charts 和微服务来实现深度学习平台中固有的不同配置,以取代不必要地暴露底层硬件(可能包含 CPU、GPU 等)的细节。

InfoQ 就 FfDL 相关问题采访了 Watson 的首席架构师 Ruchir Puri

InfoQ:围绕着深度学习和 Kubernetes 平台有很多活动。能否请您描述一下深度学习和 Kubernetes 之间的整体协同作用吗?

Puri:对于分布式深度学习,可扩展性、并行性、弹性、按需调度和批处理作业的终止是底层平台所需的关键特性。Kubernetes 提供了所有这些以及更多的特性,因此,Kubernetes 上的深度学习平台纷纷崛起,如 FfDL、Kubeflow、PaddlePaddle 等等。

Kubernetes 使用设备驱动程序不断提升对英伟达 GPU 的支持是另一个因素。GPU 资源非常昂贵,对于数据科学家群体来说,拥有一个共享的 GPU 资源托管集群很有意义。即使是单独的深度学习实践者,Kubernetes 也会为他们处理调度和作业管理,让他们能够腾出手来专注于他们自己的任务。

Kubernetes 社区正致力于利用有状态集合进行持久存储,对 CSI 等等的支持也在发挥了很大作用,因为很多机器学习任务脱离不了数据。

InfoQ:机器学习平台本身是通过 Helm Chart 安装的。那么 FfDL 提供了什么附加价值?

Puri:除了 FfDL 的安装和部署是通过 Helm Chart(这会吸引熟悉 Kubernetes 工作方式的 DevOps 从业者)之外,FfDL 控制面板微服务是作为 pod 来部署的,并且我们利用 Kubernetes 来管理让机器有效工作的 GPU 和 CPU 集群,当它们崩溃时,重启微服务,并报告微服务的健康状况。我们也支持与 S3 兼容的存储,另外还支持多框架方式来进行分布式深度学习。

对于 AI 开发人员和数据科学家来说,他们使用一个平台进行深度学习训练,该平台具有集成深度学习调度、日志记录和监控指示板功能。指示板显示每一个步骤的评估指标,用框架无关的方式提供精度、熵、权重、偏差等信息。

对系统运维人员,FfDL 提供隔离 API,允许服务以模块化方式成长和演进,并随着深度学习领域快速创新的需求,允许组件不断发展。

对于深度学习框架的创新者来说,FfDL 提供了一个开发 API 协作的平台,这可以让丰富的深度学习生态系统更容易访问他们的框架。

对于那些对开发 AI 组件、工作流和应用程序感兴趣的软件工程师,FfDL 提供一个开放框架以供协作开发。被采用的 API 和组件有可能被应用于工业邪恶的 IBM AI Studio,以及通用开源 AI 生态系统。

InfoQ:您能否从开发人员和用户的角度对 Kubeflow和 FfDL 进行一下对比?

Puri:FfDL 作为服务技术,是 IBM Watson Studio 深度学习的核心,我们已经把它开源,并公布在 GitHub 上,它形成 IBM 建立在 IBM Spark 技术中心之上的开源数据和AI 技术中心的关键部分,连同资产交易模型(Model Asset eXchange,简称MAX)和对抗健壮性工具(Adversarial Robustness Tool,简称ART),还有更多在研发的东西,开发人员都可以在 IBM Code 上获得。我们相信 FfDL 具有与其他开源框架(如谷歌的 Kubeflow、百度的 PaddlePaddle 等等)互补的功能。IBM 是开源社区的领袖,贡献了范围广泛的互补技术,这些技术有实现访问 AI 民主化的潜力。

InfoQ:文档似乎表明,对象存储是在 Amazon S3 上实现的,它使云变得具体起来。您能否澄清一下,是否存在对特定云的依赖?

Puri: 任何与 S3 API 兼容的存储都行,包括 IBM 云对象存储(IBM Cloud Object Storage)。我们也在努力通过增加对 NFS 等的支持,让存储故事更通用。

此外,我们在密切监控 Kubernetes 社区对 CSI 接口的支持,以便基于标准存储故事。

InfoQ:FfDL 会如何简化机器学习或数据科学家、开发人员的日常工作,而不是通过增加额外的 Kubernetes 层使之复杂化?

Puri:训练深度神经网络,也即深度学习,现在是高度复杂的,并且计算量很大。它需要高度调谐的系统,要有软件、驱动程序、计算、内存和存储资源的正确组合。数据科学家和 AI 开发人员应该专注于他们的专长:专注于数据及其改进、在那些大型数据集上训练神经网络模型(用自动化),并创建尖端模型。

FfDL 提供了一个消除这些担忧的栈,因此,数据科学家能够在云中用他们选择的深度学习框架大规模地执行训练任务。它的构建旨在提供弹性、可扩展性、多租户及安全性,无需修改深度学习框架,并且无需对模型代码进行修改,或者只需做很小的修改。

FfDL 也将在一定程度上,让数据科学家免受快速演化的 AI 基础架构混乱的影响。他们能够期望他们的集群演化和改进,并且可以加入更高级别的功能,而不必为每一项变动重写他们的系统。

InfoQ:您能否提供更多关于如何支持其他能够集成到 FfDL 的机器学习工具包的技术细节?您是否也能讲讲社区对 FfDL 的支持?

Puri:机器学习工具包的 docker 映像,以及 FfDL 生命周期管理(FfDL Lifecycle Manage,简称 LCM)配置文件中加上的指针,能够了解到平台包含的内容。如果我们在增加对分布式训练的支持,就需要额外的代码,以确保支持机器学习引擎的分布式架构。在默认情况下,Tensorflow 喜欢用参数服务器方法进行分布式学习,而 PyTorch 喜欢 MPI 方式。

我们期望社区能根据我们产品的优点,不断优化。随着合作机会的增加,我们将与主要参与者接触。此外,IBM 和大学有很深厚的联系,会进行合作研究,如麻省理工与 IBM Watson 合作的 AI 实验室(MIT-IBM Watson AI Lab),在适当的情况下,把 FfDL 当作平台用于 AI 工程。总的来说,我们希望,开源社区能为 AI 生态系统增加的这个新东西感到高兴,并和我们一起工作,不断进化,以提供越来越大的价值。

请移步 FfDL WiKi 以查看更多技术细节。

阅读英文原文: Q&A on IBM’s Fabric for Deep Learning with Chief Architect of Watson


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-05-09 19:001543
用户头像

发布了 199 篇内容, 共 88.2 次阅读, 收获喜欢 295 次。

关注

评论

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

“善于治”和“以善治”:华为云Stack在智慧城市的十年踪迹十年心

脑极体

jackson解析泛型的正确写法

4ye

Java Jackson 8月日更

架构训练营模块四作业

Lemon

趁着课余时间学点Python(八)函数的简单理解

ベ布小禅

8月日更

Grafana 配置 Thanos 查询历史数据

耳东@Erdong

Grafana Prometheus Thanos 8月日更

synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁...

王磊

Java 并发 synchronized 8月日更

关于区块链技术的学习笔记(一)

姬翔

负载均衡的原理与设计

海明菌

负载均衡 负载均衡算法 负载均衡架构

构建Apache Flink 开发环境(四)

Databri_AI

flink IDEA 开发环境

奥运背后的5G赛场,竟然也这么激烈?

脑极体

【Vue2.x 源码学习】第三十篇 - diff算法-比对优化(上)

Brave

源码 vue2 8月日更

Linux之ping命令

入门小站

Linux

JavaScript中的 async 和 await

devpoint

Promise Async await 8月日更

关于区块链的学习笔记(三)

姬翔

绝绝子!腾讯大牛1909页的leetcode刷题笔记,细节满满

Java 编程 架构 面试 程序人生

阿里P8教你Java注解与反射

陈皮的JavaLib

Java 面试 8月日更 java注解 反射机制

Node.js 实现存储服务的上传功能【包含前后端代码】

liuzhen007

8月日更

网络攻防学习笔记 Day100

穿过生命散发芬芳

态势感知 网络攻防 8月日更

【设计模式】外观模式

Andy阿辉

C# 后端 设计模式 8月日更

写作 7 堂课——【4. 联机式写作】

LeifChen

素材 写作技巧 8月日更 联机 写作网感

白话机器学习:什么机器学习模型?

杜吉普

机器学习 数据分析 数字化转型

【LeetCode】超级丑数Java题解

Albert

算法 LeetCode 8月日更

【前端 · 面试 】HTTP 总结(九)—— HTTP 协商缓存

编程三昧

面试 8月日更 HTTP缓存

python-抽象

加里都好

几十种编程语言说Hello World

入门小站

工具

白话机器学习(2):产品经理都在用的线性回归模型

杜吉普

机器学习 线性回归

关于区块链的学习笔记(二)

姬翔

【架构实战营】毕业总结

Geek_2e7dd7

有什么理由将代码保存为 GBK 编码

HoneyMoose

Java 面试都只是背答案不

HoneyMoose

不装了、摊牌了,我们要搞事情

不脱发的程序猿

程序员 技术 程序人生

Watson首席架构师专访:IBM深度学习平台Fabric for Deep Learning_AI&大模型_Rags Srinivas_InfoQ精选文章