首頁(yè) > AI資訊 > 最新資訊 > PyTorch1.7發(fā)布:支持CUDA11、Windows分布式訓(xùn)練

PyTorch1.7發(fā)布:支持CUDA11、Windows分布式訓(xùn)練

新火種    2024-11-21

木易 發(fā)自 凹非寺

自從7月份CUDA 11發(fā)布以來(lái),就陸陸續(xù)續(xù)聽(tīng)到了網(wǎng)友類(lèi)似的吐槽:

這正說(shuō)著,10月27日,PyTorch團(tuán)隊(duì)發(fā)布了PyTorch 1.7,終于能支持CUDA 11了,可喜可賀(狗頭)。

除此之外,這次1.7的版本,也帶來(lái)了許多功能的更新和穩(wěn)定。

在更新上,有了許多新的應(yīng)用編程接口,如支持與NumPy兼容的快速傅立葉變換的操作及性能分析工具。

此外,分布式數(shù)據(jù)并行(DDP)和基于遠(yuǎn)程過(guò)程調(diào)用(RPC)的分布式訓(xùn)練也有了重大的更新,在Windows平臺(tái)上的分布式訓(xùn)練提供支持。

最后,一些功能也穩(wěn)定了下來(lái),包括torchvision中的本機(jī)圖像IO,torchaudio中的語(yǔ)音識(shí)別、文字轉(zhuǎn)語(yǔ)音等許多功能。

自從PyTorch 1.6開(kāi)始,PyTorch的功能便分為穩(wěn)定版(stable),測(cè)試版(Beta)和原型版(prototype)。

那么,這次PyTorch 1.7又具體從哪些方面帶來(lái)了新的功能,這些功能又進(jìn)展到哪一版本呢?

接下來(lái)讓我們來(lái)快速盤(pán)點(diǎn)一下。

前端API

前端API共有3項(xiàng)更新,都是處于測(cè)試版狀態(tài)。

NUMPY兼容的TORCH.FFT模塊 [BETA]

PyTorch 1.7版本增加了一個(gè)新的torch.fft模塊,該模塊使用與NumPy相同的API來(lái)實(shí)現(xiàn)與FFT相關(guān)的功能。

對(duì)變壓器神經(jīng)網(wǎng)絡(luò)模塊的C++支持 [BETA]

1.7版本更新后,開(kāi)發(fā)人員可以從C++前端直接使用nn.transformer模塊抽象。

TORCH.SET_DETERMINISTIC [BETA]

PyTorch 1.7增加了torch.set_determinative(bool)函數(shù),該函數(shù)可以指導(dǎo)PyTorch操作者在可用時(shí)選擇確定性算法,并在操作可能導(dǎo)致不確定性行為時(shí)引發(fā)運(yùn)行時(shí)錯(cuò)誤。

性能&分析

堆棧跟蹤添加至探查器 [BETA]

探查器可以幫助操作者追蹤操作符的名稱及輸入等信息,而在1.7版本更新后,他們還可以追蹤操作符在代碼中的位置。

分布式訓(xùn)練&RPC

分布式訓(xùn)練和RPC有著最多的更新數(shù)目——7項(xiàng),這其中有1項(xiàng)穩(wěn)定版、5項(xiàng)測(cè)試版及1項(xiàng)原型版。

Torchelastic捆綁進(jìn)PYTORCH DOCKER鏡像 [STABLE]

Torchelastic提供了當(dāng)前torch.distributed.launch命令行界面的嚴(yán)格超集,并增加了容錯(cuò)和彈性功能。

通過(guò)將Torchelastic捆綁在與PyTorch相同的docker鏡像中,用戶可以立即開(kāi)始試用TorchElastic而不必單獨(dú)安裝。

支持DDP中不均勻的數(shù)據(jù)集輸入 [BETA]

PyTorch 1.7引入了一個(gè)新的上下文管理器,該管理器將與使用torch.nn.parallel.DistributedDataParallel訓(xùn)練的模型結(jié)合使用,以便能夠在不同的過(guò)程中使用不均勻的數(shù)據(jù)集大小進(jìn)行訓(xùn)練。

NCCL可靠性-異步錯(cuò)誤/超時(shí)處理 [BETA]

過(guò)去由于集合體擁擠,NCCL訓(xùn)練可能會(huì)死機(jī)。如果檢測(cè)到潛在的死機(jī),此功能將中止卡住的集合體,并拋離異常或崩潰的程序。

TORCHSCRIPT RPC_REMOTE & RPC_SYNC [BETA]

PyTorch 1.7將功能將擴(kuò)展到其余兩個(gè)核心RPC API,完成針對(duì)TorchScript支持的主要RPC API,它允許用戶使用TorchScript中的現(xiàn)有python RPC API。

分布式優(yōu)化器的TORCHSCRIPT支持 [BETA]

在PyTorch 1.7中,啟用分布式優(yōu)化器中的TorchScript支持來(lái)刪除GIL,并使在多線程應(yīng)用程序中運(yùn)行優(yōu)化器成為可能。新的分布式優(yōu)化器與以前有完全相同的接口,但是它自動(dòng)將每個(gè)工作器中的優(yōu)化器轉(zhuǎn)換成TorchScript,使每個(gè)GIL空閑。

增強(qiáng)基于RPC的分析 [BETA]

PyTorch 1.6首次引入了對(duì)將PyTorch分析器與RPC框架結(jié)合使用的支持。在PyTorch 1.7中,進(jìn)行了以下增強(qiáng):

實(shí)現(xiàn)了對(duì)通過(guò)RPC分析TorchScript函數(shù)的更好支持

在與RPC配合使用的探查器功能方面實(shí)現(xiàn)了均等

在服務(wù)器端增加了對(duì)異步RPC函數(shù)的支持

分布式訓(xùn)練的WINDOWS支持 [PROTOTYPE]

PyTorch 1.7為Windows平臺(tái)上的分布式數(shù)據(jù)并行和集合通信帶來(lái)了原型支持。

移動(dòng)支持

PyTorch Mobile通過(guò)Cocoapods和JCenter中提供的二進(jìn)制軟件包同時(shí)支持iOS和Android。

提高性能的PYTORCH移動(dòng)緩存分配器 [BETA]

為了減少性能損失,PyTorch 1.7為CPU提供了一個(gè)簡(jiǎn)單的緩存分配器。分配器根據(jù)張量大小緩存分配,目前只能通過(guò)PyTorch C++ API獲得。

視覺(jué)工具包torchvision

變換現(xiàn)在支持張量輸入、批量計(jì)算、圖形處理器和TORCHSCRIPT [STABLE]

PyTorch 1.7 實(shí)現(xiàn)了以下新功能:

支持圖形處理器加速

批量轉(zhuǎn)換,如視頻所需

變換多波段torch張量圖像(多于3-4個(gè)通道)

torchscript將與用戶部署的模型一起轉(zhuǎn)換

JPEG和PNG格式的本機(jī)圖像IO [STABLE]

torchvision 0.8.0引入了針對(duì)JPEG和PNG格式的本機(jī)圖像讀取和寫(xiě)入操作。

RETINANET檢測(cè)模型 [STABLE]

該版本為RetinaNet增加了預(yù)處理模型。

新的視頻讀取API [BETA]

這個(gè)版本引入了一個(gè)新的視頻閱讀抽象,它提供了對(duì)視頻迭代的更細(xì)粒度的控制。

它支持圖像和音頻,并實(shí)現(xiàn)了一個(gè)迭代器接口,因此它可以與其他python庫(kù)之間互操作。

音頻工具包torchaudio

在此版本中,torchaudio擴(kuò)展了對(duì)模型和端到端應(yīng)用程序的支持,增加了wav2letter訓(xùn)練管道、端到端文本到語(yǔ)音和源分離管道。

語(yǔ)音識(shí)別 [STABLE]

在wav2letter模型的基礎(chǔ)上,新版本現(xiàn)在添加了一個(gè)帶有LibriSpeech數(shù)據(jù)集的wav2letter訓(xùn)練管道示例。

文字轉(zhuǎn)語(yǔ)音 [STABLE]

新版本添加了一個(gè)基于WaveRNN模型的聲碼器,此外還提供了一個(gè)WaveRNN訓(xùn)練管道的例子。

聲源分離 [STABLE]

在論文“Conv-TasNet: Surpassing Ideal Time-Frequency Magnitude Masking for Speech Separation”的基礎(chǔ)上,增加了ConvTasNet模型,支持聲源分離。

網(wǎng)友討論:PyTorch更直觀易懂、更新比TF快

對(duì)于PyTorch的更新,在reddit引起了網(wǎng)友其與Tensorflow的討論。

從網(wǎng)友的討論來(lái)看,直觀、易懂似乎是PyTorch勝過(guò)Tensorflow的一大優(yōu)勢(shì)。

然而,也有網(wǎng)友指出了PyTorch的不足:PyTorch在邊緣計(jì)算并沒(méi)有Tensorflow成熟。

最后,還有網(wǎng)友發(fā)出了靈魂拷問(wèn):

PyTorch更新它的官方支持好像比TF更快?穩(wěn)定性和更新率,你們更喜歡其中哪一種呢?

相關(guān)推薦
免責(zé)聲明
本文所包含的觀點(diǎn)僅代表作者個(gè)人看法,不代表新火種的觀點(diǎn)。在新火種上獲取的所有信息均不應(yīng)被視為投資建議。新火種對(duì)本文可能提及或鏈接的任何項(xiàng)目不表示認(rèn)可。 交易和投資涉及高風(fēng)險(xiǎn),讀者在采取與本文內(nèi)容相關(guān)的任何行動(dòng)之前,請(qǐng)務(wù)必進(jìn)行充分的盡職調(diào)查。最終的決策應(yīng)該基于您自己的獨(dú)立判斷。新火種不對(duì)因依賴本文觀點(diǎn)而產(chǎn)生的任何金錢(qián)損失負(fù)任何責(zé)任。

熱門(mén)文章