新智元原创1

作者:王嘉俊 王婉婷


TensorFlow 是 Google 第二代深度学习系统,今天宣布完全开源。TensorFlow 是一种编写机器学习算法的界面,也可以编译执行机器学习算法的代码。使用 TensorFlow 编写的运算可以几乎不用更改,就能被运行在多种异质系统上,从移动设备(例如手机和平板)到拥有几百台的机器和几千个 GPU 之类运算设备的大规模分布式系统。


TensorFlow 降低了深度学习的使用门槛,让从业人员能够更简单和方便地开发新产品。作为 Google 发布的“平台级产品”,很多人认为它将改变人工智能产业。


在听到 Google TensorFlow 开源消息后,新智元的异构计算专家微信群里有很多讨论。这些讨论非常有价值,从专业人士的角度解读了 TensorFlow 的优劣利弊。


所以新智元决定连夜采访,收集资料,期待用最快的速度把 Google TensorFlow 的讨论和介绍呈现给大家。


在此,特别感谢为我们提供支持的Petuum团队的邢波教授,张浩同学、谢澎涛同学和戴维同学,以及朱军和李宁同仁。另外,Janet Zhao 陪伴我们共同完成这篇文章,带来不少帮助。




【邢波Eric】各位,本来不想置评TF的,因为他们和我们的工作是一片果园和一株果树的区别,但是既然很多误解直接找上我们,也不得不被迫应战了,希望能解答一些迷惑。下文由CMU Petuum团队的张浩,谢澎涛,戴维,以及同仁朱军,李宁贡献,我做了一些修改:


以下是新智元对CMU Petuum团队的采访:



新智元:TF 能否做到 Google 所说的第二代深度学习系统平台级产品?为什么能or不能,如果不能的话,TF扮演的是什么角色,对应于传统工具诸如 Spark、Petuum 的什么?


Petuum团队:TF与Spark和Petuum并不具备可比性,TF大概仅对应于Spark里面的MLlib库,或对应于Petuum里面的深度学习框架。


展开来说:


第一,从深度学习的角度来分析,TF目前尚缺乏很多系统方面对deep learning的设计和优化(比如在训练深度卷积神经网络时,可以利用CNN的结构特性以及算法特性在系统方面,给出对应的优化,降低内存使用,减少通信负载等),所以TF还不能称为一个specialized 的DL库。


第二,Google在白皮书上展望了TF是一个分布式系统上的机器学习框架。但是从目前Tensor Flow的release来看,他们只支持单机多卡,不支持多机的分布式环境。就深度学习这个具体方向上,目前public available的不支持分布式的DL库已经有10个以上,Google当前发布TF作为一个general-purpose的产品,定位有待进一步观察;


第三,一个专业的技术产品在发布之前最好服从专业标准,在专业dataset上进行性能测试,并与其它类似框架进行比较;Tensor Flow缺乏公开的评测数据,具体性能如何有待进一步探讨。


第四,业界会继续关注的是Google此前收购的在公司内部具有特殊地位的DL公司Deepmind仍在使用Torch和Caffe,未来他们是否会近水楼台使用TensorFlow或Distbelief,大家拭目以待。



新智元:谷歌在宣传视频中提到,TensorFlow可以带来更好的灵活性和更广的适用性。主要有卖点有:异质平台全通用,上到大规模分布式系统,下到常见的手机和平板;平台迁移时重写代码的代价非常小;从研究室的模型试验到产品开发者的产品部署,代码无缝衔接无需更改。这些卖点有意义吗?有多大的意义?对谁更有意义?


Petuum团队:首先这些灵活性和广适性更像是TensorFlow的愿景和展望,尚没有公开的数据或案例表明TensorFlow做到了这一点。异质计算平台上的通用性和平台迁移的容易性是很多机器学习系统追求的目标。很高兴看到Google也有这样的愿景。



新智元:我们看到这次 TF 并没有发布比较数据,你怎么看待这件事情?


Petuum团队:通过发布严格的比较数据来证实一项技术取得了超越性的进展,是业界的一个基本要求。 在Google公开具体比较数据之前,TensorFlow的性能和优势无法具体评估。



新智元:张浩提到 TF 不支持分布式计算,而 Google 公布信息是支持分布式和单机?是否冲突?单机和分布式,在应用上的差别是什么?


Petuum团队:Google本次发布的TF并不支持分布式。单机和分布式在应用上的差别是前者无法支持大规模数据或模型的高速高精度学习。



新智元:TF 主要会给产业带来什么变化?对于资深的机器学习研究者,或者说学术圈,TF 有帮助么?


Petuum团队:TF现有的开源版本只支持单机,对产业和学术圈的贡献比较有限。类似的单机深度学习工具已经比较丰富,比如Caffe, Torch, Theano。与这些工具相比,TF目前尚未显示具体优势。业界会进一步关注TF是否准备开源分布式版本及其性能。



新智元:TF 和现有开源或者未开源的机器学习和神经网络算法相比,优势和劣势分别是什么?


Petuum团队:TF中的两个核心概念,数据流和张量,在之前的很多系统中已有实现。对于TF的开源单机版本,尚未有数据表明其与现有的其他单机深度学习工具相比拥有任何具体优势。TF分布式版本不知是否会开源,目前难以评价其性能。据Google工程师Rajat Monga说,TF分布式版本的很多代码与Goolge的其他系统代码耦合,给开源造成困难。



新智元:TF 和 PETUUM 的应用领域相同么?对于初创企业,这两个系统各有什么优劣?


Petuum团队:Petuum 是通用平台(general-purposed platform)支持多种算法,模型,通讯协议,调度,容错,等等。而目前发布的TF则是专门支援深度学习的一个垂直软件包。如果就深度学习这个具体方向来比较,TF和Petuum Poseidon 可比,但后者是Petuum平台上的一个垂直应用模块,专事CPU和GPU多机分布式和单机上的深度学习,二者都提供了高阶简易的编程界面以及GPU和CPU支援多种深度模型(如CNN、DNN等)。至于深度学习以外的机器学习模型和算法,目前看来并不是TF支持的重点。Petuum的定位则是用通用的界面来做分布式学习,例如,Petuum开源的基于随机采样算法的大规模主題模型,基于坐标下降算法的稀疏回归分析和协同过滤等。总体说来,Petuum和TF是针对不同层面的问题,以不同的思路和框架设计的而建立的不同层面的系统。Petuum走的是通用机器学习(包括深度学习)平台路线,TF则是关注深度学习的专门应用系统,后者对应于Petuum框架下的模块之一机器学习工具库中的Poseidon深度学习系统。面对业界的具体应用场景,各个初期创业公司可以根据具体问题的需求来选择。





介绍:Google TensorFlow(翻译自 Google Research Blog)


深度学习在计算机科学有非常大的影响,令它能够被运用在最前沿的研究中,又能开发出实用性高到让人惊喜的产品、无数人每天都在使用。


我们 2011 年发布了深度学习基础架构 DistBelief,它让 Google 能够通过数据中心存储的成千上万的数据来进行前所未有的大规模训练,建立起Google史上最大的神经网络模型。我们展示了一些例子,例如从 Youtube 上没有被标记的图片中学会识别出“猫”(也就是学会“猫”这个概念),将 Google 应用中的语音识别水平提高25%,也赢得了 Imagenet Large Scale Visual Recognition Challenge 的冠军。


虽然 DistBelief 非常成功,但它有很大的限制。它仅仅以神经网络为目的、十分局限,而且很难进行配置,另外它牢牢绑定在 Google 的内部基础设施上,几乎不可能将代码与外界共享。


今天我们很自豪地发布了一款开源软件:TensorFlow,第二代机器学习系统,设计上尤其针对克服 DistBelief 的短板。TensorFlow 更通用、灵活、易携带、易使用,而且完全开源。同时,我们也在 DistBelief 的基础上改善了运行速度、可扩缩性和与产品的衔接。实际上,在很多指标上,TensorFlow 要比 DistBelief 要快一倍。


独家视频翻译

allowfullscreen="" class="video_iframe" frameborder="0" height="375" width="500" src="http://v.qq.com/iframe/preview.html?vid=x0172s0j1fm&width=500&height=375&auto=0" style="margin: 0px; padding: 0px; max-width: 100%; width: 523px; z-index: 1; box-sizing: border-box !important; word-wrap: break-word !important;">


TensorFlow 自带大量的深度学习支持,但并不只是为了深度学习而生,也有一些更通用的支持:任何你可以表达成流程图的计算,你都可以使用 TensorFlow 来完成运算。所以任何基于梯度的机器学习算法都能受益于 TensorFlow 的自动微分和最优程序组。不仅如此,你也很容易就能通过 Python 的前端,在 TensorFlow 编写你的新灵感。




TensorFlow 在研究中相当有用,但它也已经做好了应用于实际产品的准备。TensorFlow 在最初建立的时候,就被设定为快速、轻便而且与产品衔接迅速。使用 TensorFlow,无论是训练桌面端的 GPU 还是在手机里运行,都没有多大差别。而且,通过使用我们采用最新科技制作的模板结构,你可以用强大的机器学习科技快速开始实施你的想法。例如,我们计划在近期公布 TensorFlow 在 ImageNet 计算机视觉模型的应用。


但是关于 TensorFlow 最重要的事情是,它是属于你的。我们已经把 TensorFlow 开源,作为独立的库和相关的工具,建立在 Apache 2.0 的基础上,所以无论你是谁,都可以把它免费运用在你的研究中。


我们所有的深度学习实验,都使用了 TensorFlow 架构。我们的工程师通过它把深度神经网络信号放到了 Google 搜索中。我们会持续使用 TensorFlow 来服务于机器学习的产品,而且我们的研究团队,也会分享 TensorFlow 在各大公开的想法中的实施情况。更多的信息,请在 www.tensorflow.org 中了解。



技术摘要:异质分布式系统上的大规模机器学习(翻译自 TensorFlow 白皮书)


TensorFlow是一种编写机器学习算法的界面,也可以编译执行机器学习算法的代码。使用TensorFlow编写的运算可以几乎不用更改地被运行在多种异质系统上,从移动设备(例如手机和平板)到拥有几百台机器和几千个GPU之类的运算设备的大规模分布式系统。TensorFlow的系统灵活性很强,可以用来编写各式各样的算法,包括深度神经网络模型的训练和干扰算法,并且它已经被用于实验研究中,也被部署在产品的机器学习系统中,已经被应用于十几种计算机科学以及其他学科的领域中,包括语音识别、机器视觉、机器人学、信息检索、自然语言处理、地理信息提取以及计算机辅助药物设计。



白皮书全文(19PDF)

在新智元订阅号回复1110下载白皮书全文



白皮书全文(19PDF)

在新智元订阅号回复1110下载白皮书全文


邢波 卡內基梅隆大學計算機系,機器學習系教授,機器學習與醫療健康中心主任

寄语: “我們從來不乏熱忱,夢想,全民動員,與旺火添柴者,但科學與實業都更需要嚴謹,踏實,誠實,理性,厚積薄發,甘於寂寞獨行,敢於整面競爭的精神和實踐者。祝願并期待【新智元】示範學界業界清風,增進學術與工業互動,孕育計算機和數字信息時代的新成果和思想。" _______________

深度解析】Google第二代深度学习引擎TensorFlow开源(CMU邢波独家点评、白皮书全文、视频翻译)相关推荐

  1. dubbo源码深度解析_Spring源码深度解析:手把手教你搭建Spring开发环境

    Spring环境搭建流程,如果是第一次接触spring源码的环境搭建,确实还是比较麻烦的. 作者使用的编译器为目前流行的lntelliJ IDEA,版本为2018旗舰版.Eclipse用户还需要自己揣 ...

  2. 意大利炮(面)来了?深度解析Intel初代10nm Cannon Lake处理器...

    (注:本文内容源自Anandtech,雷锋网(公众号:雷锋网)翻译) 对前沿半导体感兴趣的人都知道,Intel最新的制造工艺已经跳票许久了.10nm工艺首次发布是在2014年,最初定于2016年量产, ...

  3. 深度解析Google Java 编程风格指南

    这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是 ...

  4. Spring源码深度解析(郝佳)-学习-源码解析-创建AOP静态代理实现(八)

    继上一篇博客,我们继续来分析下面示例的 Spring 静态代理源码实现. 静态 AOP使用示例 加载时织入(Load -Time WEaving,LTW) 指的是在虚拟机载入字节码时动态织入 Aspe ...

  5. Spring源码深度解析(郝佳)-学习-源码解析-Spring MVC(三)-Controller 解析

    在之前的博客中Spring源码深度解析(郝佳)-学习-源码解析-Spring MVC(一),己经对 Spring MVC 的框架做了详细的分析,但是有一个问题,发现举的例子不常用,因为我们在实际开发项 ...

  6. Pytorch学习-torch.max()和min()深度解析

    Pytorch学习-torch.max和min深度解析 max的使用 min同理 dim参数理解 二维张量使用max() 三维张量使用max() max的使用 min同理 参考链接: 参考链接: 对于 ...

  7. 深度学习笔记 第四门课 卷积神经网络 第二周 深度卷积网络:实例探究

    本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...

  8. 含代码 | 支付宝如何优化移动端深度学习引擎?

    阿里妹导读:移动端深度学习在增强体验实时性.降低云端计算负载.保护用户隐私等方面具有天然的优势,在图像.语音.安全等领域具有越来越广泛的业务场景.考虑到移动端资源的限制,深度学习引擎的落地面临着性能. ...

  9. flac3d命令流实例大全_Activiti6.0工作流引擎深度解析

    本课程将系统且深入源码讲解Activiti6.0工作流引擎的使用.配置.核心api以及BPMN2.0规范.数据库设计及模型映射,Spring Boot2.0集成,工作流平台搭建.部署与运维等,通过本课 ...

最新文章

  1. MHA二种高可用架构切换演练
  2. java中删除字符串的头尾空白符。
  3. Android学习 —— 多种适配器方式实现ListView
  4. EF Core 数据库 Provider 一览
  5. C语言试题八十四之求空间两点之间的距离
  6. mybatisPlus中的updateById无法更新null值的字段
  7. 【Java】为什么 StringBuilder 不是线程安全的
  8. Core Animation 文档翻译 (第二篇)—核心动画基础要素
  9. pythongetpass_Python模块之getpass模块的使用
  10. gatsbyjs 了解
  11. 计算机网络 校园网规划与设计方案,校园网设计方案—计算机网络课作业
  12. 【专升本计算机】计算机文化基础练习题(选择题300道附答案)
  13. 【成长修炼】关于海贼王海军世界观
  14. gis 数据框裁剪_【计算摄影】计算机如何学会自动裁剪图片(自动构图)?
  15. 百万邮做邮件营销的邮箱配置
  16. win11x64 与HP1020打印机适配不成功
  17. Lidar Object detection
  18. Accidently in love
  19. 学习笔记之-51单片机IO口详解
  20. Python实时检测文件及文件夹变动

热门文章

  1. ip rule,ip route,iptables 三者之间的关系
  2. leetcode算法题--打家劫舍II
  3. “Hello,Jetpack”:构建您的第一个Jetpack应用程序
  4. php 注册登录,邮件确认激活
  5. Jetty开发指导:框架
  6. (ZT)大学里如何学习 ?
  7. Good Bye G.cn
  8. .Net精简版数据类型
  9. 软件工程-第一次作业
  10. Lammps命令与in文件