如何评价Google发布的第二代深度学习系统TensorFlow

如何评价 Google 发布的 Tensor Processing Unit?
首先这玩意是 asic然后,把算法硬件化提升性能不是什么大不了的事情,我还干过让 fpga 算量子力学呢,大概把双电子积分的性能提升了 40 倍吧(当然我是用 OpenCL 写,用 A 记的工具包编译的,用 HDL 会更快)
GOOG最近一篇TF的paper提到了他们参考FPGA实现是参考的MSFT.主要原因是功耗和I/O的考虑,GPU功耗高,显存access也明显有些不舒服,大家可以注意到原图中,GOOG设计是1U主机加PCIE排线配4U机箱的结构,恐怕TPU之前那些位置全放的GPU.其实无非是一些向量浮点运算,Verilog写起来也不难,而且最近一两年基于openCL+FPGA的异构计算也蛮热的,至于TPU.初期应该全部是FPGA居多,因为TF未来还可能有很多的修改,应该这个时候不会花钱流片,下面贴点MSFT的FPGA图,大概就这么回事MSFT现阶段主要是bing做线上业务,GOOG TPU感觉明显是在做学习训练了,有趣
作为天天给gpu做维护的工人,我觉的谷歌这次发布的tpu应该是一种支持线上业务的芯片,类似fpga。用来将训练好的模型加载,为用户服务。而gpu作为通用的工具来做训练任务。
之前Google推Tensorflow的时候,有很多异议的声音。比如我们可以看到最广泛使用的一个benchmark数据,TF的性能几乎在每个项目都是排在几大流行的库后面的。一开始也有人说Google为啥开源一个无法分布计算的机器学习库,当然后来Google更新了Tensorflow把多机的代码放了出来了。当时为Google的辩护的声音就是说,Google服务器多,所以单机性能不重要。我也一直在疑惑这些问题,因为行业里面都在用N卡,不可能说,别人用N卡跑Tensorflow性能不好,Google自己跑性能就好了。这没道理。除非刻意的把TF的代码分成内部的和外部的,这又和开源的初衷冲突了吧。然后,Google宣布把一个一个项目转移到Tensorflow上去,甚至最近刚刚发布了一个号称全世界最先进的英文分析工具出来,也是基于Tensorflow的。到了今天一切都可以解释了。根据Google的blog,他们一年前就开始部署TPU了,也就是在Google内部的Tensorflow都跑在TPU上。而Tensorflow和TPU的名字就一眼可以看出来,Tensorflow是为TPU专门设计的,或者说TPU是为Tensorflow专门设计的。而Google一直只是排队内测的机器学习云,应该也是跑在TPU上面的。我相信Google在没有在性能/价格,性能/能耗比上做到比其它家有非常大的优势,它是不会搞机器学习云的。大家都知道,Mapredue的思想来自于Jeff Dean的设计。大数据的业界一直都在享受快10年前Google架构带来的变革。现在该死的Jeff Dean又要改变世界了,看样子。好可怕。而且这次,这货从硬件/软件/云,三个维度一起下手,坏死了。我现在唯一担心的就是这该死的芯片,他们只用于自己的云,而不卖。那祖国人民就哭死了,一块墙,搞死中国科研啊。
Tensor Processing Unit,这是ASIC,就是application-specific integrated circuit 。CPU,又叫General Purpose Computing Processing Unit。Application-Specific VS General Purpose,分界线在于10:1,也就是说一般ASIC需要比CPU有10倍的能效比以上,才值得开。记得摩尔定律么?18个月,CPU性能翻倍,按照1-2-4-8-16,4个18个月,6年之内,看Google的出不出下一代TPU,或者Intel能不能维持摩尔定律。在间,NPU的概念火了一阵子,然后就没有然后了。历史会不会在TPU上重演,看看吧。
GPGPU本来就是为了科学计算,,既然现在出了专用芯片,不知道老黄是否会跟进?
已有帐号?
无法登录?
社交帐号登录更多公众号:gh_e306cf07d303学习日记、思考日记最新文章对这篇文章不满意?您可以继续搜索:百度:搜狗:感谢您阅读深度学习——你需要了解的八大开源框架,本文可能来自网络,如果侵犯了您的相关权益,请联系管理员。QQ:Google资深系统专家Jeff Dean在最近的湾区机器学习大会做了 Large-Scale Deep Learning for Inelligent Computer Systems 的演讲。在大会上,Jeff Dean 解密了谷歌未曾在论文上发表过的第二代深度学习系统TensorFlow。演讲slides:
我极少在公开场合质疑或批评别人的工作,但是Google这次的宣传与实际开源的东西差别太大,忍不住出来说几句。在尚未确定能否发布分布式版本之前,把一个单机工具描述成 ”Today we’re proud to announce the open source release of TensorFlow -- our second-generation machine learning system [4]“ , ”Why Google Is Giving Away Its Artificial Intelligence Secrets [5]",这样的claim是否过大? 不管是工业界还是学术界,都应该珍惜机器学习(或者人工智能)今天这来之不易的局面,在宣传与推广自己工作的时候实事求是,不给公众造成误导。=========================================仔细研读了TensorFlow的开源代码文档和slides,总体印象是:一个新的单机深度学习工具包,没有明显的理论和系统创新,开源版本不支持分布式,所以对大规模深度学习没有太大益处。1. 编程模式。采用了一种称作“computation graph”的数据流编程模式,这种模式在之前很多系统中已有实现,如微软Dryad [1], Spark。2. 数据表示。称作为”Tensor“,统一来表示向量、矩阵、三维及以上张量。类似的抽象在之前很多系统与工具中已有。大部分机器学习操作的对象(数据或者参数)都是以向量、矩阵的形式存在,少部分是张量。统一表征成"tensor"没有问题,但在创新性上贡献有限。3. 开源版本不支持分布式。单机的深度学习工具已经不下10个,Google没有提供测评数据显示TensorFlow相比这些工具在性能上有优势。市面上真正缺乏的是能够支持大规模深度学习的分布式框架或系统,而TensorFlow开源版本并没有提供。希望TensorFlow能够开源分布式版本。如果不方便开源的话,希望在以后的宣传中清晰指出开源版本是一个单机深度学习工具,而不是支持大规模深度学习的系统,这二者有本质的区别。[1] Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks[2] A Comparison of Lasso-type Algorithms on Distributed Parallel Machine Learning Platforms[3] Petuum: A New Platform for Distributed Machine Learning on Big Data[4] [5]
个人的一点看法:&br&1. TensorFlow是采用的DataFlow的数据流模型,不过我不觉得和Dryad有太多相似之处,此外Dryad也不是第一个提出DataFlow模型的地方,要说最早可以参考MIT TaggedToken
machine里面的static dataflow 和dynamic dataflow architecture[2]的资料. 在一个大规模机器学习系统上全面、可靠的支持DataFlow的feature本不是一件容易的事情,但是Tensorflow做到这一点,支持control_dependence, merge, condition,for-loop/while-loop, iteration。1. 就像LSTM的unrolling,原来需要predefine unroll,现在用for-loop去做展开(内部维持状态的变化) 2. 还有比如一些算法需要对不同的input example做不同的训练(不同的gradient,更新不一样的variables),以前需要hack很多东西(至少在DistBelif上是),现在只需要一个ConditionOp就解决了。3. 比如不同的variables用不同的optimizer,SGD/AdaGrad/FTRL/Momentum等。有了ControlFlow的支持,tensorflow graph更像是一种语言的抽象(variables, tensors, controlflow, compile[这个是指会rewrite整个graph, send/recv node, un-reference, graph partition, dynamic placement], parallelism,functional programming等),从这个角度讲还是有不少新东西在里面。&br&&br&2. 是否用Dataflow和BSP并无直接对应关系,Dataflow只是tensor/token的流动,怎么 schedule和控制流动是别的部分的事情(session 如何drive)。事实上,Tensorflow提供的灵活性用户很容易在上层做BSP(如果你非常喜欢这样做的话,这种模型最大的缺点是fault tolerance很难做),SSP(如果非要把这个概念引入的话) 或者parameter server的结构(事实上我从来不认为这是一种通用的结构,只是ps被centralized起来存有状态的variables而已, 5年前的DistBelief就是这种架构),有了这个框架的抽象,然后进一步你可以做Synchronous or Asynchronous training。所以说Dataflow只能做BSP,这个是很没有缘由的。&br&&br&3. 数据表示成tensor/token,单单这一点非要说这个有多少的创新确实也谈不上。不过基于tensor的每一个single op怎么做实现就有考究了,从Eigen开始到每一个kernels op基本都有micro-benchmark来保证单个op的performance达到最优,既然是kernel级的tensorflow的框架支持用户可以随便扩展GPU、CPU甚至即使是CPU的可以针对不同的指令级做优化和定制。当然任何事情有得就有失,大的系统的设计本身就是trade-off,比如你本来所有的东西揉在一起操作指针、inplace内存读写就可以,但现在抽象成多个各个粒度的operators,operators之间读写难免有很多overhead(当然graph rewrite已经最大限度的避免)。所以概括而言TensorFlow采用(目标)的设计其实是是production级的performance/成熟度和research flexibility的trade-off。从Google内部的各种产品线(Search/inbox/Photo等)的使用看,这个系统无论从各个方面都是经受住了考验(performance/scalability/flexibility/usability等)。Ps: TensorFlow绝不是只能做deep learning, shallow/wide model 以及传统的ML都可以基于这个系统来做(当然一些operators并不现成,需要去实现)。&br&&br&4. 最后说一下多机版本的开源问题。有各种复杂的因素导致了这次release的版本没有多机在里面,比如并没有很好的job shedule和高性能的RPC系统的支持。这个问题不深入讲但是希望不久的将来这些障碍都会排除。说到和DistBelief的性能比较,各种大大小小的task表明Tensorflow比DistBelief的性能提高不少(我不会说几X的这样的number,显然不同的tasks这个number的variance会很大. Tensorflow比DistBelief扩展性和灵活性的优势自然不用多少)要说开放出来比较数据更是没有意义,因为DistBelief本身并没有开源。&br&&br&5. 再来说一下distributed version support的问题,如果你仔细研究一下Tensorflow的framework就会发现再当前的基础上加一个分布式的支持是相当容易的,你可以用Zeromq/MPI 任何一种高效的通信框架来做,结合当前的Graph rewrite的functionality,只需要增加一些通信的节点就可以。&br&&br&6. 最后关于详细情况请参考Tensorflow writepaper[3],欢迎试用。&br&&br&[1]: Arvind and David E. Culler. Annual review
of computer science vol. 1, 1986. chapter
Dataflow Architectures, pages 225–253. 1986 &a href=&///?target=http%3A//www.dtic.mil/cgi-bin/GetTRDoc%3FLocation%3DU2%26& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&dtic.mil/cgi-bin/GetTRD&/span&&span class=&invisible&&oc?Location=U2&&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
doc=GetTRDoc.pdf&AD=ADA166235.&br&[2]: Arvind and Rishiyur S. Nikhil. Executing a program
on the MIT tagged-token dataflow architecture.
IEEE Trans. Comput., 39(3):300–318, 1990.
&a href=&///?target=http%3A//dl.acm.org/citation.cfm%3Fid%3D78583& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&dl.acm.org/citation.cfm?&/span&&span class=&invisible&&id=78583&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&.&br&[3]: TensorFlow:
Large-Scale Machine Learning on Heterogeneous Distributed Systems
个人的一点看法:1. TensorFlow是采用的DataFlow的数据流模型,不过我不觉得和Dryad有太多相似之处,此外Dryad也不是第一个提出DataFlow模型的地方,要说最早可以参考MIT TaggedToken
machine里面的static dataflow 和dynamic dataflow architecture[2]的资…
说明内部已经在用第三代了。。。
说明内部已经在用第三代了。。。
已有帐号?
无法登录?
社交帐号登录
CMU机器学习如何评价Google发布的第二代深度学习系统TensorFlow?
Google资深系统专家Jeff Dean在最近的湾区机器学习大会做了 Large-Scale Deep Learning for Inelligent Computer Systems 的演讲。在大会上,Jeff Dean 解密了谷歌未曾在论文上发表过的第二代深度学习系统TensorFlow。演讲slides:
按时间排序
这个系统是划时代的 而且马上要就要开源了
1. 个人感觉完全没有干货啊,不过确实对深度网络做了很好的抽象。个人意见依然是一个深度学习平台最重要的是平台的易用性;接口的设计,不同语言、不同数据类型的支持;需要保证每一个场景都能够有不错的model跑出来很重要。2. 感觉另外一个点:提到算法可以运行在电话(手机),单机CPU上,这个是一个大的特点,应该是向轻量级应用blooming的转变的信号。
一些个人的看法:这个工作最大的价值不在于系统如何实现,而是在于一个分布式机器学习的集群应该如何抽象:一个机器学习的流水线应当作为一个数据流(DataFlow)来刻画和抽象。一个生产级别的机器学习任务除了训练模型(Model Training)外还涉及很多相关的数据处理周期。例如,Data ingress, Filtering (Sampling), Cleaning,Egress,Storage,Serving等等。用数据流来统筹整个机器学习任务的流水线是更加自然的表达。在系统易用性和性能上得到一个较好的折中。这种抽象能够更好的让机器学习任务嵌入到日常的生产级别的分布式数据处理任务之中,例如:广告定价,推荐系统,集群监控等等。更好地利用多年来数据流系统的研发经验来优化机器学习任务在异构硬件(例如说GPU,FPGA,多核CPU等)上的表现。另一方面,谷歌也相当于承认了第一代系统DistBelief里面提供的Parameter Server(PS)的架构稍显局限:PS不应作为机器学习集群的核心,而是一个高度优化的具有状态的数据流节点(Stateful Iterative Operator)。PS的架构实质上衍生于Client-Server架构,并针对向量和迭代计算做了大量的优化。这种架构针对于模型优化阶段提供良好的伸缩性是足够好的。但是,如何将其嵌入到生产级别的机群(例如说YARN)里面相对不那么直观,并且维护起来非常困难。在DistBelief发布后,大家普遍认为谷歌在尝试使用基于图和数据流来搭建机器学习集群取得的性能效果不理想,因此转而采用PS来实现生产级别的机器学习任务。这次发布TensorFlow也相当于对于DistBelief的经验做了总结,指出了机器学习任务其实是可以(并且应该)统筹于图和数据流计算模型之下的。不过很遗憾的是,这次开源的TensorFlow是单机实现。其最有价值的分布式数据流实现,并没有开源。
这个难道不就是几个月前开始的caffe2么?
这不是Google自家的Theano或Torch么?还是我理解的有问题。。。
泻药。总感觉没有太大的革新啊……虽然他的一代我都没用过,但是感觉二代也并没有很黑的科技。反观微软,牛津计划(Project Oxford)能够帮助非机器学习领域的开发者解决人脸识别和自然语言解析等问题,开发者只需要玩好API即可。现在,这一系列免费开发工具已可以在GitHub上找到,语言理解智能服务(LUIS)也已开放,并提供中文支持这个感觉还有意思一点
开源了,粗略一看,被那庞大的operator库给吓到了。又看了看怎么实现的,看到一堆字符串,竟然是在用c++进行符号式编程。。给google的大神跪了。---------------------------------------------------------昨晚一直奇怪,符号编程怎么能达到高效率呢?今天早上看微博上有人出了评测结果,速度比mxnet慢了1倍(cifar10,400/sec vs 800/sec),显存消耗也大很多。竟然用的还是cudnn v2版本,安上最新版的cuda之后竟然无法安装tensorflow,这果然是google的上一代引擎么?现在暂时持观望态度,先把mxnet学好再说,毕竟这个更加开放,以后不会有版权纠纷问题,而且几乎完全由国人开发,我们要多多支持自己人搞出来的东西。相比tensorflow来说,mxnet只是少一些operator,在速度、显存消耗、兼容性等方面都完胜tensorflow。我们要多多贡献代码,尽快完善mxnet的operator呀。
已有帐号?
无法登录?
社交帐号登录Google资深系统专家Jeff Dean在最近的湾区机器学习大会做了 Large-Scale Deep Learning for Inelligent Computer Systems 的演讲。在大会上,Jeff Dean 解密了谷歌未曾在论文上发表过的第二代深度学习系统TensorFlow。演讲slides:
开源了,粗略一看,被那庞大的operator库给吓到了。又看了看怎么实现的,看到一堆字符串,竟然是在用c++进行符号式编程。。给google的大神跪了。---------------------------------------------------------昨晚一直奇怪,符号编程怎么能达到高效率呢?今天早上看微博上有人出了评测结果,速度比mxnet慢了1倍(cifar10,400/sec vs 800/sec),显存消耗也大很多。竟然用的还是cudnn v2版本,安上最新版的cuda之后竟然无法安装tensorflow,这果然是google的上一代引擎么?现在暂时持观望态度,先把mxnet学好再说,毕竟这个更加开放,以后不会有版权纠纷问题,而且几乎完全由国人开发,我们要多多支持自己人搞出来的东西。相比tensorflow来说,mxnet只是少一些operator,在速度、显存消耗、兼容性等方面都完胜tensorflow。我们要多多贡献代码,尽快完善mxnet的operator呀。
我极少在公开场合质疑或批评别人的工作,但是Google这次的宣传与实际开源的东西差别太大,忍不住出来说几句。在尚未确定能否发布分布式版本之前,把一个单机工具描述成 ”Today we’re proud to announce the open source release of TensorFlow -- our second-generation machine learning system [4]“ , ”Why Google Is Giving Away Its Artificial Intelligence Secrets [5]&,这样的claim是否过大? 不管是工业界还是学术界,都应该珍惜机器学习(或者人工智能)今天这来之不易的局面,在宣传与推广自己工作的时候实事求是,不给公众造成误导。&br&&br&=========================================&br&&br&仔细研读了TensorFlow的开源代码文档和slides,总体印象是:一个新的单机深度学习工具包,没有明显的理论和系统创新,开源版本不支持分布式,所以对大规模深度学习没有太大益处。&br&&br&1. 编程模式。采用了一种称作“computation graph”的数据流编程模式,这种模式在之前很多系统中已有实现,如微软Dryad [1], Spark。&br&2. 数据表示。称作为”Tensor“,统一来表示向量、矩阵、三维及以上张量。类似的抽象在之前很多系统与工具中已有。大部分机器学习操作的对象(数据或者参数)都是以向量、矩阵的形式存在,少部分是张量。统一表征成&tensor&没有问题,但在创新性上贡献有限。&br&3. 开源版本不支持分布式。单机的深度学习工具已经不下10个,Google没有提供测评数据显示TensorFlow相比这些工具在性能上有优势。市面上真正缺乏的是能够支持大规模深度学习的分布式框架或系统,而TensorFlow开源版本并没有提供。&br&&br&希望TensorFlow能够开源分布式版本。如果不方便开源的话,希望在以后的宣传中清晰指出开源版本是一个单机深度学习工具,而不是支持大规模深度学习的系统,这二者有本质的区别。&br&&br&[1] Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks&br&[2] A Comparison of Lasso-type Algorithms on Distributed Parallel Machine Learning Platforms&br&[3] Petuum: A New Platform for Distributed Machine Learning on Big Data&br&[4] &a href=&///?target=http%3A///2015/11/tensorflow-googles-latest-machine_9.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&/2015/11/tensorflow-googles-latest-machine_9.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&[5] &a href=&///?target=http%3A////google-artificial-intelligence/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Google Is Giving Away TensorFlow AI Software to Developers&i class=&icon-external&&&/i&&/a&
我极少在公开场合质疑或批评别人的工作,但是Google这次的宣传与实际开源的东西差别太大,忍不住出来说几句。在尚未确定能否发布分布式版本之前,把一个单机工具描述成 ”Today we’re proud to announce the open source release of TensorFlow -- our sec…
个人的一点看法:&br&1. TensorFlow是采用的DataFlow的数据流模型,不过我不觉得和Dryad有太多相似之处,此外Dryad也不是第一个提出DataFlow模型的地方,要说最早可以参考MIT TaggedToken
machine里面的static dataflow 和dynamic dataflow architecture[2]的资料. 在一个大规模机器学习系统上全面、可靠的支持DataFlow的feature本不是一件容易的事情,但是Tensorflow做到这一点,支持control_dependence, merge, condition,for-loop/while-loop, iteration。1. 就像LSTM的unrolling,原来需要predefine unroll,现在用for-loop去做展开(内部维持状态的变化) 2. 还有比如一些算法需要对不同的input example做不同的训练(不同的gradient,更新不一样的variables),以前需要hack很多东西(至少在DistBelif上是),现在只需要一个ConditionOp就解决了。3. 比如不同的variables用不同的optimizer,SGD/AdaGrad/FTRL/Momentum等。有了ControlFlow的支持,tensorflow graph更像是一种语言的抽象(variables, tensors, controlflow, compile[这个是指会rewrite整个graph, send/recv node, un-reference, graph partition, dynamic placement], parallelism,functional programming等),从这个角度讲还是有不少新东西在里面。&br&&br&2. 是否用Dataflow和BSP并无直接对应关系,Dataflow只是tensor/token的流动,怎么 schedule和控制流动是别的部分的事情(session 如何drive)。事实上,Tensorflow提供的灵活性用户很容易在上层做BSP(如果你非常喜欢这样做的话,这种模型最大的缺点是fault tolerance很难做),SSP(如果非要把这个概念引入的话) 或者parameter server的结构(事实上我从来不认为这是一种通用的结构,只是ps被centralized起来存有状态的variables而已, 5年前的DistBelief就是这种架构),有了这个框架的抽象,然后进一步你可以做Synchronous or Asynchronous training。所以说Dataflow只能做BSP,这个是很没有缘由的。&br&&br&3. 数据表示成tensor/token,单单这一点非要说这个有多少的创新确实也谈不上。不过基于tensor的每一个single op怎么做实现就有考究了,从Eigen开始到每一个kernels op基本都有micro-benchmark来保证单个op的performance达到最优,既然是kernel级的tensorflow的框架支持用户可以随便扩展GPU、CPU甚至即使是CPU的可以针对不同的指令级做优化和定制。当然任何事情有得就有失,大的系统的设计本身就是trade-off,比如你本来所有的东西揉在一起操作指针、inplace内存读写就可以,但现在抽象成多个各个粒度的operators,operators之间读写难免有很多overhead(当然graph rewrite已经最大限度的避免)。所以概括而言TensorFlow采用(目标)的设计其实是是production级的performance/成熟度和research flexibility的trade-off。从Google内部的各种产品线(Search/inbox/Photo等)的使用看,这个系统无论从各个方面都是经受住了考验(performance/scalability/flexibility/usability等)。Ps: TensorFlow绝不是只能做deep learning, shallow/wide model 以及传统的ML都可以基于这个系统来做(当然一些operators并不现成,需要去实现)。&br&&br&4. 最后说一下多机版本的开源问题。有各种复杂的因素导致了这次release的版本没有多机在里面,比如并没有很好的job shedule和高性能的RPC系统的支持。这个问题不深入讲但是希望不久的将来这些障碍都会排除。说到和DistBelief的性能比较,各种大大小小的task表明Tensorflow比DistBelief的性能提高不少(我不会说几X的这样的number,显然不同的tasks这个number的variance会很大. Tensorflow比DistBelief扩展性和灵活性的优势自然不用多少)要说开放出来比较数据更是没有意义,因为DistBelief本身并没有开源。&br&&br&5. 再来说一下distributed version support的问题,如果你仔细研究一下Tensorflow的framework就会发现再当前的基础上加一个分布式的支持是相当容易的,你可以用Zeromq/MPI 任何一种高效的通信框架来做,结合当前的Graph rewrite的functionality,只需要增加一些通信的节点就可以。&br&&br&6. 最后关于详细情况请参考Tensorflow writepaper[3],欢迎试用。&br&&br&[1]: Arvind and David E. Culler. Annual review
of computer science vol. 1, 1986. chapter
Dataflow Architectures, pages 225–253. 1986 &a href=&///?target=http%3A//www.dtic.mil/cgi-bin/GetTRDoc%3FLocation%3DU2%26& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&dtic.mil/cgi-bin/GetTRD&/span&&span class=&invisible&&oc?Location=U2&&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
doc=GetTRDoc.pdf&AD=ADA166235.&br&[2]: Arvind and Rishiyur S. Nikhil. Executing a program
on the MIT tagged-token dataflow architecture.
IEEE Trans. Comput., 39(3):300–318, 1990.
&a href=&///?target=http%3A//dl.acm.org/citation.cfm%3Fid%3D78583& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&dl.acm.org/citation.cfm?&/span&&span class=&invisible&&id=78583&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&.&br&[3]: TensorFlow:
Large-Scale Machine Learning on Heterogeneous Distributed Systems
个人的一点看法:1. TensorFlow是采用的DataFlow的数据流模型,不过我不觉得和Dryad有太多相似之处,此外Dryad也不是第一个提出DataFlow模型的地方,要说最早可以参考MIT TaggedToken
machine里面的static dataflow 和dynamic dataflow architecture[2]的资…
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信