成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PyTorch 2.0正式版發布!一行代碼提速2倍,100%向后兼容

人工智能
「PyTorch 2.0 體現了深度學習框架的未來。不需要用戶干預即可捕獲PyTorch 程序,開箱即用的程序生成,以及巨大的設備加速,這種可能性為人工智能開發人員打開了一個全新的維度。」

PyTorch 2.0正式版終于來了!

圖片

去年12月,PyTorch基金會在PyTorch Conference 2022上發布了PyTorch 2.0的第一個預覽版本。

跟先前1.0版本相比,2.0有了顛覆式的變化。在PyTorch 2.0中,最大的改進是torch.compile。

新的編譯器比以前PyTorch 1.0中默認的「eager mode」所提供的即時生成代碼的速度快得多,讓PyTorch性能進一步提升。

圖片

除了2.0之外,還發布了一系列PyTorch域庫的beta更新,包括那些在樹中的庫,以及包括 TorchAudio、TorchVision和TorchText在內的獨立庫。TorchX的更新也同時發布,可以提供社區支持模式。

圖片

亮點總結

-torch.compile是PyTorch 2.0的主要API,它包裝并返回編譯后的模型,torch.compile是一個完全附加(和可選)的特性,因此2.0版本是100%向后兼容的。

-作為torch.compile的基礎技術,帶有Nvidia和AMD GPU的TorchInductor將依賴OpenAI Triton深度學習編譯器來生成高性能代碼,并隱藏低級硬件細節。OpenAI Triton生成的內核實現的性能,與手寫內核和cublas等專門的cuda庫相當。

-Accelerated Transformers引入了對訓練和推理的高性能支持,使用自定義內核架構實現縮放點積注意力 (SPDA)。API與torch.compile () 集成,模型開發人員也可以通過調用新的scaled_dot_product_attention () 運算符,直接使用縮放的點積注意力內核。

-Metal Performance Shaders (MPS) 后端在Mac平臺上提供GPU加速的PyTorch訓練,并增加了對前60個最常用操作的支持,覆蓋了300多個操作符。

-Amazon AWS優化了基于AWS Graviton3的C7g實例上的PyTorch CPU推理。與之前的版本相比,PyTorch 2.0提高了Graviton的推理性能,包括對Resnet50和Bert的改進。

-跨TensorParallel、DTensor、2D parallel、TorchDynamo、AOTAutograd、PrimTorch和TorchInductor的新原型功能和技術。

圖片

編譯,還是編譯!

?PyTorch 2.0的最新編譯器技術包括:TorchDynamo、AOTAutograd、PrimTorch和TorchInductor。所有這些都是用Python開發的,而不是C++(Python與之兼容)。

并且還支持dynamic shape,無需重新編譯就能發送不同大小的向量,靈活且易學。

  • TorchDynamo?

它可以借助Python Frame Evaluation Hooks,安全地獲取PyTorch程序,這項重大創新是PyTorch過去 5 年來在安全圖結構捕獲 (safe graph capture) 方面的研發成果匯總。

  • AOTAutograd?

重載PyTorch autograd engine,作為一個 tracing autodiff,用于生成超前的backward trace。

  • PrimTorch?

將 2000+ PyTorch 算子歸納為約 250 個 primitive operator 閉集 (closed set),開發者可以針對這些算子構建一個完整的 PyTorch 后端。PrimTorch 大大簡化了編寫 PyTorch 功能或后端的流程。

  • TorchInductor?

TorchInductor一個深度學習編譯器,可以為多個加速器和后端生成 fast code。對于 NVIDIA GPU,它使用 OpenAI Triton 作為關鍵構建模塊。

PyTorch基金會稱,2.0的推出會推動「從C++回到Python」,并補充說這是PyTorch的一個實質性的新方向。

「從第一天起,我們就知道「eager execution」的性能限制。2017年7月,我們開始了第一個研究項目,為PyTorch開發一個編譯器。編譯器需要使PyTorch程序快速運行,但不能以PyTorch的體驗為代價,還要保留靈活易用性,這樣的話可以支持研究人員在不同探索階段使用動態的模型和程序。」

當然了,非編譯的「eager mode」使用動態即時代碼生成器,在2.0中仍然可用。開發者可以使用porch.compile命令迅速升級到編譯模式,只需要增加一行代碼。

用戶可以看到2.0的編譯時間比1.0提高43%。

這個數據來自PyTorch基金會在Nvidia A100 GPU上使用PyTorch 2.0對163個開源模型進行的基準測試,其中包括包括圖像分類、目標檢測、圖像生成等任務,以及各種 NLP 任務。

這些Benchmark分為三類:HuggingFace Tranformers、TIMM和TorchBench。

圖片

NVIDIA A100 GPU eager mode torch.compile 針對不同模型的提速表現

據PyTorch基金會稱,新編譯器在使用Float32精度模式時運行速度提高了21%,在使用自動混合精度(AMP)模式時運行速度提高了51%。

在這163個模型中,torch.compile可以在93%模型上正常運行。

「在PyTorch 2.x的路線圖中,我們希望在性能和可擴展性方面讓編譯模式越走越遠。有一些工作還沒有開始。有些工作因為帶寬不夠而辦法落地。」

圖片

訓練LLM提速2倍

此外,性能是PyTorch 2.0的另一個主要重點,也是開發人員一直不吝于宣傳的一個重點。

事實上,新功能的亮點之一是Accelerated Transformers,之前被稱為Better Transformers。

另外,PyTorch 2.0正式版包含了一個新的高性能PyTorch TransformAPI實現。

PyTorch項目的一個目標,是讓最先進的transformer模型的訓練和部署更加容易、快速。

Transformers是幫助實現現代生成式人工智能時代的基礎技術,包括GPT-3以及GPT-4這樣的OpenAI模型。

圖片

在PyTorch 2.0 Accelerated Transformers中,使用了自定義內核架構的方法(也被稱為縮放點積注意力SDPA),為訓練和推理提供高性能的支持。

由于有多種類型的硬件可以支持Transformers,PyTorch 2.0可以支持多個SDPA定制內核。更進一步,PyTorch集成了自定義內核選擇邏輯,將為給定的模型和硬件類型挑選最高性能的內核。

加速的影響非同小可,因為它有助于使開發人員比以前的PyTorch迭代更快地訓練模型。

新版本能夠實現對訓練和推理的高性能支持,使用定制的內核架構來處理縮放點積注意力(SPDA) ,擴展了推理的快速路徑架構。

與fastpath架構類似,定制內核完全集成到PyTorch TransformerAPI中--因此,使用本地Transformer和MultiHeadAttention API將使用戶能夠:

-看到速度明顯提升;

-支持更多的用例,包括使用交叉注意的模型、Transformer解碼器和訓練模型;

-繼續將快速路徑推理用于固定和可變序列長度的變形器編碼器和自注意力機制的用例。

為了充分利用不同的硬件模型和Transformer用例,支持多個SDPA自定義內核,自定義內核選擇邏輯將為特定模型和硬件類型挑選最高性能的內核。

除了現有的Transformer API,開發者還可以通過調用新的scaled_dot_product_attention()操作符直接使用縮放點積注意力關注內核,加速PyTorch 2 Transformers與torch.compile()集成。

為了在使用模型的同時,還能獲得PT2編譯的額外加速(用于推理或訓練),可以使用model = torch.compile(model)對模型進行預處理。

目前,已經使用自定義內核和torch.compile()的組合,在訓練Transformer模型,特別是使用加速的PyTorch 2 Transformer的大型語言模型方面取得實質性加速提升。

圖片

使用自定義內核和 torch.compile來提供對大型語言模型訓練顯著加速

HuggingFace Transformers的主要維護者Sylvain Gugger在PyTorch項目發表的一份聲明中寫道「只需添加一行代碼,PyTorch 2.0就能在訓練Transformers模型時提供1.5倍至2.0倍的速度。這是自混合精度訓練推出以來最令人興奮的事情!」

PyTorch和谷歌的TensorFlow是兩個最流行的深度學習框架。世界上有數千家機構正在使用PyTorch開發深度學習應用程序,而且它的使用量正在不斷增加。

PyTorch 2.0的推出將有助于加速深度學習和人工智能應用的發展,Lightning AI的首席技術官和PyTorch Lightning的主要維護者之一Luca Antiga表示:

「PyTorch 2.0 體現了深度學習框架的未來。不需要用戶干預即可捕獲PyTorch 程序,開箱即用的程序生成,以及巨大的設備加速,這種可能性為人工智能開發人員打開了一個全新的維度。」

參考資料:

??https://pytorch.org/blog/pytorch-2.0-release/??

??https://venturebeat.com/ai/pytorch-2-0-brings-new-fire-to-open-source-machine-learning/??

??https://www.datanami.com/2023/03/15/new-pytorch-2-0-compiler-promises-big-speedup-for-ai-developers/???


責任編輯:武曉燕 來源: 新智元
相關推薦

2012-02-21 09:40:59

Java

2012-07-02 10:40:24

GroovyJavaJVM

2011-09-14 10:08:16

MongoDB

2011-10-09 14:13:31

JavaFX

2011-12-16 09:12:16

java

2022-12-05 10:01:41

代碼模型

2012-03-08 22:31:28

Sencha Touc

2020-07-20 09:20:48

代碼geventPython

2023-08-14 07:42:01

模型訓練

2012-08-01 09:34:06

Apache CordPhoneGap 2.

2011-05-19 09:45:05

Opera 11.11

2011-09-14 13:28:36

PostgreSQL

2011-12-07 10:26:11

2011-12-12 09:56:19

CentOS 6.1發布

2011-01-26 09:37:49

LibreOffice

2012-04-27 10:17:50

JavaJavaFX

2013-03-11 14:13:06

JettyJava

2011-03-21 13:31:20

MyEclipse

2012-05-30 09:21:50

2011-05-25 09:30:05

Fedora 15
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久99视频这里只有精品 | 午夜资源| 欧美日韩久久精品 | 日韩三| 97色伦网| 日韩在线观看一区 | 伊人激情综合网 | 日本三级日产三级国产三级 | 一级片在线观看 | 日韩一| 日韩精品一区二区三区中文字幕 | 国产精品久久久久久久久免费软件 | 久久国产视频播放 | 国产免费高清 | 久久久久中文字幕 | 久久精品日产第一区二区三区 | 中文字幕日韩欧美一区二区三区 | 欧美激情一区二区三区 | 久久免费视频在线 | 亚洲精品在线免费观看视频 | 中文字幕第二区 | 综合久久综合久久 | 国产一区二区三区精品久久久 | 国产小视频在线 | 欧美不卡在线 | 久久夜夜| 日韩午夜在线播放 | 国产日韩久久久久69影院 | 91一区二区 | 国产成人精品999在线观看 | 欧美精品成人一区二区三区四区 | 凹凸日日摸日日碰夜夜 | 中文字幕第十五页 | 精品国产乱码久久久久久图片 | 日本精品视频 | 日韩影院在线观看 | 免费久久网| 福利视频网站 | 天天干天天爽 | 精品久久久一区二区 | 久久精品综合 |