自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PyTorch 1.12發(fā)布,正式支持蘋果M1芯片GPU加速,修復眾多Bug

人工智能 新聞
PyTorch GPU 訓練加速是使用蘋果 Metal Performance Shaders (MPS) 作為后端來實現(xiàn)的。MPS 后端擴展了 PyTorch 框架,提供了在 Mac 上設置和運行操作的腳本和功能。

?PyTorch 1.12 正式發(fā)布,還沒有更新的小伙伴可以更新了。

距離 PyTorch 1.11 推出沒幾個月,PyTorch 1.12 就來了!此版本由 1.11 版本以來的 3124 多次 commits 組成,由 433 位貢獻者完成。1.12 版本進行了重大改進,并修復了很多 Bug。

隨著新版本的發(fā)布,大家討論最多的可能就是 PyTorch 1.12 支持蘋果 M1 芯片。?

圖片

其實早在今年 5 月,PyTorch 官方就已經(jīng)宣布正式支持在 M1 版本的 Mac 上進行 GPU 加速的 PyTorch 機器學習模型訓練。此前,Mac 上的 PyTorch 訓練僅能利用 CPU,但隨著 PyTorch 1.12 版本的發(fā)布,開發(fā)和研究人員可以利用蘋果 GPU 大幅度加快模型訓練。

在 Mac 上引入加速 PyTorch 訓練?

PyTorch GPU 訓練加速是使用蘋果 Metal Performance Shaders (MPS) 作為后端來實現(xiàn)的。MPS 后端擴展了 PyTorch 框架,提供了在 Mac 上設置和運行操作的腳本和功能。MPS 使用針對每個 Metal GPU 系列的獨特特性進行微調(diào)的內(nèi)核能力來優(yōu)化計算性能。新設備將機器學習計算圖和原語映射到 MPS Graph 框架和 MPS 提供的調(diào)整內(nèi)核上。

每臺搭載蘋果自研芯片的 Mac 都有著統(tǒng)一的內(nèi)存架構,讓 GPU 可以直接訪問完整的內(nèi)存存儲。PyTorch 官方表示,這使得 Mac 成為機器學習的絕佳平臺,讓用戶能夠在本地訓練更大的網(wǎng)絡或批大小。這降低了與基于云算力的開發(fā)相關的成本或?qū)︻~外的本地 GPU 算力需求。統(tǒng)一內(nèi)存架構還減少了數(shù)據(jù)檢索延遲,提高了端到端性能。

可以看到,與 CPU 基線相比,GPU 加速實現(xiàn)了成倍的訓練性能提升:

圖片圖片

有了 GPU 的加持,訓練和評估速度超過 CPU

上圖是蘋果于 2022 年 4 月使用配備 Apple M1 Ultra(20 核 CPU、64 核 GPU)128GB 內(nèi)存,2TB SSD 的 Mac Studio 系統(tǒng)進行測試的結果。測試模型為 ResNet50(batch size = 128)、HuggingFace BERT(batch size = 64)和 VGG16(batch size = 64)。性能測試是使用特定的計算機系統(tǒng)進行的,反映了 Mac Studio 的大致性能。

PyTorch 1.12 其他新特性

前端 API:TorchArrow

PyTorch 官方已經(jīng)發(fā)布了一個新的 Beta 版本供用戶試用:TorchArrow。這是一個機器學習預處理庫,可進行批量數(shù)據(jù)處理。它具有高性能,兼具 Pandas 風格,還具有易于使用的 API,以加快用戶預處理工作流程和開發(fā)。

(Beta)PyTorch 中的 Complex32 和 Complex Convolutions

目前,PyTorch 原生支持復數(shù)、復數(shù) autograd、復數(shù)模塊和大量的復數(shù)運算(線性代數(shù)和快速傅里葉變換)。在包括 torchaudio 和 ESPNet 在內(nèi)的許多庫中,都已經(jīng)使用了復數(shù),并且 PyTorch 1.12 通過復數(shù)卷積和實驗性 complex32 數(shù)據(jù)類型進一步擴展了復數(shù)功能,該數(shù)據(jù)類型支持半精度 FFT 操作。由于 CUDA 11.3 包中存在 bug,如果用戶想要使用復數(shù),官方建議使用 CUDA 11.6 包。

(Beta)Forward-mode 自動微分

Forward-mode AD 允許在前向傳遞中計算方向?qū)?shù)(或等效地雅可比向量積)。PyTorch 1.12 顯著提高了 forward-mode AD 的覆蓋范圍。

BetterTransformer

PyTorch 現(xiàn)在支持多個 CPU 和 GPU fastpath 實現(xiàn)(BetterTransformer),也就是 Transformer 編碼器模塊,包括 TransformerEncoder、TransformerEncoderLayer 和 MultiHeadAttention (MHA) 的實現(xiàn)。在新的版本中,BetterTransformer 在許多常見場景中速度快 2 倍,這還要取決于模型和輸入特征。新版本 API 支持與先前的 PyTorch Transformer API 兼容,如果現(xiàn)有模型滿足 fastpath 執(zhí)行要求,它們將加速現(xiàn)有模型,以及讀取使用先前版本 PyTorch 訓練的模型。 圖片此外,新版本還有一些更新:

  • 模塊:模塊計算的一個新 beta 特性是功能性 API。這個新的 functional_call() API 讓用戶可以完全控制模塊計算中使用的參數(shù)。
  • TorchData:DataPipe 改進了與 DataLoader 的兼容性。PyTorch 現(xiàn)在支持基于 AWSSDK 的 DataPipes。DataLoader2 已被引入作為管理 DataPipes 與其他 API 和后端之間交互的一種方式。
  • nvFuser: nvFuser 是新的、更快的默認 fuser,用于編譯到 CUDA 設備。
  • 矩陣乘法精度:默認情況下,float32 數(shù)據(jù)類型上的矩陣乘法現(xiàn)在將在全精度模式下工作,這種模式速度較慢,但會產(chǎn)生更一致的結果。
  • Bfloat16:為不太精確的數(shù)據(jù)類型提供了更快的計算時間,因此在 1.12 中對 Bfloat16 數(shù)據(jù)類型進行了新的改進。
  • FSDP API:作為原型在 1.11 版中發(fā)布,F(xiàn)SDP API 在 1.12 版的發(fā)布中達到了測試版,并添加了一些改進。

更多內(nèi)容請查看:https://pytorch.org/blog/pytorch-1.12-released/。

責任編輯:姜華 來源: 機器之心
相關推薦

2021-05-13 07:17:14

LinuxApple M1芯片

2023-02-21 08:55:47

Linux操作系統(tǒng)

2010-07-07 09:12:52

MyEclipse 8MyEclipse 8MyEclipse 8

2011-08-03 10:32:23

Web

2010-10-19 09:08:42

MyEclipse 9MyEclipse

2012-02-28 09:30:46

JavaEclipse

2010-07-11 01:24:27

Grails 1.3.Grails 1.3.

2020-12-16 12:30:55

FirefoxFirefox 84瀏覽器

2021-05-28 12:13:48

蘋果M1芯片漏洞

2013-02-21 13:11:12

Windows Blu

2009-07-21 12:49:10

Ruby on RaiRoR

2021-03-09 11:23:50

PyTorch 1.8Python函數(shù)轉(zhuǎn)換

2011-02-18 10:56:12

PHP

2021-08-06 15:18:37

Windows 11操作系統(tǒng)微軟

2021-06-03 10:44:54

漏洞網(wǎng)絡安全網(wǎng)絡攻擊

2021-08-12 10:52:00

谷歌Chrome Android

2021-03-13 21:17:07

Firefox火狐瀏覽器瀏覽器

2021-04-12 17:50:20

LinuxM1芯片Mac

2009-11-11 12:07:31

Firefox版本發(fā)布下載

2011-05-31 10:15:11

X.Org
點贊
收藏

51CTO技術棧公眾號