作者:王嘉俊 王婉婷

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 要快一倍。

独家视频翻译

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开源的更多相关文章

  1. 《Spring源码深度解析》第二章 容器的基本实现

    入门级别的spring配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&q ...

  2. VueRouter 源码深度解析

    VueRouter 源码深度解析 该文章内容节选自团队的开源项目 InterviewMap.项目目前内容包含了 JS.网络.浏览器相关.性能优化.安全.框架.Git.数据结构.算法等内容,无论是基础还 ...

  3. Hibernate 3 深度解析--苏春波

    Hibernate 3 深度解析   Hibernate 作为 Java ORM 模式的优秀开源实现, 当下已经成为一种标准,为饱受 JDBC 折磨的 Java 开发者带来了“福音.快速的版本更新,想 ...

  4. 01Tensorflow学习之Tensorflow基本介绍

    1 tensorflow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基 ...

  5. 百度Paddle会和Python一样,成为最流行的深度学习引擎吗?

    PaddlePaddle会和Python一样流行吗? 深度学习引擎最近经历了开源热.2013年Caffe开源,很快成为了深度学习在图像处理中的主要框架,但那时候的开源框架还不多.随着越来越多的开发者开 ...

  6. 深度学习“引擎”之争:GPU加速还是专属神经网络芯片?

    深度学习“引擎”之争:GPU加速还是专属神经网络芯片? 深度学习(Deep Learning)在这两年风靡全球,大数据和高性能计算平台的推动作用功不可没,可谓深度学习的“燃料”和“引擎”,GPU则是引 ...

  7. 让AI简单且强大:深度学习引擎OneFlow技术实践

    本文内容节选自由msup主办的第七届TOP100summit,北京一流科技有限公司首席科学家袁进辉(老师木)分享的<让AI简单且强大:深度学习引擎OneFlow背后的技术实践>实录. 北京 ...

  8. 百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。

    百度为何开源深度机器学习平台?   有一系列领先优势的百度却选择开源其深度机器学习平台,为何交底自己的核心技术?深思之下,却是在面对业界无奈时的远见之举.   5月20日,百度在github上开源了其 ...

  9. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

随机推荐

  1. Solr 多核(MultiCore)配置

    Solr Multicore意义        Solr Multicore 是 solr 1.3 的新特性.其目的一个solr实例,可以有多个搜索应用.< xmlnamespace prefi ...

  2. 中国版 Azure 现提供 Azure Traffic Manager

    Stephen MaloneAzure网络 - DNS和 Traffic Manager高级项目经理 我们非常高兴地宣布,中国版 Azure中现已提供 Azure Traffic Manager.Az ...

  3. HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))

    Harmonic Value Description Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Ja ...

  4. hdu 4091 Zombie’s Treasure Chest(数学规律+枚举)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4091 /** 这题的一种思路就是枚举了: 基于这样一个事实:求出lcm = lcm(s1,s2), n ...

  5. Inheritance - SGU 129(线段与多边形相交的长度)

    题目大意:给一个凸多边形(点不是按顺序给的),然后计算给出的线段在这个凸多边形里面的长度,如果在边界不计算. 分析:WA2..WA3...WA4..WA11...WA的无话可说,总之细节一定考虑清楚, ...

  6. Oracle keep详解

    原题目 select * from dept where deptno=(select max(deptno) keep(dense_rank last order by count(1))   fr ...

  7. NDK安装 eclipse 不出现NDK目录问题

    android adt自带eclipse无法设置ndk路径 具体情况是 我在mac上搭建android环境 到android sdk官网下载r23版本的adt时自带的eclipse没有设置ndk路径的 ...

  8. EnterpriseArchitectect 软件的勾选的几个选项对应的中文意思

    Business Process 业务流程 Requirements 需求分析 Use Case 用例 Domain Model 领域模型 Class 类 Database 数据库设计 Compone ...

  9. android的tabhost+RadioGroup+PopupWindow

    根据网上的代码稍作修改了下,放着记录学习. 效果图如下: 主代码如下: package com.andyidea.tabdemo; import android.app.TabActivity; im ...

  10. WebLogic: The Definitive Guide examined WebLogic's security mechanisms--reference

    reference from: http://www.onjava.com/pub/a/onjava/excerpt/weblogic_chap17/index1.html?page=1 ...... ...