不卡一区二区三区四区_乱中年女人伦av一区二区_美洲天堂一区二卡三卡四卡视频 _国产一区在线精品_91精品国产品国语在线不卡_99在线精品视频_99这里都是精品_国产99久久精品_99re成人在线_亚洲二区在线视频_久久先锋资源网_国产69精品久久久久毛片_亚洲一区二区三区视频在线_91小视频免费观看_欧美制服丝袜第一页_欧美日韩视频在线一区二区

您現在所在的位置:首頁 >關于奇酷 > 行業動態 > PyTorch 2.0發布了!一行代碼提速76%

PyTorch 2.0發布了!一行代碼提速76%

來源:奇酷教育 發表于:

PyTorch 2 0發布了!一行代碼提速76%

  12月2日,PyTorch 2.0正式發布!

 
  這次的更新不僅將PyTorch的性能推到了新的高度,同時也加入了對動態形狀和分布式的支持。
 
  此外,2.0系列還會將PyTorch的部分代碼從C++移回Python。
 
  
 
  目前,PyTorch 2.0還處在測試階段,預計第一個穩定版本會在2023年3月初面世。
 
  PyTorch 2.x:更快、更Python!
 
  在過去的幾年里,PyTorch從1.0到最近的1.13進行了創新和迭代,并轉移到新成立的PyTorch基金會,成為Linux基金會的一部分。
 
  當前版本的PyTorch所面臨的挑戰是,eager-mode難以跟上不斷增長的GPU帶寬和更瘋狂的模型架構。
 
  而PyTorch 2.0的誕生,將從根本上改變和提升了PyTorch在編譯器級別下的運行方式。
 
  眾所周知,PyTorch中的(Py)來自于數據科學中廣泛使用的開源Python編程語言。
 
  然而,PyTorch的代碼卻并沒有完全采用Python,而是把一部分交給了C++。
 
  不過,在今后的2.x系列中,PyTorch項目團隊計劃將與torch.nn有關的代碼移回到Python中。
 
  除此之外,由于PyTorch 2.0是一個完全附加的(和可選的)功能,因此2.0是100%向后兼容的。
 
  也就是說,代碼庫是一樣的,API也是一樣的,編寫模型的方式也是一樣的。
 
  更多的技術支持
 
  TorchDynamo
 
  使用Python框架評估鉤子安全地捕獲PyTorch程序,這是團隊5年來在graph capture方面研發的一項重大創新。
 
  AOTAutograd
 
  重載了PyTorch的autograd引擎,作為一個追蹤的autodiff,用于生成超前的反向追蹤。
 
  PrimTorch
 
  將約2000多個PyTorch運算符歸納為約250個原始運算符的封閉集,開發人員可以針對這些運算符構建一個完整的PyTorch后端。大大降低了編寫PyTorch功能或后端的障礙。
 
  TorchInductor
 
  一個深度學習編譯器,可以為多個加速器和后端生成快速代碼。對于英偉達的GPU,它使用OpenAI Triton作為關鍵構建模塊。
 
  值得注意的是,TorchDynamo、AOTAutograd、PrimTorch和TorchInductor都是用Python編寫的,并支持動態形狀。
 
  更快的訓練速度
 
  通過引入新的編譯模式「torch.compile」,PyTorch 2.0用一行代碼,就可以加速模型的訓練。
 
  這里不用任何技巧,只需運行torch.compile()即可,僅此而已:
 
  opt_module = torch.compile(module)
 
  為了驗證這些技術,團隊精心打造了測試基準,包括圖像分類、物體檢測、圖像生成等任務,以及各種NLP任務,如語言建模、問答、序列分類、推薦系統和強化學習。其中,這些基準可以分為三類:
 
  來自HuggingFace Transformers的46個模型
 
  來自TIMM的61個模型:Ross Wightman收集的最先進的PyTorch圖像模型
 
  來自TorchBench的56個模型:github的一組流行代碼庫
 
  測試結果表明,在這163個跨越視覺、NLP和其他領域的開源模型上,訓練速度得到了38%-76%的提高。
 
  
 
  在NVIDIA A100 GPU上的對比
 
  此外,團隊還在一些流行的開源PyTorch模型上進行了基準測試,并獲得了從30%到2倍的大幅加速。
 
  開發者Sylvain Gugger表示:「只需添加一行代碼,PyTorch 2.0就能在訓練Transformers模型時實現1.5倍到2.0倍的速度提升。這是自混合精度訓練問世以來最令人興奮的事情!」
 
  團隊之所以稱它為 2.0,是因為它有一些標志性的新特性,包括:
 
  TorchDynamo 可以從字節碼分析生成 FX 圖;
 
  AOTAutograd 可以以 ahead-of-time 的方式生成反向圖;
 
  PrimTorch 引入了一個小型算子集,使后端更容易;
 
  TorchInductor:一個由 OpenAI Triton 支持的 DL 編譯器。
 
  PyTorch 2.0 將延續 PyTorch 一貫的優勢,包括 Python 集成、命令式風格、API 簡單等等。此外,PyTorch 2.0 提供了相同的 eager-mode 開發和用戶體驗,同時從根本上改變和增強了 PyTorch 在編譯器級別的運行方式。該版本能夠為「Dynamic Shapes」和分布式運行提供更快的性能和更好的支持。
 
  在官方博客中,PyTorch團隊還公布了他們對于整個2.0系列的展望:
 
 
 
  以下是詳細內容。
 
  PyTorch 2.X:速度更快、更加地 Python 化、一如既往地 dynamic
 
  PyTorch 2.0 官宣了一個重要特性——torch.compile,這一特性將 PyTorch 的性能推向了新的高度,并將 PyTorch 的部分內容從 C++ 移回 Python。torch.compile 是一個完全附加的(可選的)特性,因此 PyTorch 2.0 是 100% 向后兼容的。
 
  支撐 torch.compile 的技術包括研發團隊新推出的 TorchDynamo、AOTAutograd、PrimTorch 和 TorchInductor。
 
  TorchDynamo 使用 Python Frame Evaluation Hooks 安全地捕獲 PyTorch 程序,這是一項重大創新,是研究團隊對快速可靠地獲取圖進行 5 年研發的結果;
 
  AOTAutograd 重載 PyTorch 的 autograd 引擎作為一個跟蹤 autodiff,用于生成 ahead-of-time 向后跟蹤;
 
  PrimTorch 將約 2000 多個 PyTorch 算子規范化為一組約 250 個原始算子的閉集,開發人員可以將其作為構建完整 PyTorch 后端的目標。這大大降低了編寫 PyTorch 特性或后端的障礙;
 
  TorchInductor 是一種深度學習編譯器,可為多個加速器和后端生成快速代碼。對于 NVIDIA GPU,它使用 OpenAI Triton 作為關鍵構建塊。
 
  TorchDynamo、AOTAutograd、PrimTorch 和 TorchInductor 是用 Python 編寫的,并支持 dynamic shapes(即能夠發送不同大小的張量而無需重新編譯),這使得它們具備靈活、易于破解的特性,降低了開發人員和供應商的使用門檻。
 
  為了驗證這些技術,研發團隊在各種機器學習領域測試了 163 個開源模型。實驗精心構建了測試基準,包括各種 CV 任務(圖像分類、目標檢測、圖像生成等)、NLP 任務(語言建模、問答、序列分類、推薦系統等)和強化學習任務,測試模型主要有 3 個來源:
 
  46 個來自 HuggingFace Transformers 的模型;
 
  來自 TIMM 的 61 個模型:一系列 SOTA PyTorch 圖像模型;
 
  來自 TorchBench 的 56 個模型:包含來自 github 的精選流行代碼庫。
 
  然后研究者測量加速性能并驗證這些模型的準確性。加速可能取決于數據類型,研究團隊選擇測量 float32 和自動混合精度 (AMP) 的加速。
 
  在 163 個開源模型中,torch.compile 在 93% 的情況下都有效,模型在 NVIDIA A100 GPU 上的訓練速度提高了 43%。在 float32 精度下,它的平均運行速度提高了 21%,而在 AMP 精度下,它的運行速度平均提高了 51%。
 
  目前,torch.compile 還處于早期開發階段,預計 2023 年 3 月上旬將發布第一個穩定的 2.0 版本。
 
  TorchDynamo:快速可靠地獲取圖
 
  TorchDynamo 是一種使用 Frame Evaluation API (PEP-0523 中引入的一種 CPython 特性)的新方法。研發團隊采用數據驅動的方法來驗證其在 Graph Capture 上的有效性,并使用 7000 多個用 PyTorch 編寫的 Github 項目作為驗證集。TorchScript 等方法大約在 50% 的時間里都難以獲取圖,而且通常開銷很大;而 TorchDynamo 在 99% 的時間里都能獲取圖,方法正確、安全且開銷可忽略不計(無需對原始代碼進行任何更改)。這說明 TorchDynamo 突破了多年來模型權衡靈活性和速度的瓶頸。
 
  TorchInductor:使用 define-by-run IR 快速生成代碼
 
  對于 PyTorch 2.0 的新編譯器后端,研發團隊從用戶編寫高性能自定義內核的方式中汲取靈感:越來越多地使用 Triton 語言。此外,研究者還想要一個編譯器后端——使用與 PyTorch eager 類似的抽象,并且具有足夠的通用性以支持 PyTorch 中廣泛的功能。
 
  TorchInductor 使用 pythonic define-by-run loop level IR 自動將 PyTorch 模型映射到 GPU 上生成的 Triton 代碼和 CPU 上的 C++/OpenMP。TorchInductor 的 core loop level IR 僅包含約 50 個算子,并且是用 Python 實現的,易于破解和擴展。
 
  AOTAutograd:將 Autograd 重用于 ahead-of-time 圖
 
  PyTorch 2.0 的主要特性之一是加速訓練,因此 PyTorch 2.0 不僅要捕獲用戶級代碼,還要捕獲反向傳播。此外,研發團隊還想要復用現有的經過實踐檢驗的 PyTorch autograd 系統。AOTAutograd 利用 PyTorch 的 torch_dispatch 可擴展機制來跟蹤 Autograd 引擎,使其能夠「ahead-of-time」捕獲反向傳遞(backwards pass)。這使 TorchInductor 能夠加速前向和反向傳遞。
 
  PrimTorch:穩定的原始算子
 
  為 PyTorch 編寫后端具有挑戰性。PyTorch 有 1200 多個算子,如果考慮每個算子的各種重載,則有 2000 多個。
 
  在 PrimTorch 項目中,研發團隊致力于定義更小且穩定的算子集,將 PyTorch 程序縮減到這樣較小的算子集。目標是定義兩個算子集:
 
  Prim ops:約有 250 個相當低級的算子。這些算子適用于編譯器,需要將它們重新融合在一起以獲得良好的性能;
 
  ATen ops:約有 750 個規范算子。這些算子適用于已經在 ATen 級別集成的后端或沒有編譯功能的后端(無法從較低級別的算子集(如 Prim ops)恢復性能)。
 

不卡一区二区三区四区_乱中年女人伦av一区二区_美洲天堂一区二卡三卡四卡视频 _国产一区在线精品_91精品国产品国语在线不卡_99在线精品视频_99这里都是精品_国产99久久精品_99re成人在线_亚洲二区在线视频_久久先锋资源网_国产69精品久久久久毛片_亚洲一区二区三区视频在线_91小视频免费观看_欧美制服丝袜第一页_欧美日韩视频在线一区二区
美女一区二区在线观看| 亚洲男同1069视频| 欧美在线视频全部完| 中文字幕不卡每日更新1区2区| 欧美国产一二三区| 先锋影音网一区| 在线精品视频一区二区| 欧美另类一区二区三区| 日韩一区二区三区观看| 久久色视频免费观看| 国产精品乱码人人做人人爱| 亚洲综合激情另类小说区| 免费看日韩a级影片| 国产91丝袜在线播放| 91成人伦理在线电影| 奇米视频888战线精品播放| 色婷婷综合久久久久中文一区二区| 欧美日韩另类国产亚洲欧美一级| 精品国产一区二区亚洲人成毛片| 国产精品日日摸夜夜摸av| 亚洲国产另类精品专区| 国产一区二区日韩精品| av一区观看| 一本色道久久综合亚洲精品按摩| 91精品国产色综合久久久蜜香臀| 国产午夜亚洲精品午夜鲁丝片 | 亚洲午夜电影在线| 精品一区二区三区免费观看 | 日本丶国产丶欧美色综合| 精品久久久三级丝袜| 中文字幕欧美一区| 美女爽到高潮91| 97aⅴ精品视频一二三区| 日本视频一区二区不卡| 欧美精品乱码久久久久久按摩| 国产欧美日韩一区二区三区在线观看 | 欧美色区777第一页| 国产欧美日韩卡一| 丝袜a∨在线一区二区三区不卡| 成人在线视频一区二区| 欧美日本国产精品| 日韩一二三区视频| 一区二区三区在线免费播放| 高清在线不卡av| 日本一区二区精品视频| 欧美tk丨vk视频| 三级久久三级久久| 成人免费在线看片| 欧美日韩国产在线播放网站| 亚洲欧美激情视频在线观看一区二区三区| 国产美女av一区二区三区| 热舞福利精品大尺度视频| 日韩一区二区三区四区 | 一区二区三区中文免费| 成人网男人的天堂| 中文字幕99| 自拍视频在线观看一区二区| 成人午夜伦理影院| 色综合久久88色综合天天6| 中文字幕在线观看不卡| 国产成人鲁色资源国产91色综| 日韩国产欧美精品| 久久精品亚洲麻豆av一区二区| 久久er精品视频| 日韩精品无码一区二区三区| 久久精品网站免费观看| 九色porny丨国产精品| 日韩精品一区二区三区色偷偷 | 久久免费电影网| 久久机这里只有精品| 日本视频一区在线观看| 中文无字幕一区二区三区| 成人一道本在线| 欧美男人的天堂一二区| 视频一区二区国产| 视频一区二区在线| 怡红院av一区二区三区| 国产精品毛片va一区二区三区| 欧美一级免费观看| 国产一区二区三区香蕉| 欧美亚洲一区三区| 日韩主播视频在线| 一区二区三区久久网| 一区二区三区四区激情| 国产精品国产精品| 久久精品一级爱片| 91香蕉视频污在线| 26uuu亚洲综合色| 成人av在线资源网| 精品国产一区二区三区av性色| 国产一区二区三区美女| 欧美日韩大陆一区二区| 精品一区二区免费看| 在线免费观看成人短视频| 日韩av一二三| 在线精品观看国产| 另类专区欧美蜜桃臀第一页| 欧美亚洲图片小说| 精品系列免费在线观看| 欧美日韩国产成人在线91| 久久黄色级2电影| 7777精品伊人久久久大香线蕉最新版 | 色综合视频二区偷拍在线| 洋洋av久久久久久久一区| 丝袜美腿玉足3d专区一区| 天涯成人国产亚洲精品一区av| 色综合天天综合网天天狠天天| 丝瓜av网站精品一区二区| 欧洲一区二区av| 国产成人在线视频免费播放| 日韩一区二区免费高清| 91在线小视频| 中文字幕av在线一区二区三区| 国产成人精品免费视频大全最热| 一区在线观看视频| 日韩国产美国| 久久国产视频网| 日韩亚洲国产中文字幕欧美| 99视频在线观看一区三区| 欧美国产日本韩| 日本高清不卡三区| 麻豆国产欧美一区二区三区| 日韩一区二区不卡| 国产精品国产三级欧美二区| 亚洲综合网站在线观看| 欧美中文字幕久久| 盗摄精品av一区二区三区| 国产日产欧产精品推荐色| 欧美日韩国产一二| 狠狠色狠狠色综合系列| 国产视频视频一区| 五月天亚洲综合情| 国产成人欧美日韩在线电影| 中文字幕成人av| 一本色道久久综合亚洲精品按摩| 丁香婷婷综合色啪| 亚洲色图另类专区| 在线观看日韩电影| 91一区二区在线观看| 亚洲自拍另类综合| 欧美一区二区私人影院日本| 国产精品久久久久久久久婷婷| 亚洲在线观看免费| 日韩女优毛片在线| 欧美一区二区三区在线播放| 国产精品一区不卡| 一区免费观看视频| 欧美丰满一区二区免费视频| 国产v亚洲v天堂无码| 老司机精品视频一区二区三区| 国产午夜精品一区二区| 一本色道久久加勒比精品 | 精品综合久久| 国产一区二区三区在线观看精品| 日本一二三不卡| 欧美视频自拍偷拍| 精品午夜一区二区| 国产一区不卡在线| 亚洲一区在线播放| 久久久久久久久蜜桃| 色视频一区二区| 精品国产乱码久久久久| 国产剧情av麻豆香蕉精品| 亚洲靠逼com| 337p粉嫩大胆噜噜噜噜噜91av| 一区二区在线观| 国产精品视频500部| 国产九色sp调教91| 亚洲va国产va欧美va观看| 久久久精品免费网站| 91福利精品视频| 精品一区久久久| 成人福利视频在线看| 免费观看在线综合色| 亚洲激情av在线| 中文字幕av一区二区三区| 日韩一区二区视频在线观看| 色呦呦网站一区| 欧美一区二区在线视频观看| 91丨九色丨黑人外教| 国产精品一区二区三区网站| 亚洲va欧美va人人爽| 中文字幕一区免费在线观看| 日韩欧美国产1| 欧美性一二三区| 亚洲午夜精品一区二区| 精品综合在线| 99中文字幕| 成人精品视频一区二区三区尤物| 青青草原综合久久大伊人精品优势| 中文字幕视频一区| 亚洲国产成人在线| 久久夜色精品国产欧美乱极品| 欧美精品日日鲁夜夜添| 在线国产电影不卡| 一区精品视频| 亚洲图色在线| 亚洲欧美电影在线观看| 日韩在线三级| 欧美在线一二三区|