TensorFlow 2.0来了,为什么他却说“深度学习框架之争,现在谈结果为时尚早”?...
记者 | 琥珀
出品 | AI科技大本营(ID:rgznai100)
半个多世纪前,浙江大学老校长竺可桢曾有两个非常经典的教育问题:“诸位在校,有两个问题应该自己问问,第一,到浙大来做什么?第二,将来毕业后做什么样的人?”
半个多世纪后,以这位老校长名字命名的 “竺可桢学院” 求是科学班开启了一位少年的求是之路。他就是本期采访的主人公——彭靖田。
作为 5 月 25 日 - 5 月 27 日即将在杭州举办的 CTA 大会(官网:https://dwz.cn/iSZ7BQUR)机器学习论坛演讲嘉宾,彭靖田以谷歌技术专家的身份接受了 AI 科技大本营的采访。
彭靖田,Google Developers Expert
谷歌技术专家(Google Developers Expert,GDEs)是这么定义的:来自全球各地经验丰富的产品策略师、设计师、开发人员和营销专家,积极支持开发人员、初创企业和公司以通过 web 应用程序和移动应用程序来改变这个社区;面向 Android、Angular、Dart、Flutter、谷歌云平台、IOT、机器学习、web 开发等多个技术方向。
这么说起来,彭靖田与谷歌、与机器学习的渊源由来已久。
编程始于兴趣,终于成长
从中学时代的信息学奥林匹克竞赛(OI)起,彭靖田就开始接触编程和算法了。与绝大多数同龄人相比,这已经非常早了,他却自嘲:“我们班很多人小学 3 年级就开始编程,如今也在很多世界名校继续攻读 PhD”。相比起来,彭靖田在求是班反倒是接触最晚的了。
彭靖田借用了一句老话,“兴趣是最好的老师”。“可能我还是觉得 CS 这个学科本身比较有意思吧。高中阶段带给我启蒙的主要是靠《算法导论》、 USACO 题库、《浪潮之巅》,它们分别让我窥见了算法、编程和行业历史。”
光荣与梦想,伟大不是终点
大学毕业后,彭靖田顺利拿到 Special Offer 进入华为中央软件研究院。期间,他主要参与了深度学习云服务的设计和实现,当时的主要需求是支撑分布式机器学习训练和在线推理服务。
他想,如果抽象 TensorFlow 为一种容器作业,并基于 Kubernetes 在容器调度方面的优势,或许是一种实现路径吧?说干就干,很快,彭靖田与同事一起开发了 DLKS (Deep Learning Kubernetes Scheduler)项目。
一年后,彭靖田加入当时在容器技术领域颇有深耕的才云科技,主要负责 AI 云业务线。但如何将容器集群管理技术 Kubernetes 与深度学习框架 TensorFlow 结合也同样存在不小的挑战。2018 年初,彭靖田与 Google Cloud 一拍即合,决定参与到开源项目 Kubeflow 的推进中来。
要知道,尽管在当时 TensorFlow 已是主流深度学习框架之一,被广泛应用于国内外科技企业,但它也存在某些缺陷。作为 Google 在 2017 年推出的开源项目 Kubeflow,旨在支持多种机器学习框架如 TensorFlow、PyTorch、Caffe 运行在 Kubernetes 之上。
“这个项目的使命更加远大,一开始我们就希望它能够充分利用 Kubernetes 的优势,不仅支持 TensorFlow,还可以支持所有基于数据流图(Dataflow)的机器学习框架。”
将机器学习革命推进到底
2017 年下半年,一次偶然的机会,彭靖田开始了解到 Machine Learning GDE 这个项目。“那会儿国内应该还没有 ML GDE,才开始推广。”
彼时,他正与林健、白小龙合作撰写《深入理解 TensorFlow:架构设计与实现原理》这本书。抱着希望能够跟 Google TensorFlow 和 Google Brain 团队有更多交流和联系的想法,彭靖田申请了这个项目。
谈起这段经历,他仍记忆犹新,“第一轮面试是法国的一位 ML GDE,第二轮是 Google Cloud 东京团队的 Kaz Sato,过程很顺利。”
“不要总看模型准确率有多高,分布式规模有多大,而是要先了解业务本身,再根据已有资源设计相应的解决方案。”如今,不少企业正尝试搭建自己的机器学习云平台,在此过程中,却又因缺乏人才而不免踩坑。
实际上,Google 一直在追求人工智能教育的普及,包括开放了 TensorFlow 这样的高级项目。而如何帮助企业基于 Google 生态真正实现智能转型升级,是彭靖田这样的机器学习专家们正积极推动的事情。
以下为此次访谈实录:
AI 科技大本营:从华为深度学习团队核心成员,到才云 Cloud AI 负责人,按照您核心技术路线的变迁角度来讲,离不开基于 Kubernetes 作为机器学习部署平台的思路。能否讲讲您是如何认识到 Kubernetes 与 AI 结合的优势的?过去几年,您认为该项技术在落地应用方面又发生了怎样的显著改变?
彭靖田:准确来说,Kubernetes 之于 AI 不仅是部署,还是基础设施(Infrastructure)。KDD 2017 年 收录的《TFX: A TensorFlow Based Production Scale Machine Learning Platform》这篇论文给了我们一个很好的洞见。对于 Google 这样拥有海量数据的公司来说,从 Mining 到 Learning,最后商业落地是一个顺其自然的过程。不过,要想充分利用数据和模型,我们需要一个能够支撑它的端到端机器学习平台。
例如,Google 内部多年以来使用 Borg(大型集群管理系统),基于 TensorFlow 打造这个平台很稳健,也很高效,但对于 Google 的外部用户来说,我们认为 Borg 可行的替代方案是 Kubernetes。事实证明,这条路还是可以走通的,虽然前路还有一些乌云。
跳出 AI 云或者机器学习平台这个场景,云计算的技术变革趋势已经非常明朗,而 Kubernetes 的技术先进性和生态使得我们现在可以更聚焦于应用本身,而不再是基础设施、软件构建和发布、网络负载均衡等问题。现在已经有很多企业在生产环境使用 Kubernetes,国内规模最大的应该是京东。
AI 科技大本营:目前,越来越多的企业开始在分布式机器学习云平台上进行相关部署,您认为企业在做这一类的落地时需要注意哪些问题?如企业如何选择适合业务的平台和模型。
彭靖田:据我理解,应该是越来越多企业在尝试搭建自己的分布式机器学习云平台,而不是部署。
谈到落地,我觉得绝大部分的矛盾和分歧是 “需求没有理清楚”。现在这个行业最缺的就是既懂 AI 技术,又清楚业务场景的人才。企业应该多跟客户聊一聊需求,而不是一味讲“模型准确率有多高,分布式规模有多大”。客户更多关心的是技术是否解决问题。因此,正如你说的,先了解业务本身,再根据已有资源设计解决方案(包括算法、端到端模型、平台等)。
AI 科技大本营:据您的观察,目前什么类型的企业最先搭建了自己的机器学习平台?在这个过程中,会遇到哪些挑战?利用分布式机器学习平台会成为未来企业进行技术部署的主流趋势吗?
彭靖田:拥有数据的大企业,更确切的讲,是希望挖掘数据背后价值,洞察客户真实需求的大企业,如 Google、Uber、华为、京东等最先搭建了自己的机器学习平台。
挑战是多方面的,搭建一个类似于 TFX 这样的平台,需要企业具备从硬到软的技术实力。比如 Google 和华为都在研发自己的 AI 芯片、编译器、框架和平台,这其中的难度和挑战不言而喻。
在我看来,IT 到 DT 一定是未来趋势。互联网浪潮下,我们能看到整个原子世界都在不断被数字化。机器学习就是数据驱动的学科。未来所有的人和所有的行为都会被记录下来,这背后的商业价值是巨大的。相信看过美国科幻电视剧《西部世界》的朋友会有这个洞察。
AI 科技大本营:您针对 TensorFlow 撰写了相关著作,并开发了一个专门的视频课程,您认为相比于现有的其他框架 (如 PyTorch 等),TensorFlow 的优势在体现在哪里?深度学习框架之争,最后会是什么结果?
彭靖田:TensorFlow 的优势主要体现在高性能、灵活、对大规模分布式训练的支持等。目前,TensorFlow 对于 Senior 用户来说,足够定制化,满足了很多商业落地场景;但它也存在劣势,学习曲线对 Junior 用户不太友好,这也是 TensorFlow 2.0 要解决的重要问题。
现在谈结果还为时尚早。AI 落地是未来三年里所有从业人努力的方向,而这也是真实需求定义框架的未来。互联网(web 开发)和移动互联网(Android)的爆发,我们看到 Java 找到了自己的路。
现在的争斗都是暂时的,是学术圈和小部分产业界的存量博弈。在 AI 大规模落地前,我们不知道框架会走向何处。
AI 科技大本营:对于希望入门机器学习并使用 TensorFlow 的学习者,您有哪些入门和进阶的建议?
彭靖田:可以看看我在知乎 “ 如何高效地学习 TensorFlow 代码?” 问题的回答。(链接:
https://www.zhihu.com/question/41667903/answer/123150582)
简单来讲,还是搞清楚自身需求。你未来想成为做算法模型的、做平台的、做落地应用的,还是什么?当这个问题明确,你就知道应该深入了解 TensorFlow 的哪一层了。
AI 科技大本营:不久前竺可桢学院图灵班也开始公布招收首批人工智能本科班,如何评价浙江大学在人工智能教育以及科研方面的优势地位?
彭靖田:据我了解竺院上一届混合班 2/3 的学生选择了 CS,浙大 CS 这一届申请名校 PhD 的整体成绩也不错,看见母校越来越强很开心。谈到优势,我个人认为还是自由的学术氛围和优秀的教学资源吧。浙江大学里有很多院士带领学生做前沿课题,也有诸如像 MOOC 中国著名网红老师翁恺这样的优秀教学队伍可以进行一线教学指导。本科教学也一直紧跟美国名校的教学模式,相信浙大的同学都有体会。
AI 科技大本营:那么,在本次机器学习专场中,您会针对哪方面的内容和大家进行分享?
彭靖田:来 CTA,与我们一起聊聊 AI 的技术与落地。本次演讲,我将向大家介绍如何使用 TensorFlow 2.0 Alpha 快速开发和部署机器学习模型。同时,我将介绍如何实现 TensorFlow 1.x 和 2.0 模型之间的快速转换。最后,我将介绍 TensorFlow 和 AI 为民服务的落地案例。
(*本文为 AI科技大本营原创文章,转载请联系微信1092722531)
◆
CTA核心技术及应用峰会
◆
5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。议程设置请请识别海报二维码查看。
目前CTA峰会倒计时1天!还没有拿到入场券的小伙伴可以识别海报二维码或者点击阅读原文,即刻抢购。你也添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。
推荐阅读
危机加剧:ARM釜底抽“芯”,华为腹背受敌
面对996,程序员如何利用“碎片时间”涨薪?
权威解读 GitHub、Apache 疑云:主流开源软件究竟是否会被闭源?
Kaggle季军新手笔记:利用fast.ai对油棕人工林图像进行快速分类(附Python代码)
程序员连拿3份Offer,每份高达45K?他说做对了这些!
ARM到底是一家什么样的公司?
为什么你写了一万小时的代码,却没能成为架构师?| 程序员有话说
别怀疑,孩子在家里也能学编程!
百花村区块链山的选民们, 超有趣!
点击阅读原文,了解「CTA核心技术及应用峰会」
相关文章:

【FFmpeg】ffmpeg工具源码分析(一):main函数
ffmpeg工具经常用来转换、生成媒体文件,下面是它的源码分析(一):main函数 ffmpeg版本:4.2.1 int main(int argc, char **argv) {int i, ret;BenchmarkTimeStamps ti; # 用于基准测试init_dynload(); # 初始化动态库加载路径,只在win3

Android之传感器(一)
传感器的种类:1. 动作传感器加速度传感器、重力传感器和陀螺仪(判断手机姿态)等2. 位置传感器方向传感器和磁力传感器3. 环境传感器温度传感器 、压力传感器和亮度传感器 使用传感器的方法:1. 获取SensorManager对象SensorManage…

【Qt】Qt单例模式三种实现
1、饿汉式 在头文件中:将构造函数私有化,并创建静态函数instance来获取实例 class A : public QObject {Q_OBJECT public:static A* instance(QObject *parent = nullptr);private:explicit A(QObject *parent = nullptr); }

程序员敲代码时,戴着耳机究竟在听什么?
今天,某妹子突然凑到我的耳边轻声说:“我们公司的程序员,清一色的戴着耳机,你说他们是不是故意不想听我们提的需求?”我很方,因为我也喜欢戴耳机。(思考ing)思考了一秒钟后ÿ…

关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题
关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题,解决方法如下:在数据库连接字串中,增加一个参数:Metadata Poolingfalse如“Data Source(DESCRIPTION(ADDRESS_LIST(ADDRESS(PROTOCOLTCP)(HOST1.1.6.200…

配置导出MOSS2010列表数据到Excel并根据列表记录自动刷新数据
第一章 简介 场景描述 根据最近客户的需求,他们需要自动维护MOSS2010列表数据导出到Excel的数据实时同步,就是列表添加记录后,导出的Excel列表自动同步数据过来。 第二章 配置方法 1. 打开MOSS2010站点http://moss:8001的要导出的列表 2. 点【…

一个让Python代码运行更快的最佳方式!
作者 | Serdar Yegulalp译者 | 姜松浩,责编 | 屠敏转载自 CSDN(ID:CSDNnews)Python因其强大、灵活且易于使用等特性,而赢得了声誉。这些优点使其在各种各样的应用程序、工作流程和领域中得到了广泛应用。但是就语言的设…

《Python基础教程第二版》第五章-条件、循环和其他语句(一)
print和import print打印多个表达式,用逗号,隔开 print abc:, 42, nonono #输出在每个参数之间添加空格 print在结尾处加上逗号,,接下来的语句会与前一条语句打印在同一行 print hello, print word! #hello word! import从模块中导入函数 import module from module…

【Qt】QStackedWidget:将多个窗口控件放入堆中,每次只显示一个窗口控件
1、简介 QStackedWidget可以容纳多个窗口控件,每次只显示其中一个。例如:登录页面、各种功能页面等不同时显示的窗口,可以放入QStackedWidget中。 2、demo // 创建三个页面 QWidget *firstPageWidget = new QWidget; QWidget *secondPageWidget = new QWidget; QWidget *…

Android模仿iPhone View旋转刷新数据动画详解
因为小马很喜欢在不同的页面之间跳转时加点好玩的动画,今天无意间看到一个动画效果感觉不错,几种效果图如下,既然好玩就写在博客中,直接说就是:该效果类似于iPhone中View的切换动画效果,今天就只介绍上面展…

【SQL】sql语句LEFT JOIN(拼接表)详解
1、语法 SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_nametable2.column_name;2、说明 按照一定规则,将表table1和表table12拼接起来。下面以学生管理系统为例,学生管理系统数据库各表如下 课程表: 学生表 成绩…

找啊找啊找木偶,图灵奖得主G. Hinton第一篇论文曝光!
作者 | Geoffrey Hinton 译者 | 李倩编辑 | 一一出品 | AI科技大本营(ID:rgznai100)摘要针对在具有重叠结构的透明矩形中寻找木偶这一问题,Hinton大神想到使用松弛算法,通过从冲突局部解释网络中提取全局最佳图形的方式找木偶。介…

终于,「最近邻搜索」有通用方法了
作者:Kevin Hartnett 编译:Bing 如果你打算开一家咖啡馆,你一定想知道:“附近最近的一家咖啡馆在哪?”了解这些信息有助于应对商业竞争。 这种现象是计算机科学中广泛研究的问题,称为“最近邻搜索”。它的问…

tar自动打包指定文件夹中的文件到指定目录
这是我离开上一家公司,到XX人寿保险公司的第一个工作内容,很简单,可以减少每天重复的工作量。写一个脚本,将指定文件夹下的所有文件打包成以日期命名的格式并存放到其父目录中,自动检测该压缩包,保留时间为…

【SQL】sql语句GROUP BY
1、语法 SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name;2、说明 先对数据集分组,再根据规则批量处理每组数据。 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将…

色情低俗、暴力恐怖内容...如何用AI“一网打尽”?
作者 | Rachel、Just出品 | AI科技大本营(ID:rgznai100)移动互联网时代催生了大量的多媒体数据,每天在社交平台、长短视频、直播平台、新闻资讯等内容平台产生了数以亿计的图片和视频,这些数据的内容审核面临严峻的挑战。人工审核…

想要学好Go语言的必须知道的一个小技巧
2019独角兽企业重金招聘Python工程师标准>>> 由于我转Go语言比较早,很多认识我的,转Go或学习Go的同学遇到问题,经常会过来问我,然后,我发现。 除了学习Go语言可以看那些资料,这个问题以外&#…

【CSS3教程】CSS3基础常用技巧实例集合
为什么80%的码农都做不了架构师?>>> CSS3常用技巧 CSS3下条纹&方格斜纹背景的实现 一、效果抢先:CSS3下的条纹背景demo 这些美丽的纹饰全部都是由CSS实现的,没有一点点的图片。 二、原理简述 主要是应用了两个CSS3的属性&…

【FFmpeg】ffmpeg工具源码分析(二):转码核心函数 transcode
1、转码流程 1)转码前初始化:打开输入输出文件,初始化编码器、解码器、过滤器,创建多线程,设置串口终端等; 2)while循环处理每一包数据,核心函数 transcode_step(稍后分析); 3)转码结束前收尾工作:关闭多线程,刷新编解码缓冲区,恢复串口终端设置,向输出文件写…

在CentOS7上部署Apache Mesos
概述 Apache Mesos是一款基于多资源(内存、磁盘、CPU、端口等)调度的开源集群管理套件,能使容错和分布式系统更加容易。 工作原理 Apache Mesos采用了Master/Slave结构来简化设计,将Master做得尽可能轻量级,仅保存了各…

CTA核心技术及应用峰会开幕!(附第二日参会攻略)
全球智能化趋势当前,人工智能技术正蓬勃发展。为了直击开发者在机器学习与人工智能技术研究与落地过程中的痛点与瓶颈,深入解析机器学习和知识图谱技术在行业中的实践和落地。2019 年 5 月 26 - 27 日,由中国 IT 社区 CSDN 与数字经济人才发展…

Sharepoint学习笔记—ECMAScript对象模型系列-- 8、组与用户操作(一)
这里总结一下关于使用ECMAscript对象模型来操作Goup与User的常用情况,因为内容较多,所以拆分为两个部分,这部分主要内容如下: 1、取得当前Sharepoint网站所有的Group 2、获取当前登录用户的Title与所属Group 3、获取指定Group下的…

【FFmpeg】ffmpeg工具源码分析(三):分配过滤器内存(宏GROW_ARRAY)详解
0、引言 在ffmpeg.c源码的核心函数transcode() 中,先执行初始化操作transcode_init() ; 首先初始化过滤器filtergraphs,在寻找过滤器在哪分配时,发现它使用宏GROW_ARRAY以增长的方式来分配内存。 1、GROW_ARRAY原型 #define GROW_ARRAY(array, nb_elems)\array = grow_a…

技术引路:机器学习仍大有可为,但方向在哪里?
整理 | CTA 直播小分队出品 | AI科技大本营(id:rgznai100)杭州国际博览中心,这里曾经是二十国集团领导人第十一次峰会的主场馆,5 月 26 日 CTA 核心技术与应用峰会(杭州)同样在这里正式召开&…

基于GTID模式MySQL主从复制
基于GTID模式MySQL主从复制 GTID复制原理:基于GTID的复制是MySQL 5.6后新增的复制方式GTID (global transaction identifier) 即全局事务ID, 保证了在每个在主库上提交的事务在集群中有一个唯一的ID.在原来基于日志的复制中, 从库需要告知主库要从哪个偏移量positio…

NET Framework 2.0中的数据访问新特性
1异步数据访问 a)支持异步数据编程 b)SqlConnection – BeginOpen – EndOpen c)SqlCommand – BeginExecuteNonQuery – BeginExecuteReader – BeginExecuteXmlReader – EndExecuteNonQuery – EndEx…

【网络】通讯名词解释:带宽、速率、波特率、奈奎斯特定律、香农定理
1、带宽 1.1 解释一 带宽,又叫频宽,是数据的传输能力,指单位时间内能够传输的比特数。高带宽意味着高能力。 数字设备中带宽用bps(b/s)表示,即每秒最高可以传输的位数。 模拟设备中带宽用Hz表示,即每秒传送的信号周期…

这可能是最全的机器学习工具手册!
作者 | 红色石头转载自 AI有道(ID:redstonewill)工欲善其事必先利其器!之前我也断断续续给大家发文整理过一些关于数据科学,尤其是机器学习、深度学方面的速查手册!但是,每次分享的都比较是针对某一块的内容…

保持分布式团队同步
分布式团队最大的挑战是沟通,这对建立协作的基本原则必不可少。调整工作时间,互相适应,而团队联络员有助于沟通和同步工作。以信任、尊重和开明为基础的团队会鼓励组织中的人们互相帮助,培养一种使团队保持同步的文化。\\SkuVault…

Word2010开发——操作文档
参考: http://blog.csdn.net/akipeng/article/details/6534375 http://www.haogongju.net/art/19029 首先建立一个Word外接程序(Word AddIn)(家里的Vs竟然是中文版,汗!) 接着在项目中新增项&…