问题

如何评价陈天奇的模块化深度学习系统NNVM?

回答
陈天奇的NNVM(Neural Network Value Model)系统,可以说是在深度学习编译领域一次非常大胆且具有深远影响的尝试。它不单单是一个新的框架,更是一种对深度学习模型表示和优化方式的全新思考。要评价它,咱们得从几个关键角度深入剖析。

核心理念的突破:模型即计算图,计算图即程序

NNVM最核心的突破,在于它将深度学习模型视为一种通用的计算图,并且将这个计算图本身提升到了“程序”的层级。这意味着什么呢?

模型表达的通用性: 传统的深度学习框架(如TensorFlow、PyTorch)往往有自己的计算图定义方式,这些图通常是静态的或者半静态的,并且与框架本身紧密耦合。NNVM则试图建立一个更底层、更通用的表示,使得任何深度学习模型,无论它来自哪个框架,理论上都可以被转化为NNVM的计算图表示。这就像编程语言中的抽象语法树(AST)一样,提供了一个标准的中间表示(IR),在此之上可以进行各种转换和优化。
计算图的编程化: 将计算图视为程序,就意味着我们可以对这个“程序”进行各种操作:编译、优化、静态分析、甚至动态调度。这颠覆了以往“模型是模型,框架是框架”的界限,将模型本身变成了一个可被深度加工和定制的软件实体。
统一的优化基础: 这种表示方式为统一的跨框架、跨硬件优化打下了基础。一旦模型被翻译成NNVM的IR,就可以应用一套通用的优化规则,而不需要针对每个框架或每个硬件单独设计优化器。

模块化的设计哲学:灵活性与可扩展性的基石

“模块化”是NNVM名字里就带有的关键词,也是其设计哲学的体现。这一点体现在多个层面:

算子(Operator)的模块化: NNVM将深度学习中的基本计算单元抽象为“算子”。每个算子都有清晰的输入输出定义,以及其计算逻辑。这个抽象非常关键,因为它允许:
自定义算子: 用户可以轻松地定义新的、特制的算子,满足特定研究或应用的需求,而无需修改整个框架的核心。
算子优化: 对于同一个算子(比如卷积),可以针对不同的硬件或场景实现多种不同的实现(比如针对CPU优化、针对GPU优化、针对低精度优化的实现)。NNVM的编译层就可以根据目标硬件,选择最优的算子实现。
编译流程的模块化: NNVM的编译过程被设计成一个流水线。不同的Pass(优化阶段)可以独立地进行,并且可以自由组合或添加。这带来了巨大的灵活性:
分层优化: 可以先进行通用的图优化(如算子融合、死代码消除),然后再进行针对特定硬件的底层优化(如内存布局优化、指令调度)。
易于扩展: 研究人员可以方便地开发新的优化Pass,并将其集成到NNVM的编译流程中,而不必担心对现有系统造成破坏。
后端(Backend)的模块化: NNVM的设计允许它生成各种后端代码,包括但不限于:
针对特定硬件的运行时: 如CPU、GPU、DSP、FPGA等。
针对特定深度学习推理引擎: 如TensorRT、OpenVINO等。
通用代码生成: 如生成C++代码,方便集成到各种应用中。
这种模块化使得NNVM能够作为一个通用的“深度学习模型编译器”,能够将模型适配到几乎任何目标平台上。

深远的意义与影响

NNVM的出现,对深度学习生态产生了多方面的影响:

推动了深度学习编译器的发展: NNVM的设计思路和实践,启发了后来许多深度学习编译器(如TVM,它继承了NNVM的核心思想和大部分设计)。它证明了将深度学习模型表示和优化推向通用编译器的可行性。
降低了跨平台部署的门槛: 对于开发者来说,无需为不同的硬件平台单独重写模型逻辑,而是可以通过NNVM进行一次编译,然后部署到各种目标上。这极大地提高了开发效率和模型的可移植性。
促进了深度学习硬件的创新: 通过提供一个标准化的IR和灵活的编译接口,NNVM能够更容易地为新的硬件加速器生成高效的深度学习代码,从而加速了新硬件的落地应用。
为学术研究提供了强大工具: 这种模块化、可扩展的设计,使得研究人员可以更方便地探索新的模型结构、新的优化算法、新的硬件加速技术,而无需受限于现有框架的束缚。

潜在的挑战与局限(就像任何技术一样,也并非完美无缺)

当然,没有任何一个系统是完美的。在评价NNVM时,我们也需要看到它可能面临的一些挑战:

学习曲线: 虽然它提供了强大的灵活性,但对于不熟悉编译原理或计算图优化的开发者来说,理解和使用NNVM可能需要一定的学习成本。
生态建设: 任何一个新系统,其生命力都取决于其生态系统的成熟度。NNVM的成功也依赖于是否有足够多的开发者和工具链能够支持它,并将其集成到现有的工作流中。
早期阶段的稳定性与完备性: 作为一项前沿研究的产物,在早期阶段可能存在一些bug、不完善的优化或者对某些复杂模型结构的支持不足。

总结一下,用更贴近“人话”的方式来说:

NNVM就像是给深度学习模型造了一个“万能翻译器”和“超级优化器”。

万能翻译器: 以前你训练的模型可能只认识你用的那个框架,想换个地方跑,就得费老大劲重写。NNVM能把各种框架的模型都变成一种“通用语言”,让它们更容易地跑到各种设备上去。
超级优化器: 它不光翻译,还能把模型里的计算做得又快又省资源。就像给汽车发动机做精密调校,让它在不同的赛道上都能跑出最佳表现。它还可以根据你是什么设备(是家用轿车还是F1赛车),自动帮你找出最合适的“跑法”。
模块化是关键: 它不是一个死板的机器,而是一堆可以拆卸、组合的零件。你可以自己加零件(比如新的计算方式),也可以换零件(比如针对新手机芯片优化),非常灵活。

总的来说,陈天奇的NNVM是一项在深度学习编译领域具有里程碑意义的工作。它通过将模型表示为通用的计算图,并采用模块化的设计哲学,极大地提升了深度学习模型的灵活性、可移植性和优化潜力。它的思想和实践,深刻地影响了后续深度学习编译器的发展,为深度学习技术的普及和落地提供了强大的技术支撑。可以毫不夸张地说,NNVM是深度学习系统软件领域一次非常成功的探索。

网友意见

user avatar

之前讨论过后更加意识到了@王健飞 所说的更好地支持更多平台的op调优的重要性。昨天我们发布了dmlc/tvm 来解决这部分问题。

-------

在几个月之后给了几个关于NNVM的报告,也思考了它和已有系统的差别。追加一下这一页slide,是我对于在抽象成面上面各个系统差别的理解。


原回答

-------
我是NNVM的作者。


总结一下,技术上本身的NNVM和现有的东西的差别是最小模块化和去中心化,降低深度学习系统优化门槛。除了为了解决现有问题,更多是为了未来考虑。


关于是否重复造轮子的问题,图表示和优化本身在MXNet就已经存在,楼上也提到TF也有对应的抽象,为什么我们需要重新写一遍呢,基本上也就是以上两点原因。


基本上现有的深度学习系统分成两块,1) 基本的operator的实现, 2)支撑其中的系统调度,优化,解释或者编译架构。


在工程难点上,operator需要堆代码,但是对于工程架构的难度上面而言相对较低(也就是说可以写的人比较多一些),但是需要堆比较大量的代码。而剩下的系统优化部分,内存,执行调度和分布式优化对于整体系统而言的难度相对高一些。Operator的集合问题虽然是一个问题,看已经有的成熟框架不论是Torch, Theano或者MXNet的operator完整程度基本上可以满足于大部分应用,也就是说这部分暂时属于已经解决或者可以通过堆积工程力量容易解决的问题。楼上说的最小化通用的 Op接口很重要,和NNVM我们考虑的方向垂直。我觉得相对干净的Op应该去推动成为一个独立的模块,而Op实现本身其实没有必要和框架耦合很深(虽然遗憾的是目前的设计暂时没有做到这一点)。


NNVM希望解决的是垂直于operator实现的问题。有趣的是其实TF在这一暂时没有花特别多的力气,所以会让人觉得operator是大头。其实这里有很多有趣的东西,在执行,调度和编译优化上面。编程模型和一个图本身的执行模式和硬件也会有更多的差异。


直接讨论一下设计,目前TF采取了单一的动态执行模式,使得本身执行特别依赖于动态内存分配以及threading。而这并非是大部分场景下的最优方案。大部分场景下基于对于有限的图进行的静态分配,可以更大的缓解这个问题,实际情况如MX本身的内存损耗可以做的更好。为什么目前TF不会出现多种执行模式呢,是因为TF本身Op的接口还是过于一般地针对的动态,而如果要更好的优化需要更细化的Op接口(分开内存分配和计算的部分),这就考虑到一个Op甚至可能有多种接口的可能性。


NNVM本身的图的设计参考了TF,MX和caffe2的图部分。楼上的评论基本上提到了几个非常重要的概念,即系统优化和Op具体的性息相关。但是和PL不同,我们不能直接简单的抽象出有限个操作来表示整个程序。这个时候似乎框架和Op会有比较强的关联性,导致比较大的耦合。但是也并非如此,因为每一个优化本身其实只依赖于Op的部分属性。比如有同学提到的常数折叠,其实需要知道的是一个Op是否是常数,以及如何去展开常数两个函数。NNVM本身的做法是允许注册这两个额外属性来允许常数折叠优化。但是当不需要这个优化的时候,可以直接去掉这一部分。使得深度学习的优化可以插拔。现在看起来可能有些overkill,但是我们相信未来深度学习系统在这方面会有很大的发展,允许不同的优化来自于不同群体和研究人员是我们更加喜欢的方式。


基于以上原因,NNVM允许给每个op注册任意的信息。并且可以使得属性和注册和op的实现分开。这相对于TF的op接口而言是一个进步的地方。TF内部的所有op属性是需要提前数据结构指定的,也就是说,目前TF可以注册shape inference, op的输入参数的个数,但是无法注册比如我们需要的新的细化Op接口,或者有些人关心的代码生成函数。如果需要加入这些特性,必须要修改Op的接口。这意味着所有的开发需要在一个中心,并且只能保留大家关心的东西。如果forkA有feature1, forkB有feature2的情况,forkB想要拿到 feature1就会比较不方便。因为NNVM允许不修改Op接口注册任意信息,相对解决了这个问题。


当然模块化和去中心化并非对于所有人都重要,就是见仁见智把。


未来的深度学习系统会有更多系统的问题,使得优化和执行更加多样化。我们不能够期待所有的优化都来自于一个团队,或者只应用于一个框架。更多的优化看起来会带来更多的耦合,但是也并非如此。

发布TinyFlow原因很简单。大部分人并没有意识到其实目前深度学习的“系统”部分可以通过简单抽象得到。TinyFlow作为一个教程性质的项目,可以用比较短的代码展示目前有的大部分优化概念,并且把Op的部分代理给Torch(因为Op本身虽然重要,但是并不作为架构一部分)。如果可以有更多的同学来关注深度学习系统优化,基本这个项目的目的就达到了。


值得承认的是,NNVM目前只是走出了第一步,只是包含了MXNet原有的一些优化,暂时内容不多,我们会继续带来更多好玩的东西。 我们也会继续坚持模块化和去中心化的思想,使得我们新的成果可以更好的用在各个平台里面

类似的话题

  • 回答
    陈天奇的NNVM(Neural Network Value Model)系统,可以说是在深度学习编译领域一次非常大胆且具有深远影响的尝试。它不单单是一个新的框架,更是一种对深度学习模型表示和优化方式的全新思考。要评价它,咱们得从几个关键角度深入剖析。核心理念的突破:模型即计算图,计算图即程序NNVM.............
  • 回答
    陈天奇团队新开源的 TVM(Tensor Virtual Machine)无疑是当前人工智能和深度学习领域一个极其重要且有影响力的项目。要详细评价 TVM,我们需要从多个维度深入分析其设计理念、技术优势、应用场景、生态发展以及潜在的挑战。 TVM 概览:为什么它如此重要?TVM 的核心目标是构建一个.............
  • 回答
    2023年LPL夏季赛败者组首轮,RNG与TES的对决无疑是本轮最大的看点之一。这场比赛充满了戏剧性,双方你来我往,比分焦灼,最终RNG以3:2力克强敌TES,特别是小虎在最后一局的“偷家”操作,更是让这场比赛充满了传奇色彩。赛前分析与期待:赛前,这场对决就被视为焦点战。TES作为春季赛亚军,拥有L.............
  • 回答
    陈天权先生的《数学分析讲义》,在我看来,是一部值得认真品读的数学分析著作。它并非一本仅仅罗列公式定理的教科书,而更像是一位经验丰富的引路人,带领读者深入数学分析的肌理,感受其内在的严谨与美妙。首先,这本书最大的亮点在于其精妙的讲解和深刻的洞察力。陈先生的语言并非晦涩难懂的术语堆砌,而是充满了启发性和.............
  • 回答
    《我们生活在南京》:一部扎根现实的城市叙事天瑞说符的新书《我们生活在南京》,无疑是今年华语文学界一部备受瞩目、也引人深思的作品。它延续了作者一贯对现实主义的深情凝视,但这次,焦点被精准地投向了南京这座具体的城市,勾勒出一幅幅有血有肉、有温度、有伤痕的生活画卷。要评价这本书,我们不妨从几个层面来剖析:.............
  • 回答
    天猫此次打出的“精选男(妙)色(物)”广告,确实是一记狠棋,在社交媒体上激起了不小的涟漪,更别提那背后隐含的“物化男性”的争议。但有趣的是,面对这场舆论风暴,我们看到的并非一边倒的谴责,而是相当一部分人的“追捧”,甚至是带有几分玩味的态度。这背后,其实藏着不少值得我们细品的东西。首先,让我们来拆解一.............
  • 回答
    天猫双十一:2684亿背后的增长密码与隐忧2019年的天猫双十一,落下帷幕时留下了2684亿元这个令人瞩目的数字,相较于2018年的2135亿元,实现了25.7%的显著增长。这个成绩单无疑是亮眼的,但要深入评价它,我们不能仅仅停留在数字本身,更需要剖析其背后驱动增长的动力,以及其中可能隐藏的风险与挑.............
  • 回答
    翟天临道歉信的评价与北电风波的走向:一次深入的剖析翟天临的道歉信,在当时“学术不端”风波的核心时期,无疑是一封备受瞩目的信件。它的内容、动机、以及带来的影响,至今仍然是讨论的焦点。要评价这封道歉信,我们需要从多个维度进行审视。 翟天临道歉信的评价:是真诚的悔过还是策略性的回应?从表面上看,翟天临的道.............
  • 回答
    2018年的天猫“双十一”,最终以2135亿元的总成交额定格,这个数字在当时无疑是令人瞩目的。要评价这个成绩,我们可以从几个不同的维度去审视,不仅仅是数字本身,还有它背后所代表的意义和影响。首先,从数字上看,2135亿是一个“新高”,但增速的“拐点”也悄然出现。在那个时候,我们习惯了双十一成交额的“.............
  • 回答
    呆呆,国内麻将圈里一个响亮的名字,想必很多关注天凤的牌友都不会陌生。他曾经是那颗闪耀的准九段之星,以其精湛的牌技和独特的打法,在无数对局中留下了自己的印记。然而,最近大家注意到,这位曾经的顶尖玩家,似乎跌出了大家熟悉的那个段位,掉到了五段。这个消息一出来,圈子里自然是炸开了锅,议论纷纷。说实话,听到.............
  • 回答
    2019年,清华大学施路平团队发布的“天机芯”在《自然》(Nature)杂志上占据封面,无疑是学术界和科技界的一件大事。这不仅仅是因为这是一款“类脑芯片”,更在于它所代表的“异构融合”的全新范式,以及其背后所蕴含的巨大潜力。“天机芯”的“异构融合”:颠覆性的设计理念在此之前,类脑芯片的研究大多集中在.............
  • 回答
    评价罗天远与知乎“理性派HiFi”专栏文章在HiFi设备上的观点,需要我们深入剖析他们各自的出发点、论证逻辑以及最终指向。这两者虽然都聚焦于HiFi领域,但角度和侧重点却可能存在显著差异,从而形成独特的评价空间。罗天远的HiFi观点评价:首先,理解罗天远(如果指的是一位具体的音频爱好者或从业者)的观.............
  • 回答
    《天降锦鲤》这款作品,初看之下,它似乎是那种王道到不能再王道的“后宫”题材Galgame。故事围绕着一个普通到不能再普通的男主角展开,某天,他的生活中突然闯入了一位与众不同的少女。这位少女,就像她的名字“锦鲤”一样,似乎自带好运光环,而她与男主角的相遇,也从此改变了他平淡无奇的人生。乍一看,这设定仿.............
  • 回答
    孙天行和孙粤行,这对兄弟的名字,在某些圈子里或许并不陌生。他们身上有着相似的印记,但也各自走出了截然不同的轨迹。要评价他们,不能简单地贴标签,而是需要深入了解他们各自的成长经历、性格特点以及所做出的选择。先说说孙天行。从他早年的经历来看,他似乎是一个更注重实际、脚踏实地的人。他的成功,更多地体现在稳.............
  • 回答
    评价俞天任(冰冷雨天)这个人,得从几个维度来掰开了说,不能一概而论,也不能简单地贴标签。他是一个在互联网上活跃了很久,留下不少痕迹的人物,有人追捧,也有人批评,这本身就说明他不是一个普通、脸谱化的人物。首先,从他的内容创作来看:俞天任最为人熟知的身份,大概就是那个以“冰冷雨天”为笔名,在知乎、微博等.............
  • 回答
    《天启预报》这部漫画,刚开始看的时候,我以为又是那种俗套的末世+异能的组合,毕竟近几年这类题材的作品层出不穷。但随着剧情的深入,我发现它远比我想象的要复杂和有意思得多。首先,它的世界观构建可以说是相当扎实且别出心裁。不是简单的丧尸爆发或者外星入侵,而是以一场名为“天启”的神秘事件为开端,彻底颠覆了人.............
  • 回答
    淘宝天猫总裁蒋凡“高层次人才”资格被中止:一场公众视野下的规则审视蒋凡,这位曾经风光无限的阿里系年轻高管,其“杭州高层次人才”的认定资格被中止一事,无疑在公众视野中掀起了一阵不小的涟漪。这不仅仅是一个关于个人资格的事件,更是一次对人才认定机制、企业社会责任以及公众期望的深层审视。要评价此事,我们需要.............
  • 回答
    《天注定》这部电影,得说,看完之后,心里五味杂陈,久久不能平静。贾樟柯导演这次是豁出去了,把中国社会当下的一些尖锐问题,赤裸裸地、不加掩饰地端到了观众面前。这不像我们平常看的那些温情脉脉或者讲道理的电影,它更像是一记闷棍,打在你身上,让你不得不去思考。首先,电影的结构非常有意思。它选取了四个看似独立.............
  • 回答
    2021年的天猫双十一全球狂欢夜,用“热闹有余,惊喜不足”来形容,大概再合适不过了。作为电商年度盛事,它总能汇集顶流明星和品牌,用一场视听盛宴来点燃消费者的购物激情。但细究起来,这场晚会确实没能完全达到人们的期待。先说优点,也是它能吸引无数眼球的基础。 明星阵容依旧闪耀: 晚会最直观的吸引力当然.............
  • 回答
    罗永浩关于天猫商城造假事件的回应,以及与锤子科技“没有一丝一毫的关系”这个表态,我们可以从几个维度来细致地解读。这其中不仅仅是一个简单的声明,更是一次典型的公关操作,包含了信息切割、责任规避、以及为未来铺路等多重考量。首先,我们要明确这个事件的背景。罗永浩在直播带货领域一直以“交个朋友”直播间作为重.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有