生活工程体验信仰哲学精神
投稿投诉
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

终结1。x时代,PyTorch2。0来了!100向后兼容,一

3月27日 相思宫投稿
  机器之心报道
  机器之心编辑部
  PyTorch官方:我们这次的新特性太好用了,所以就直接叫2。0了。
  前段时间,PyTorch团队在官方博客宣布Pytorch1。13发布,包含BetterTransformer稳定版等多项更新。在体验新特性的同时,不少人也在期待下一个版本的推出。
  出乎意料的是,这个新版本很快就来了,而且是跨越式的2。0版!
  新版本的重要进步体现在速度和可用性,而且完全向后兼容。PyTorch团队表示,PyTorch2。0是他们向2。x系列迈出的第一步,其稳定版预计在2023年3月初发布。
  首先,PyTorch2。0引入了torch。compile,这是一种编译模式,可以在不更改模型代码的情况下加速模型。在163个涵盖视觉、NLP和其他领域的开源模型中,该团队发现使用2。0可以将训练速度提高3876。
  其次,PyTorch2。0是100向后兼容的:代码库一样,API一样,写模型的方式也一样。团队之所以称它为2。0,是因为它有一些标志性的新特性,包括:
  TorchDynamo可以从字节码分析生成FX图;
  AOTAutograd可以以aheadoftime的方式生成反向图;
  PrimTorch引入了一个小型算子集,使后端更容易;
  TorchInductor:一个由OpenAITriton支持的DL编译器。
  PyTorch2。0将延续PyTorch一贯的优势,包括Python集成、命令式风格、API简单等等。此外,PyTorch2。0提供了相同的eagermode开发和用户体验,同时从根本上改变和增强了PyTorch在编译器级别的运行方式。该版本能够为DynamicShapes和分布式运行提供更快的性能和更好的支持。
  在官方博客中,PyTorch团队还公布了他们对于整个2。0系列的展望:
  以下是详细内容。
  PyTorch2。X:速度更快、更加地Python化、一如既往地dynamic
  PyTorch2。0官宣了一个重要特性torch。compile,这一特性将PyTorch的性能推向了新的高度,并将PyTorch的部分内容从C移回Python。torch。compile是一个完全附加的(可选的)特性,因此PyTorch2。0是100向后兼容的。
  支撑torch。compile的技术包括研发团队新推出的TorchDynamo、AOTAutograd、PrimTorch和TorchInductor。
  TorchDynamo使用PythonFrameEvaluationHooks安全地捕获PyTorch程序,这是一项重大创新,是研究团队对快速可靠地获取图进行5年研发的结果;
  AOTAutograd重载PyTorch的autograd引擎作为一个跟踪autodiff,用于生成aheadoftime向后跟踪;
  PrimTorch将约2000多个PyTorch算子规范化为一组约250个原始算子的闭集,开发人员可以将其作为构建完整PyTorch后端的目标。这大大降低了编写PyTorch特性或后端的障碍;
  TorchInductor是一种深度学习编译器,可为多个加速器和后端生成快速代码。对于NVIDIAGPU,它使用OpenAITriton作为关键构建块。
  TorchDynamo、AOTAutograd、PrimTorch和TorchInductor是用Python编写的,并支持dynamicshapes(即能够发送不同大小的张量而无需重新编译),这使得它们具备灵活、易于破解的特性,降低了开发人员和供应商的使用门槛。
  为了验证这些技术,研发团队在各种机器学习领域测试了163个开源模型。实验精心构建了测试基准,包括各种CV任务(图像分类、目标检测、图像生成等)、NLP任务(语言建模、问答、序列分类、推荐系统等)和强化学习任务,测试模型主要有3个来源:
  46个来自HuggingFaceTransformers的模型;
  来自TIMM的61个模型:一系列SOTAPyTorch图像模型;
  来自TorchBench的56个模型:包含来自github的精选流行代码库。
  然后研究者测量加速性能并验证这些模型的准确性。加速可能取决于数据类型,研究团队选择测量float32和自动混合精度(AMP)的加速。
  在163个开源模型中,torch。compile在93的情况下都有效,模型在NVIDIAA100GPU上的训练速度提高了43。在float32精度下,它的平均运行速度提高了21,而在AMP精度下,它的运行速度平均提高了51。
  目前,torch。compile还处于早期开发阶段,预计2023年3月上旬将发布第一个稳定的2。0版本。
  TorchDynamo:快速可靠地获取图
  TorchDynamo是一种使用FrameEvaluationAPI(PEP0523中引入的一种CPython特性)的新方法。研发团队采用数据驱动的方法来验证其在GraphCapture上的有效性,并使用7000多个用PyTorch编写的Github项目作为验证集。TorchScript等方法大约在50的时间里都难以获取图,而且通常开销很大;而TorchDynamo在99的时间里都能获取图,方法正确、安全且开销可忽略不计(无需对原始代码进行任何更改)。这说明TorchDynamo突破了多年来模型权衡灵活性和速度的瓶颈。
  TorchInductor:使用definebyrunIR快速生成代码
  对于PyTorch2。0的新编译器后端,研发团队从用户编写高性能自定义内核的方式中汲取灵感:越来越多地使用Triton语言。此外,研究者还想要一个编译器后端使用与PyTorcheager类似的抽象,并且具有足够的通用性以支持PyTorch中广泛的功能。
  TorchInductor使用pythonicdefinebyrunlooplevelIR自动将PyTorch模型映射到GPU上生成的Triton代码和CPU上的COpenMP。TorchInductor的corelooplevelIR仅包含约50个算子,并且是用Python实现的,易于破解和扩展。
  AOTAutograd:将Autograd重用于aheadoftime图
  PyTorch2。0的主要特性之一是加速训练,因此PyTorch2。0不仅要捕获用户级代码,还要捕获反向传播。此外,研发团队还想要复用现有的经过实践检验的PyTorchautograd系统。AOTAutograd利用PyTorch的torchdispatch可扩展机制来跟踪Autograd引擎,使其能够aheadoftime捕获反向传递(backwardspass)。这使TorchInductor能够加速前向和反向传递。
  PrimTorch:稳定的原始算子
  为PyTorch编写后端具有挑战性。PyTorch有1200多个算子,如果考虑每个算子的各种重载,则有2000多个。
  在PrimTorch项目中,研发团队致力于定义更小且稳定的算子集,将PyTorch程序缩减到这样较小的算子集。目标是定义两个算子集:
  Primops:约有250个相当低级的算子。这些算子适用于编译器,需要将它们重新融合在一起以获得良好的性能;
  ATenops:约有750个规范算子。这些算子适用于已经在ATen级别集成的后端或没有编译功能的后端(无法从较低级别的算子集(如Primops)恢复性能)。
  用户体验
  PyTorch2。0引入了一个简单的函数torch。compile,它会返回一个编译后的模型。
  compiledmodeltorch。compile(model)
  compiledmodel保存对模型的引用,并将forward函数编译为一个更优化的版本。在编译模型时,PyTorch2。0给了几项设置来调整它:
  deftorch。compile(model:Callable,,mode:Optional〔str〕default,dynamic:boolFalse,fullgraph:boolFalse,backend:Union〔str,Callable〕inductor,advancedbackendoptionsgohereaskwargskwargs)torch。dynamo。NNOptimizedModule
  mode指定编译器在编译时应该优化的内容。
  default是一种预设模式,它试图在不花费太长时间或使用额外内存的情况下高效编译。
  其他模式,如reduceoverhead,可以大大降低框架开销,但要消耗少量额外内存。maxautotune编译很长时间,试图为你提供它所能生成的最快的代码。
  dynamic模式指定是否为DynamicShapes启用代码路径。某些编译器优化不能应用于动态形状的程序。明确你想要一个带有动态形状还是静态形状的编译程序,将有助于编译器提供更好的优化代码。
  fullgraph类似于Numba的nopython。它将整个程序编译成一个图,或者给出一个错误提示,解释为什么它不能这样做。大多数用户不需要使用这种模式。如果你非常注重性能,那么你可以尝试使用它。
  backend指定使用哪个编译器后端。默认情况下使用TorchInductor,但还有其他一些可用的工具。
  编译体验想要在默认模式中提供最大的好处和最大的灵活性。
  常见问答
  1、什么是PT2。0?
  2。0是最新的PyTorch版本。PyTorch2。0提供相同的eager模式开发体验,同时通过torch。compile添加编译模式。这种编译模式有可能在训练和推理期间加速模型。
  2、为什么是2。0而不是1。14?
  PyTorch2。0就是计划中的1。14。我们发布了大量新特性,我们相信这些新特性会改变用户使用PyTorch的方式,因此称其为PyTorch2。0。
  3、如何安装2。0?有什么额外要求吗?
  安装最新的nightlies:
  CUDA11。7
  pip3installnumpypretorch〔dynamo〕torchvisiontorchaudioforcereinstallextraindexurlhttps:download。pytorch。orgwhlnightlycu117
  CUDA11。6
  pip3installnumpypretorch〔dynamo〕torchvisiontorchaudioforcereinstallextraindexurlhttps:download。pytorch。orgwhlnightlycu116
  CPU
  pip3installnumpypretorchtorchvisiontorchaudioforcereinstallextraindexurlhttps:download。pytorch。orgwhlnightlycpu
  4、2。0代码是否向后兼容1。X?
  是的,使用2。0不需要修改PyTorch工作流程。一行代码modeltorch。compile(model)就可以优化模型,以使用2。0堆栈,并与其余PyTorch代码一起顺利运行。这是一个可选择项,不需要使用新的编译器。
  5、默认启用2。0吗?
  不,必须通过使用单个函数调用优化模型从而在PyTorch代码中显式启用2。0。
  6、如何将PT1。X代码迁移到PT2。0?
  代码应该按原样工作,无需任何迁移。如果想使用2。0中引入的新编译模式特性,那么可以从优化模型开始:
  modeltorch。compile(model)
  虽然加速主要是在训练期间观察到的,但如果你的模型运行速度比eager模式快,也可以将它用于推理。
  importtorchdeftrain(model,dataloader):modeltorch。compile(model)forbatchindataloader:runepoch(model,batch)definfer(model,input):modeltorch。compile(model)returnmodel(input)
  7、是否有任何不该使用PT2。0的应用程序?
  当前版本的PT2。0仍处于实验阶段,并且处于nightlies版本。其中的动态形状支持还处于早期阶段,所以可以等到2023年3月稳定版发布后再使用该功能。
  8、运行PyTorch2。0时,代码有何不同?
  开箱即用,PyTorch2。0与PyTorch1。x相同,模型以eager模式运行,即Python的每一行都逐个执行。
  在2。0中,如果用modeltorch。compile(model)将模型打包,则模型在执行之前会经过3个步骤:
  1)图获取:首先将模型重写为子图块。可由TorchDynamo编译的子图被压平,其他子图(可能包含控制流代码或其他不受支持的Python结构)将回退到Eager模式。
  2)Graphlowering:所有PyTorch操作都被分解为特定于所选后端的组成内核。
  3)图编译,内核调用其相应的低级设备专用操作。
  9、2。0目前支持哪些编译器后端?
  默认和最完整的后端是TorchInductor,但是TorchDynamo有一个不断增长的后端列表,可以通过调用torchdynamo。listbackends()。找到
  10、2。0版本的分布式训练能力如何?
  Compiled模式下的DDP和FSDP,比FP32中的Eager模式快15、AMP精度快80。PT2。0做了一些额外的优化,以确保DDP的通信计算overlap与Dynamo的部分图创建良好协作。想要确保使用staticgraphFalse运行DDP,更多细节参见:https:devdiscuss。pytorch。orgttorchdynamoupdate9makingddpworkwithtorchdynamo860
  11、为什么我的代码用2。0的CompiledModel运行变慢?
  性能下降最可能的原因是graphbreak太多。例如,类似模型前向trigger中的输出语句这样的东西会触发graphbreak。详见:https:pytorch。orgdocsmasterdynamofaq。htmlwhyaminotseeingspeedups
  12、以前运行的代码在2。0中崩溃了,该如何调试?
  参见:https:pytorch。orgdocsmasterdynamofaq。htmlwhyismycodecrashing
  参考链接:https:pytorch。orggetstartedpytorch2。0
  亚马逊云科技深度学习实战训练营
  对于刚入行的开发者来说,上手深度学习并不总是一件容易的事。
  想要短期提升上手能力?机器之心联合亚马逊云科技开设《深度学习实战训练营》线上实战营。实战营为期3周,共6次课程,还有6次课后作业,实战营期间讲师将在答疑群中随时解决同学的疑问,全程免费,欢迎希望上手实操深度学习的同学加入学习。
  11月22日开营,请参与的同学务必扫码加入课后答疑群,亚马逊云科技账号注册、学习疑问、作业提交等详情均在答疑群中为大家说明。
  最后附上实战营日程安排:
  THEEND
  转载请联系本公众号获得授权
  投稿或寻求报道:contentjiqizhixin。com
投诉 评论 转载

三星第4代继承人李智昊:被嘲是扶不起的阿斗,被顶级高中劝退热 三星集团后继无人?李在镕长子李智昊生性顽劣,女儿朝艺术发展引言。有句老话说富不过三代!这句话虽说并不完全正确,但放在许多豪门中,都很适用,甚至哪怕是在韩国的顶级豪门……这种像牛粪一样的东西,竟是苏格兰威士忌的风味来源热闻聚热点网 泥煤是由沼泽植物在地底经过数千年堆积而形成的泥炭。含有大量水分和未被彻底分解的植物残体、腐殖质以及一部分矿物质。泥煤可以说是煤的初级状态,如果有更长的时间、温度和压力,就会慢慢……腾讯视频推出重生爽剧,热度破万,男女主演技在线颜值惊艳热闻聚 想必现在的追剧大军中都有一个不成文规定,那就是能选择倍速绝对不用原速观看,这主要是为了迎合现在大型电视剧剧情拖沓的现状。再加上在快节奏的当下,越来越多短小精悍的短视频成为……Mlxg回顾过往荣誉,近30个奖项太豪华,这就是昔日最佳打野 苦瓜原创,翻版必究!《苦瓜电竞》让你体验不一样的电竞主播圈!提到Mlxg,相信只要你是LPL粉丝,那就会非常熟悉,特别是RNG真爱粉,对Mlxg更加是熟悉的不行,毕……年末大黑马!《小儿子》收视破《禹英禑》纪录韩网点1时期赞太强 记者张筱涵综合报导韩剧《非常律师禹英禑》于年中播出,从0。9开播到最后创下17。5超高收视率,可说是今年的一大黑马。没想到年末再冲出一部话题韩剧,《财阀家的小儿子》从6开……容易被坏男人撩到手的女人,大都有这些“共性”,十有九准热传聚 文叶飞飞yff图源于网络我是叶飞飞yff,一个非著名情感导师,写走心的情感文字,希望用有温度的文字,给你带来一些心灵上的慰藉。在感情里,女人都怕遇人渣男,担心……奶茶店长对女高中生一见钟情热文聚热点网 丈夫阿丁是土生土长的山村小伙,而任妻子小月则不顾父母反对,义无反顾地嫁到偏僻山村。在短视频里丈夫阿丁整天大呼小叫,妻子小月却始终温柔如水,可就是这样一对怎么看怎么不般配的夫妻,……【歌词】旧约以西结书(结)第1章歌手:圣经旧约热传聚热点网 当三十年四月初五日,以西结(原文作“我”)在迦巴鲁河边,被掳的人中,天就开了,得见神的异象。正是约雅斤王被掳去第五年四月初五日。在迦勒底人之地,迦巴鲁河边。耶和华的……深圳民事律师老公赌博欠债妻子要帮忙还吗?热文聚热点网 问:深圳民事律师老公赌博欠债妻子要帮忙还吗?律师解答:老公赌博欠债妻子要帮忙还吗?老公赌博而欠下的债务,并没有用于家庭生活,那么就不是共同债务,妻子也没有义务……强动能促发展稳工业组合措施为企业蓄力热博聚热点网 保障重点企业稳定生产、重点产业链供应链稳定畅通;抓好惠企政策落实,分企施策提升企业活力;推动新一代信息技术与制造业深度融合,持续壮大新动能近段时间,多地多部门紧抓四季度这一关键……终结1。x时代,PyTorch2。0来了!100向后兼容,一 机器之心报道机器之心编辑部PyTorch官方:我们这次的新特性太好用了,所以就直接叫2。0了。前段时间,PyTorch团队在官方博客宣布Pytorch1。13……【歌词】任凭摆布歌手:阿桑热文聚热点网 任凭摆布阿桑任凭摆布专辑:受了点伤词:阿桑曲:汪一平编曲:钟兴民我无心退出只怕他收步又怕伤了谁却没有安慰糊里糊涂就这么任凭摆布除了爱呢……
食谱收啦一夜渍,给你七天不重样!热传聚热点网 灵魂摆渡1剧情介绍?热博聚热点网 什么是神话,神话的来源是什么?热议聚热点网 基础知识节气歌断热议聚热点网 意识的构成和表达意义之间不存在确定的联系热传聚热点网 网文写作:写什么爽点能持续久一些?看这里热议聚热点网 昂贵的作品研讨会热闻聚热点网 听听宽带师傅这样说:路由器多久要关闭一次?否则WiFi容易变 如何实现廉洁文化建设热博聚热点网 【歌词】桜雨歌手:SCAPEGOAT热闻聚热点网 负重前行8年,叮当快药被巨头踏破城墙热传聚热点网 飞机撞击地面时的速度与能量(最精准的分析)热议聚热点网
生肖吃醋排行榜男人比女人更小气【歌词】失去的爱无法回来歌手:阿原热议聚热点网 那道菜,让你想起妈妈的味道经常喝咖啡,到底对身体好不好?不敢喝咖啡的看看吧这些箭头怎么打出来中心校学年工作计划大爆冷!中国斯诺克新星30横扫奥沙利文,赵心童也轰出单杆14微信聊天只清空聊天记录,等于没删一样,教你怎样才能彻底清理大学励志文章女生励志散文薏米红豆粥的功效禁忌症是什么淋巴癌的早期症状(淋巴癌早期)防晒喷雾一瓶能用多久防晒喷雾用太久会怎么样

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西