0
雷鋒網(wǎng) AI 科技評論按:Facebook 對人工智能相關(guān)技術(shù)的長期大規(guī)模投入盡人皆知。這些技術(shù)不僅構(gòu)成了 Facebook 獲得盈利的技術(shù)基礎(chǔ),F(xiàn)acebook 也宣稱它們可以幫助 Facebook 成為一個(gè)更安全、更具包容性、更公平的平臺。Facebook 對 AI 方面的成果也相當(dāng)慷慨,不僅秉持著學(xué)術(shù)研究成果全面開放的作風(fēng),他們開發(fā)的深度學(xué)習(xí)框架 PyTorch 也易用、親民,在工業(yè)級應(yīng)用領(lǐng)域大有趕超谷歌 TensorFlow 之勢。
近日在 2019 年 Facebook 開發(fā)者大會「F8」上,F(xiàn)acebook 公布了 PyTorch 的重大更新 1.1 版本,同時(shí)還發(fā)布并開源了其它多個(gè)開發(fā)工具,繼續(xù)降低機(jī)器學(xué)習(xí)/深度學(xué)習(xí)模型開發(fā)調(diào)試以及深度學(xué)習(xí)專用硬件設(shè)計(jì)的門檻。雷鋒網(wǎng) AI 科技評論把更新主要內(nèi)容介紹如下。
PyTorch 在設(shè)計(jì)之初就兼顧了科研需要的靈活性、模塊性,以及工業(yè)級應(yīng)用部署需要的穩(wěn)定性和后續(xù)支持,它也具有類似 Python 的快速執(zhí)行特性以及靈活的網(wǎng)絡(luò)結(jié)構(gòu)動態(tài)調(diào)整功能。隨著 PyTorch 1.0 版本在去年 12 月發(fā)布,它也支持了基于圖(Graph)的運(yùn)行、前后端模塊間的無縫混合運(yùn)行、分布式訓(xùn)練、高效移動端部署等功能,此外還可以使用 PyTorch JIT(即時(shí)匯編)在圖模式和動態(tài)圖模式之間靈活切換。據(jù) Facebook 介紹,許多企業(yè)已經(jīng)把 AI 科研以及計(jì)算機(jī)視覺、對話系統(tǒng)、工業(yè)優(yōu)化、自動駕駛等應(yīng)用遷移到了 PyTorch 平臺上運(yùn)行。
如今 Facebook 正式宣布了 PyTorch v1.1 版本即將到來,包含性能提升、提升易用性的新的理解和視覺工具、新的 API 等。具體更新項(xiàng)目如下:
TensorBoard:TensorBoard 是一個(gè)web 應(yīng)用套件,含有多種針對訓(xùn)練過程以及圖的檢查理解工具。PyTorch 1.1 中提供了優(yōu)秀的原生支持,可以把 TensorBoard 用于可視化以及模型 debug。由于是原生支持,只需要一句簡單的「from torch.utils.tensorboard import SummaryWriter」指令就可以調(diào)用。
JIT 編譯器:針對即時(shí)匯編進(jìn)行了多項(xiàng)改進(jìn),包括多項(xiàng) bug 修復(fù),增加了 TorchScript 中的多項(xiàng)功能(比如支持辭典、用戶自定義類以及屬性)。
新的 API:支持布爾類型張量,以及對用戶自定義的循環(huán)神經(jīng)網(wǎng)絡(luò)提供更好的支持。
分布式訓(xùn)練:提升了 CNN 之類常見模型的性能,增加了多設(shè)備模塊的支持,包括在使用分布式數(shù)據(jù)并行化(DDP)的同時(shí)為不同的 GPU 指定不同的模型,而且開始支持并不是在每次迭代中都使用所有參數(shù)的模型(比如控制流、自適應(yīng) softmax 等等)
Facebook 也和機(jī)器學(xué)習(xí)社區(qū)內(nèi)的多個(gè)機(jī)構(gòu)合作,孵化更多幫助機(jī)器學(xué)習(xí)工程師們更高效地工作的項(xiàng)目,涉及的方面從提升理解模型的能力一直到用 AutoML 之類的方法自動調(diào)節(jié)模型。
在宣布 PyTorch v1.1 版本的同時(shí),F(xiàn)acebook 也一并介紹了幾個(gè)新的開源工具。它們都是已經(jīng)在 Facebook 大規(guī)模部署的成熟項(xiàng)目,有 Facebook 自己開發(fā)的工具,也有和谷歌等業(yè)界領(lǐng)路人一同開發(fā)的產(chǎn)品和服務(wù),都為開放、合作式的機(jī)器學(xué)習(xí)大家庭貢獻(xiàn)了一份力量。其中最為重要的是 BoTorch 和 Ax,F(xiàn)acebook 有一篇單獨(dú)的介紹。
BoTorch:這是一個(gè)用于貝葉斯優(yōu)化科研的基于 PyTorch 的開發(fā)庫。BoTorch 使用了模塊化設(shè)計(jì),并且同時(shí)使用了基于蒙特卡洛的采集功能和 PyTorch 中的自動微分功能,可以極大提升開發(fā)效率。BoTorch 可以和任何 PyTorch 模型集成,這給同時(shí)使用貝葉斯優(yōu)化和深度學(xué)習(xí)的科研帶來了極高的靈活性。另外,貝葉斯優(yōu)化的樣本效率很高,很適合用于測試成本很高的黑盒功能的序列優(yōu)化。
Ax:Ax 是一個(gè)便于使用、通用目的設(shè)計(jì)的適應(yīng)性試驗(yàn)平臺,它可以管理、部署、自動化機(jī)器學(xué)習(xí)試驗(yàn)。Ax 會使用 BoTorch 中的最新功能,為開發(fā)者優(yōu)化產(chǎn)品、優(yōu)化技術(shù)基礎(chǔ)設(shè)施提供更多便捷。Ax 也降低了貝葉斯優(yōu)化、多臂抽獎(jiǎng)問題(multiarmed bandit)以及其他復(fù)雜試驗(yàn)技巧的使用門檻,幫助研究人員們更好地把科研想法引入到生產(chǎn)中。
PyTorch-BigGraph:這是一個(gè)為含有數(shù)十億個(gè)節(jié)點(diǎn)、數(shù)千億個(gè)邊的超大規(guī)模圖生成嵌入的分布式系統(tǒng)。它可以支持分片和逆向采樣,并且提供了基于維基百科數(shù)據(jù)嵌入的使用示例。
Google AI Platform Notebooks:這是一個(gè)基于谷歌云平臺的新的托管 JupyterLab 服務(wù)。數(shù)據(jù)科學(xué)家們可以快速創(chuàng)建支持運(yùn)行 JupyterLab 的虛擬機(jī),其中還預(yù)安裝好了最新的 PyTorch。它也和 BigQuery、Cloud Dataproc、Could Dataflow、AI Factory 等 GCP 服務(wù)緊密整合,開發(fā)者幾乎不需要離開 JupyterLab 就可以運(yùn)行完成的機(jī)器學(xué)習(xí)全流程。
隨著 PyTorch 漸入佳境,越來越多的教育平臺也開始提供基于 PyTorch 的學(xué)習(xí)資源;況且 PyTorch 靈活動態(tài)的編程環(huán)境以及大家熟悉的 Python 界面都讓它適合快速實(shí)驗(yàn)上手。谷歌 Colab 如今已經(jīng)提供了交互式的 Jupyter Notebook 環(huán)境,為 PyTorch 提供了原生支持,開發(fā)者們可以在免費(fèi)的 CPU 和 GPU 資源上運(yùn)行任何 PyTorch 教程。斯坦福自然語言處理小組(Stanford NLP)、加州大學(xué)伯克利分校計(jì)算機(jī)視覺小組、加州理工大學(xué)機(jī)器人課程中都開始把 PyTorch 作為機(jī)器學(xué)習(xí)編程教學(xué)平臺,MOOC 課程中更是讓成千上萬的 PyTorch 開發(fā)者得以快速學(xué)習(xí)。
和新版本、新工具一起,F(xiàn)acebook 宣布他們和優(yōu)達(dá)學(xué)城(Udacity)建立合作,將在其中的深度學(xué)習(xí)入門課程中加入 PyTorch 教學(xué),F(xiàn)acebook 還會提供為繼續(xù)學(xué)習(xí)完整機(jī)器學(xué)習(xí)學(xué)位的參加者提供獎(jiǎng)學(xué)金。Fast.ai 也將于今年 6 月提供新的使用 PyTorch 的深度學(xué)習(xí)課程。作為課程內(nèi)容的一部分,fast.ai 還會更新包括 fastai.audio 庫在內(nèi)的新庫作為 PyTorch 模塊。
via https://ai.facebook.com/blog/pytorch-adds-new-dev-tools-as-it-hits-production-scale/,雷鋒網(wǎng) AI 科技評論編譯
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。