摘要:截止到今天,已公開發(fā)行一周年。一年以來,社區(qū)中的用戶不斷做出貢獻(xiàn)和優(yōu)化,在此深表感謝。所以與衡量它的指標(biāo)包括在機(jī)器學(xué)習(xí)研究論文中的使用。來自香港科技大學(xué)的在上推出了面向普通觀眾的在線課程。
Yann LeCun Twitter
截止到今天,PyTorch 已公開發(fā)行一周年。一年以來,我們致力于打造一個(gè)靈活的深度學(xué)習(xí)研究平臺(tái)。一年以來,PyTorch 社區(qū)中的用戶不斷做出貢獻(xiàn)和優(yōu)化,在此深表感謝。
通過此文,我們打算對(duì) PyTorch 一年的發(fā)展歷程做一個(gè)總結(jié):PyTorch 的進(jìn)展、新聞以及社區(qū)亮點(diǎn)。
社區(qū)
我們很幸運(yùn),PyTorch 團(tuán)隊(duì)有一批強(qiáng)大、飽含熱情的研究者和工程師,核心團(tuán)隊(duì)的工程師和研究者來自不同的國(guó)家、公司和大學(xué),沒有他們的付出就不會(huì)有今天的 PyTorch。
研究論文、工具包、GitHub
PyTorch 才發(fā)行幾天,社區(qū)用戶已經(jīng)開始借助 PyTorch 實(shí)現(xiàn)其最喜愛的研究論文,并把代碼公布在 GitHub 上。開源代碼對(duì)當(dāng)今的研究者來說是一個(gè)主要而核心的工具。
人們一起創(chuàng)建了 torchtext、torchvision 和 torchaudio,以便利化平民化不同領(lǐng)域的研究。
較早的 PyTorch 社區(qū)工具包(被命名為 Block)來自 Brandon Amo,有助于更輕松地處理塊矩陣(block matrix)。來自 CMU 的 Locus 實(shí)驗(yàn)室后來繼續(xù)公布 PyTorch 工具包及其大部分研究的實(shí)現(xiàn)。較早的研究論文代碼來自 Sergey Zagoruyko,論文名稱為《Paying more attention to attention》。
來自 U.C.Berkeley 的 Jun-Yan Zhu、Taesung Park、Phillip Isola、Alyosha Efros 及團(tuán)隊(duì)發(fā)布了非常流行的 Cycle-GAN 和 pix2pix,用于圖像轉(zhuǎn)換。
參見論文:學(xué)界 | 讓莫奈畫作變成照片:伯克利圖像到圖像翻譯新研究
HarvardNLP 和 Systran 的研究者開始使用 PyTorch 開發(fā)和提升 OpenNMT,它最初開始于 Facebook Adam Lerer 的 [Lua]Torch 代碼最初的再實(shí)現(xiàn)。
參見:開源 | 哈佛大學(xué) NLP 組開源神經(jīng)機(jī)器翻譯工具包 OpenNMT:已達(dá)到生產(chǎn)可用水平
來自 Twitter 的 MagicPony 團(tuán)隊(duì)貢獻(xiàn)了其超分辨率研究示例的 PyTorch 實(shí)現(xiàn)。
Salesforce 發(fā)布了若干個(gè)工具包,包括其亮點(diǎn)成果 PyTorch-QRNN,這是一種新型 RNN,相比于 CuDNN 優(yōu)化的標(biāo)準(zhǔn) LSTM 可提速 2 到 17 倍。James Bradbury 及其團(tuán)隊(duì)是 PyTorch 社區(qū)中最活躍和最有吸引力的團(tuán)隊(duì)之一。
來自 Uber、Northeaster、Stanford 的研究者圍繞著其工具包 Pyro 和 ProbTorch,形成了一個(gè)活躍的概率編程社區(qū)。他們正在積極開發(fā) torch.distributions 核心工具包。該社區(qū)非?;钴S,快速發(fā)展,我們聯(lián)合 Fritz Obermeyer、Noah Goodman、Jan-Willem van de Meent、Brooks Paige、Dustin Tran 及其他 22 名參會(huì)者在 NIPS 2017 上舉辦了首次 PyTorch 概率編程會(huì)議,共同探討如何使世界貝葉斯化。
參見:Uber 與斯坦福大學(xué)開源深度概率編程語(yǔ)言 Pyro:基于 PyTorch
英偉達(dá)研究者發(fā)布了三個(gè)高質(zhì)量 repo,實(shí)現(xiàn)了 pix2pix-HD、Sentiment Neuron 和 FlowNet2。對(duì) PyTorch 中不同數(shù)據(jù)并行模型的擴(kuò)展性分析對(duì)整個(gè)社區(qū)都很有益。
艾倫人工智能研究所發(fā)布 AllenNLP,包括多個(gè) NLP 先進(jìn)模型:標(biāo)準(zhǔn) NLP 任務(wù)的參考實(shí)現(xiàn)和易用 web demo。
六月份,我們還首次取得了 Kaggle 競(jìng)賽冠軍(團(tuán)隊(duì) grt123)。他們獲得了 2017 數(shù)據(jù)科學(xué)杯(關(guān)于肺癌檢測(cè))的冠軍,后來公開了其 PyTorch 實(shí)現(xiàn)。
在可視化方面,Tzu-Wei Huang 實(shí)現(xiàn)了 TensorBoard-PyTorch 插件,F(xiàn)acebook AI Research 發(fā)布了與 PyTorch 兼容的 visdom 可視化包。
最后,F(xiàn)acebook AI Research 發(fā)布了多個(gè)項(xiàng)目,如 ParlAI、fairseq-py、VoiceLoop 和 FaderNetworks,在多個(gè)領(lǐng)域中實(shí)現(xiàn)了先進(jìn)的模型和接口數(shù)據(jù)集。由于空間有限,這里就不將優(yōu)秀項(xiàng)目一一列出,詳細(xì)列表可參閱:https://github.com/soumith?tab=stars。
我們還要感謝那些在論壇中積極幫助別人的用戶。你們提供了無(wú)比珍貴的服務(wù),非常感謝!
指標(biāo)
從數(shù)字上來看:
在 Github 上有 87769 行代碼引入 Torch。
在 Github 上有 3983 個(gè) repository 在名字或者描述中提到了 PyTorch。
PyTorch binary 下載量超過 50 萬(wàn),具體數(shù)字是 651916。
在論壇上,有 5400 名用戶發(fā)表了 21500 條討論,涉及 5200 個(gè)主題。
自發(fā)布以來,在 Reddit 上的/r/machinelearning 主題中有 131 條討論提到了 PyTorch。同期,TensorFlow 被提及的次數(shù)為 255。
參見:
PyTorch 和 TensorFlow 到底哪個(gè)更好?看看一線開發(fā)者怎么說
TensorFlow 開源一周年:這可能是一份最完整的盤點(diǎn)
研究指標(biāo)
PyTorch 是一個(gè)專注于研究的框架。所以與衡量它的指標(biāo)包括 PyTorch 在機(jī)器學(xué)習(xí)研究論文中的使用。
在 ICLR 2018 學(xué)術(shù)會(huì)議提交的論文中,有 87 篇提到了 PyTorch,相比之下 TensorFlow 228 篇,Keras 42 篇,Theano 和 Matlab 是 32 篇。
按照月度來看,arXiv 論文提到 PyTorch 框架的有 72 篇,TensorFlow 是 273 篇,Keras 100 篇,Caffe 94 篇,Theano 53 篇。
課程、教程與書籍
我們?cè)诎l(fā)布 PyTorch 的時(shí)候,已經(jīng)準(zhǔn)備了很好的 API 文檔,但教程有限,只有幾個(gè) ipython notebook,雖然有用但還不夠。
Sasank Chilamkurthy 承擔(dān)了改進(jìn)教程的任務(wù),教程詳見:http://pytorch.org/tutorials/。
Sean Robertson 和 Justin Johnson 編寫了 NLP 領(lǐng)域的全新教程,還有通過示例學(xué)習(xí)的教程。Yunjey Choi 寫了用 30 行或者更少的代碼部署大多數(shù)模型的教程。每個(gè)新教程都幫助用戶用不同的學(xué)習(xí)方法更快地找到適合自己的學(xué)習(xí)路徑。
Goku Mohandas 和 Delip Rao 把正在寫的書中的代碼做了改變,使用了 PyTorch。
我們看到,一些大學(xué)的機(jī)器學(xué)習(xí)課程是使用 PyTorch 作為主要工具講授的,例如哈佛 CS 287。為了更進(jìn)一步方便大眾學(xué)習(xí),我們還看到三個(gè)在線課程使用 PyTorch 講授。
Fast.ai 的「Deep Learning for Coders」是個(gè)流行的在線課程。9 月份,Jeremy 和 Rachel 宣布下一個(gè) fast.ai 的課程將幾乎全部基于 PyTorch。
Ritchie Ng,在清華、新加坡國(guó)立大學(xué)都學(xué)習(xí)過的研究者,推出了名為「Practical Deep Learning with PyTorch」的 Udemy 課程。
來自香港科技大學(xué)的 Sung Kim 在 Yotube 上推出了面向普通觀眾的在線課程「PyTorch Zero to All」。
參見:四天速成!香港科技大學(xué) PyTorch 課件分享
工程
去年 PyTorch 實(shí)現(xiàn)了多個(gè)功能,包括 board 上的性能、修復(fù)大量 bug 等。去年完成的任務(wù)清單詳見:https://github.com/pytorch/pytorch/releases。下面是其中的幾個(gè)亮點(diǎn):
高階梯度
隨著多篇關(guān)于實(shí)現(xiàn)梯度罰項(xiàng)的論文的發(fā)表,以及二階梯度法的不斷研究發(fā)展,高階梯度成為必需的熱門功能。去年 8 月,我們實(shí)現(xiàn)了一個(gè)通用接口,可使用 n 階導(dǎo)數(shù),加快支持高階梯度函數(shù)的收斂,截至寫作本文時(shí),幾乎所有 ops 都支持此界面。
分布式 PyTorch
去年 8 月,我們發(fā)布了一個(gè)小型分布式包,該包使用非常流行的 MPI 集合(MPI-collective)方法。它有多個(gè)后端,如 TCP、MPI、Gloo 和 NCCL2,以支持多種 CPU/GPU 集合操作和用例,這個(gè)包整合了 Infiniband 和 RoCE 等分布式技術(shù)。分布很難,我們?cè)诔跏嫉鷷r(shí)也有一些 bug。在后續(xù)版本中,我們作出了一些改進(jìn),使這個(gè)包更加穩(wěn)定,性能也更強(qiáng)。
更接近 NumPy
用戶較大的一個(gè)需求是他們熟悉的 NumPy 功能。Broadcasting 和 Advanced Indexing 等功能方便、簡(jiǎn)潔,節(jié)約用戶的時(shí)間。我們實(shí)現(xiàn)了這些功能,開始使我們的 API 更接近 NumPy。隨著時(shí)間的進(jìn)展,我們希望在合適的地方越來越接近 NumPy 的 API。
性能
性能是一場(chǎng)仍在進(jìn)行中的戰(zhàn)斗,尤其對(duì)于想要較大化靈活性的動(dòng)態(tài)框架 PyTorch 而言。去年,從核心 Tensor 庫(kù)到神經(jīng)網(wǎng)絡(luò)算子,我們改善了 PyTorch 在 board 上的性能,能在 board 上更快的編寫微優(yōu)化。
我們添加了專門的 AVX 和 AVX2 內(nèi)部函數(shù),用于 Tensor 運(yùn)算;
寫更快的 GPU kernel,用于常用的工作負(fù)載,如級(jí)聯(lián)和 Softmax;
為多個(gè)神經(jīng)網(wǎng)絡(luò)算子重寫代碼,如 nn.Embedding 和組卷積。
PyTorch 在 board 上的開銷降低 10x
由于 PyTorch 是動(dòng)態(tài)圖框架,我們?cè)谟?xùn)練循環(huán)的每次迭代時(shí)都要?jiǎng)?chuàng)建一個(gè)新圖。因此,框架開銷必須很低,或者工作負(fù)載必須足夠大來隱藏框架開銷。去年 8 月,DyNet 的作者(Graham Neubig 及其團(tuán)隊(duì))展示了 DyNet 在一些小型 NLP 模型上的速度快于 PyTorch。這是很有意思的一個(gè)挑戰(zhàn),我們開始重寫 PyTorch 內(nèi)部構(gòu)件,將框架開銷從 10 微妙/算子降低到 1 微妙。
ATen
重新設(shè)計(jì) PyTorch 內(nèi)部構(gòu)件的同時(shí),我們也構(gòu)建了 ATen C++11 庫(kù),該庫(kù)現(xiàn)在主導(dǎo) PyTorch 所有后端。ATen 具備一個(gè)類似 PyTorch Python API 的 API,使之成為便于 Tensor 計(jì)算的 C++庫(kù)。ATen 可由 PyTorch 獨(dú)立構(gòu)建和使用。
輸出模型用于生產(chǎn):支持 ONNX 和 JIT 編譯器
我們收到的一個(gè)普遍請(qǐng)求是將 PyTorch 模型輸出到另一個(gè)框架。用戶使用 PyTorch 進(jìn)行快速研究,模型完成后,他們想將模型搭載到更大的項(xiàng)目中,而該項(xiàng)目只要求使用 C++。
因此我們構(gòu)建了 tracer,可將 PyTorch 模型輸出為中間表示。用戶可使用后續(xù)的 tracer 更高效地運(yùn)行當(dāng)前的 PyTorch 模型,或?qū)⑵滢D(zhuǎn)換成 ONNX 格式以輸出至 Caffe2、MXNet、TensorFlow 等其他框架,或直接搭載至硬件加速庫(kù),如 CoreML 或 TensorRT。今年,我們將更多地利用 JIT 編譯器提升性能。
原文鏈接:http://pytorch.org/2018/01/19/a-year-in.html
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/4717.html
摘要:第一個(gè)深度學(xué)習(xí)框架該怎么選對(duì)于初學(xué)者而言一直是個(gè)頭疼的問題。簡(jiǎn)介和是頗受數(shù)據(jù)科學(xué)家歡迎的深度學(xué)習(xí)開源框架。就訓(xùn)練速度而言,勝過對(duì)比總結(jié)和都是深度學(xué)習(xí)框架初學(xué)者非常棒的選擇。 「第一個(gè)深度學(xué)習(xí)框架該怎么選」對(duì)于初學(xué)者而言一直是個(gè)頭疼的問題。本文中,來自 deepsense.ai 的研究員給出了他們?cè)诟呒?jí)框架上的答案。在 Keras 與 PyTorch 的對(duì)比中,作者還給出了相同神經(jīng)網(wǎng)絡(luò)在不同框...
摘要:終于,亞馬遜也加入了全球芯片大戰(zhàn)。今天凌晨,亞馬遜在拉斯維加斯召開的大會(huì)上,亞馬遜發(fā)布了一系列新產(chǎn)品,其中包括針對(duì)機(jī)器學(xué)習(xí)定制設(shè)計(jì)的云端芯片。此次,亞馬遜的加入勢(shì)必會(huì)讓云服務(wù)市場(chǎng)競(jìng)爭(zhēng)更為激烈。終于,亞馬遜也加入了全球AI芯片大戰(zhàn)。今天凌晨,亞馬遜在拉斯維加斯召開的AWS re:Invent大會(huì)上,亞馬遜AWS CEO Andy Jassy發(fā)布了一系列新產(chǎn)品,其中包括針對(duì)機(jī)器學(xué)習(xí)定制設(shè)計(jì)的云端...
摘要:幸運(yùn)的是,這些正是深度學(xué)習(xí)所需的計(jì)算類型。幾乎可以肯定,英偉達(dá)是目前執(zhí)行深度學(xué)習(xí)任務(wù)較好的選擇。今年夏天,發(fā)布了平臺(tái)提供深度學(xué)習(xí)支持。該工具適用于主流深度學(xué)習(xí)庫(kù)如和。因?yàn)榈暮?jiǎn)潔和強(qiáng)大的軟件包擴(kuò)展體系,它目前是深度學(xué)習(xí)中最常見的語(yǔ)言。 深度學(xué)習(xí)初學(xué)者經(jīng)常會(huì)問到這些問題:開發(fā)深度學(xué)習(xí)系統(tǒng),我們需要什么樣的計(jì)算機(jī)?為什么絕大多數(shù)人會(huì)推薦英偉達(dá) GPU?對(duì)于初學(xué)者而言哪種深度學(xué)習(xí)框架是較好的?如何將...
TensorFlow和PyTorch是兩個(gè)最流行的深度學(xué)習(xí)框架之一。雖然這兩個(gè)框架都可以完成大多數(shù)深度學(xué)習(xí)任務(wù),但它們之間仍有很多區(qū)別。本文將探討TensorFlow和PyTorch之間的一些區(qū)別。 1. 靜態(tài)圖和動(dòng)態(tài)圖 TensorFlow使用靜態(tài)圖,它需要先定義計(jì)算圖,然后再執(zhí)行計(jì)算。這使得TensorFlow在執(zhí)行大規(guī)模計(jì)算時(shí)非常高效。PyTorch使用動(dòng)態(tài)圖,它允許用戶在執(zhí)行計(jì)算時(shí)動(dòng)態(tài)...
摘要:但年月,宣布將在年終止的開發(fā)和維護(hù)。性能并非最優(yōu),為何如此受歡迎粉絲團(tuán)在過去的幾年里,出現(xiàn)了不同的開源深度學(xué)習(xí)框架,就屬于其中典型,由谷歌開發(fā)和支持,自然引發(fā)了很大的關(guān)注。 Keras作者Fran?ois Chollet剛剛在Twitter貼出一張圖片,是近三個(gè)月來arXiv上提到的深度學(xué)習(xí)開源框架排行:TensorFlow排名第一,這個(gè)或許并不出意外,Keras排名第二,隨后是Caffe、...
閱讀 2880·2023-04-25 22:51
閱讀 2261·2021-10-11 10:58
閱讀 3383·2019-08-30 10:49
閱讀 1945·2019-08-29 17:09
閱讀 3192·2019-08-29 10:55
閱讀 905·2019-08-26 10:34
閱讀 3627·2019-08-23 17:54
閱讀 1047·2019-08-23 16:06