PyTorch 1.0 穩(wěn)定版終于正式發(fā)布了!新版本增加了JIT編譯器、全新的分布式包、C++ 前端,以及 Torch Hub等新功能,支持AWS、谷歌云、微軟Azure等云平臺,一句話,強大!
昨天,在 NeurIPS 大會上,F(xiàn)acebook 正式發(fā)布PyTorch 1.0 穩(wěn)定版!
這距離 PyTorch 1.0 預覽版發(fā)布僅僅過去了兩個月。PyTorch 1.0 預覽版首次發(fā)布是在 10 月份的 PyTorch 開發(fā)者大會,新增了面向生產(chǎn)的特征和主要云平臺的支持等功能,被認為 90% 的功能能經(jīng)受住業(yè)界的考驗。
題外話,NeurIPS 大會上,同一天 TensorFlow 團隊和 PyTorch 團隊先后有一個演講,介紹他們的框架。網(wǎng)友表示,這就像現(xiàn)實版的 “Mac 和 PC 之爭”(PyTorch 是 Mac)。TensorFlow 2.0 將在 2019 年正式發(fā)布。
回到 PyTorch1.0,研究人員和工程師現(xiàn)在可以輕松地充分利用這個開源深度學習框架的新特性,包括一個用于 eager 和 graph execution 模型無縫轉(zhuǎn)換的 hybrid 前端,改進的分布式訓練,用于高性能研究的純 C++ 前端,以及與云平臺的深度集成。
PyTorch團隊主要成員,包括賈揚清
此外,PyTorch 1.0 加速了 AI 從研究原型開發(fā)到生產(chǎn)部署的工作流程,并使其更容易入門。在過去幾個月,初學者通過各種教育項目快速開始使用 PyTorch,專家們構(gòu)建各種創(chuàng)新項目,將框架擴展到從自然語言處理到概率編程的各個領(lǐng)域。
PyTorch 1.0 穩(wěn)定版增加了一系列新功能,包括 JIT Compiler,全新的分布式包、C++ 前端,以及 Torch Hub。以及大量更新、新增特征、bug修復等:
地址:
https://github.com/pytorch/pytorch/releases/tag/v1.0.0
JIT編譯器、C++ 前端等四大新功能
JIT
JIT 是一組編譯器工具,用于縮小 PyTorch 在研究和生產(chǎn)上的鴻溝。它允許創(chuàng)建可以在不依賴 Python 解釋器的情況下運行的模型,并且可以更積極地優(yōu)化這些模型。
使用程序注釋可以將現(xiàn)有模型轉(zhuǎn)換為 Torch 腳本,這是 PyTorch 可以直接運行的 Python 子集。模型代碼仍然是有效的 Python 代碼,并且可以使用標準 Python 工具鏈進行調(diào)試。
PyTorch 1.0 提供了兩種方法使現(xiàn)有代碼與 JIT 兼容的方法,torch.jit.trace 或 torch.jit.script。一旦加上注釋,Torch Script 代碼就可以被積極地優(yōu)化,并且可以序列化,以便在新的 c++ API 中使用。這個 API 完全不依賴 Python。
全新的分布式包
torch.distributed 軟件包和 torch.nn.parallel.DistributedDataParallel 模塊由全新的、重新設計的分布式庫提供支持。新的庫的主要亮點有:
新的 torch.distributed 是性能驅(qū)動的,并且對所有后端 (Gloo,NCCL 和 MPI) 完全異步操作。
顯著的分布式數(shù)據(jù)并行性能改進,尤其適用于網(wǎng)絡較慢的主機,如基于以太網(wǎng)的主機。
為 torch.distributedpackage 中的所有分布式集合操作添加異步支持。
在 Gloo 后端添加以下 CPU 操作:send,recv,reduce,all_gather,gather,scatter
在 NCCL 后端添加 barrier 操作
為 NCCL 后端添加 new_group 支持
C++ 前端
C ++ 前端是 PyTorch 后端的純 C ++ 接口,它遵循已建立的 Python 前端的 API 和體系結(jié)構(gòu)。它旨在實現(xiàn)高性能、低延遲和裸機 C ++ 應用程序的研究。它提供了 torch.nn,torch.optim,torch.data 和 Python 前端的其他組件的對應版本。以下是兩種語言前端的比較:
作為 PyTorch 1.0 的一部分,我們發(fā)布的是標記有 “API Unstable” 的 C ++ 前端。這意味著它已準備好用于你的研究應用程序,但仍有一些不穩(wěn)定,我們將在接下來的幾個版本中穩(wěn)定下來。在此期間,API 的某些部分可能會發(fā)生大的更改。
Torch Hub
Torch Hub 是一個預訓練的模型庫,旨在促進研究的可重復性。
Torch Hub 支持使用簡單的 hubconf.py 文件將預訓練的模型(模型定義和預訓練的權(quán)重)發(fā)布到 github 存儲庫; 以 pytorch/vision 中的 resnet 模型為例,請參閱 hubconf for resnet models in pytorch/vision。
發(fā)布后,用戶可以使用 torch.hub.load API 加載預先訓練的模型。更多詳細信息,請閱讀 torch.hub 文檔。
不斷增長的 PyTorch 社區(qū)
PyTorch 在 2017 年初首次推出,很快成為 AI 研究人員的熱門選擇。他們發(fā)現(xiàn),由于其靈活、動態(tài)的編程環(huán)境和用戶友好的界面,PyTorch 是快速實驗的理想選擇。從那時起,這個社區(qū)迅速發(fā)展起來。
PyTorch 現(xiàn)在是GitHub 上增長速度第二快的開源項目,在過去的 12 個月里,貢獻者增加了 2.8 倍。
此外,F(xiàn)acebook 提供了一系列教育項目,幫助開發(fā)人員更輕松地學習如何使用 PyTorch 構(gòu)建、訓練和部署機器學習模型。
上個月,Udacity 和 Facebook 聯(lián)合推出一門新課程——PyTorch 深度學習入門 (Introduction to Deep Learning with PyTorch),以及 PyTorch Challenge Program,該項目旨在為繼續(xù)接受 AI 教育提供獎學金。僅僅幾個星期,已經(jīng)有全球各地成千上萬的學生在網(wǎng)上積極學習。
所有人都可以通過 Udacity 網(wǎng)站免費獲得完整的課程,更高級的 PyTorch 課程則將很快通過 Udacity 的 AI 納米學位提供。
除了在線教育課程,fast.ai 等組織還提供了一些軟件庫來支持開發(fā)人員學習如何使用 PyTorch 構(gòu)建神經(jīng)網(wǎng)絡。fastai 是一個簡化訓練神經(jīng)網(wǎng)絡的庫,自從兩個月前發(fā)布以來,已經(jīng)在 GitHub 上獲得了 10000 顆星星。
我們非常高興看到開發(fā)人員使用這個庫取得的成功。例如,Santhosh Shetty 使用 fastai 將災后損傷等級分類的準確率提高了一倍;Alena Harley 將腫瘤正常測序的假陽性率降低了 7 倍;Jason Antic 創(chuàng)建了一個名為 DeOldify 的項目,使用深度學習對舊圖像進行著色和恢復。
圖片由 Jason Antic 提供
PyTorch 已經(jīng)被應用于從圖像識別到機器翻譯的各種用例。因此,我們看到來自開發(fā)者社區(qū)的各種各樣的項目,這些項目擴展并支持了 PyTorch 開發(fā)。其中一些項目包括:
Horovod——一個分布式訓練框架,它使開發(fā)人員可以輕松地使用單個 GPU 程序,并在多個 GPU 上快速進行訓練。
PyTorch Geometry——PyTorch 的幾何計算機視覺庫,提供一組例程和可微分模塊。
TensorBoardX—一個將 PyTorch 模型記錄到 TensorBoard 的模塊,允許開發(fā)人員使用可視化工具進行模型訓練。
此外,F(xiàn)acebook 的團隊也在為 PyTorch 構(gòu)建和開源項目,比如 Translate,這是一個基于 Facebook 機器翻譯系統(tǒng)的用于訓練 sequence-to-sequence 模型的庫。
支持各種云
為了使 PyTorch 更易于訪問和用戶友好,我們繼續(xù)深化與云平臺和服務的合作,例如Amazon Web services、Google Cloud Platform和Microsoft Azure。
就在最近,AWS 推出了支持 PyTorch 的 Amazon SageMaker Neo,允許開發(fā)人員在 PyTorch 中構(gòu)建機器學習模型,一次訓練后即可部署到云或邊緣的任何地方,并且性能提高了兩倍。
開發(fā)人員現(xiàn)在還可以通過創(chuàng)建一個新的深度學習 VM 實例,在谷歌云平臺上試用 PyTorch 1.0。
此外,微軟的 Azure 機器學習服務現(xiàn)在已經(jīng)普遍可用,它允許數(shù)據(jù)科學家在 Azure 上無縫地訓練、管理和部署 PyTorch 模型。使用該服務的 Python SDK, PyTorch 開發(fā)人員可以利用按需分布式計算功能,用 PyTorch 1.0 大規(guī)模訓練模型,以加速生產(chǎn)過程。
-
深度學習
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121169 -
自然語言處理
+關(guān)注
關(guān)注
1文章
618瀏覽量
13561 -
pytorch
+關(guān)注
關(guān)注
2文章
808瀏覽量
13226
原文標題:PyTorch 1.0 穩(wěn)定版正式發(fā)布!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論