PyTorch 2.0正式版發布!一行程式碼提速2倍,100%向後相容
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實作。
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和Google的TensorFlow是兩個最受歡迎的深度學習框架。世界上有數千家機構正在使用PyTorch開發深度學習應用程序,而且它的使用量正在增加。
PyTorch 2.0的推出將有助於加速深度學習和人工智慧應用的發展,Lightning AI的首席技術長和PyTorch Lightning的主要維護者之一Luca Antiga表示:
「PyTorch 2.0 體現了深度學習框架的未來。不需要用戶幹預即可捕獲PyTorch 程序,開箱即用的程序生成,以及巨大的設備加速,這種可能性為人工智慧開發人員開啟了一個全新的維度。」
參考資料:
https://www.php.cn/link/d6f84c02e2a54908d96f410083beb6e0
#https://www.php.cn/link/89b9e0a6f6d1505fe13dea0f18a2dcfa
##https:// www .php.cn/link/3b2acfe2e38102074656ed938abf4ac3
以上是PyTorch 2.0正式版發布!一行程式碼提速2倍,100%向後相容的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本站6月27日訊息,剪映是由位元組跳動旗下臉萌科技開發的一款影片剪輯軟體,依託於抖音平台且基本面向該平台用戶製作短影片內容,並相容於iOS、安卓、Windows 、MacOS等作業系統。剪映官方宣布會員體系升級,推出全新SVIP,包含多種AI黑科技,例如智慧翻譯、智慧劃重點、智慧包裝、數位人合成等。價格方面,剪映SVIP月費79元,年費599元(本站註:折合每月49.9元),連續包月則為59元每月,連續包年為499元每年(折合每月41.6元) 。此外,剪映官方也表示,為提升用戶體驗,向已訂閱了原版VIP

透過將檢索增強生成和語意記憶納入AI編碼助手,提升開發人員的生產力、效率和準確性。譯自EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG,作者JanakiramMSV。雖然基本AI程式設計助理自然有幫助,但由於依賴對軟體語言和編寫軟體最常見模式的整體理解,因此常常無法提供最相關和正確的程式碼建議。這些編碼助手產生的代碼適合解決他們負責解決的問題,但通常不符合各個團隊的編碼標準、慣例和風格。這通常會導致需要修改或完善其建議,以便將程式碼接受到應

大型語言模型(LLM)是在龐大的文字資料庫上訓練的,在那裡它們獲得了大量的實際知識。這些知識嵌入到它們的參數中,然後可以在需要時使用。這些模型的知識在訓練結束時被「具體化」。在預訓練結束時,模型實際上停止學習。對模型進行對齊或進行指令調優,讓模型學習如何充分利用這些知識,以及如何更自然地回應使用者的問題。但是有時模型知識是不夠的,儘管模型可以透過RAG存取外部內容,但透過微調使用模型適應新的領域被認為是有益的。這種微調是使用人工標註者或其他llm創建的輸入進行的,模型會遇到額外的實際知識並將其整合

想了解更多AIGC的內容,請造訪:51CTOAI.x社群https://www.51cto.com/aigc/譯者|晶顏審校|重樓不同於網路上隨處可見的傳統問題庫,這些問題需要跳脫常規思維。大語言模型(LLM)在數據科學、生成式人工智慧(GenAI)和人工智慧領域越來越重要。這些複雜的演算法提升了人類的技能,並在許多產業中推動了效率和創新性的提升,成為企業保持競爭力的關鍵。 LLM的應用範圍非常廣泛,它可以用於自然語言處理、文字生成、語音辨識和推薦系統等領域。透過學習大量的數據,LLM能夠產生文本

編輯|ScienceAI問答(QA)資料集在推動自然語言處理(NLP)研究中發揮著至關重要的作用。高品質QA資料集不僅可以用於微調模型,也可以有效評估大語言模型(LLM)的能力,尤其是針對科學知識的理解和推理能力。儘管目前已有許多科學QA數據集,涵蓋了醫學、化學、生物等領域,但這些數據集仍有一些不足之處。其一,資料形式較為單一,大多數為多項選擇題(multiple-choicequestions),它們易於進行評估,但限制了模型的答案選擇範圍,無法充分測試模型的科學問題解答能力。相比之下,開放式問答

機器學習是人工智慧的重要分支,它賦予電腦從數據中學習的能力,並能夠在無需明確編程的情況下改進自身能力。機器學習在各個領域都有廣泛的應用,從影像辨識和自然語言處理到推薦系統和詐欺偵測,它正在改變我們的生活方式。機器學習領域存在著多種不同的方法和理論,其中最具影響力的五種方法被稱為「機器學習五大派」。這五大派分別為符號派、聯結派、進化派、貝葉斯派和類推學派。 1.符號學派符號學(Symbolism),又稱符號主義,強調利用符號進行邏輯推理和表達知識。該學派認為學習是一種逆向演繹的過程,透過現有的

編輯|KX在藥物研發領域,準確有效地預測蛋白質與配體的結合親和力對於藥物篩選和優化至關重要。然而,目前的研究並沒有考慮到分子表面訊息在蛋白質-配體相互作用中的重要作用。基於此,來自廈門大學的研究人員提出了一種新穎的多模態特徵提取(MFE)框架,該框架首次結合了蛋白質表面、3D結構和序列的信息,並使用交叉注意機制進行不同模態之間的特徵對齊。實驗結果表明,該方法在預測蛋白質-配體結合親和力方面取得了最先進的性能。此外,消融研究證明了該框架內蛋白質表面資訊和多模態特徵對齊的有效性和必要性。相關研究以「S

本站7月5日消息,格芯(GlobalFoundries)於今年7月1日發布新聞稿,宣布收購泰戈爾科技(TagoreTechnology)的功率氮化鎵(GaN)技術及智慧財產權組合,希望在汽車、物聯網和人工智慧資料中心應用領域探索更高的效率和更好的效能。隨著生成式人工智慧(GenerativeAI)等技術在數位世界的不斷發展,氮化鎵(GaN)已成為永續高效電源管理(尤其是在資料中心)的關鍵解決方案。本站引述官方公告內容,在本次收購過程中,泰戈爾科技公司工程師團隊將加入格芯,進一步開發氮化鎵技術。 G
