OpenAI全面擁抱PyTorch,TensorFlow:我哪裡比不上它?

機器之心報道
參與:一鳴

TensorFlow 和 PyTorch 框架之爭由來已久,近日的一則新聞讓 PyTorch 陣營「更添一員大將」。OpenAI 表示,他們已全面轉向 PyTorch,並統一自家所有模型的框架標準。

OpenAI全面擁抱PyTorch,TensorFlow:我哪裡比不上它?


對於深度學習框架的使用,整個人工智能社區大體可以分為兩大陣營:TensorFlow 和 PyTorch。有觀點認為,

PyTorch 更適合研究領域,而實際的工業應用可能更偏向於 TensorFlow。

PyTorch 具有用戶友好的 API 和對 Python 生態的良好支持,更適合學界。而 TensorFlow 因為用戶慣性和對工業生產環境的支持,更適合業界。
近日的一則新聞確實佐證了這個說法。OpenAI——一個研究過 AI 打 Dota2、推出 NLP 預訓練模型 GPT-2、以及讓機器人單手還原魔方等項目的人工智能研究機構宣佈,他們將會全面轉向 PyTorch。
從 2017 年 TensorFlow 佔絕對優勢到現在兩大框架處於相對均勢,雙方的開發團隊可能都沒有料到 PyTorch 會這麼受社區青睞。
用 PyTorch 統一項目標準
在一則簡短的博客文章中,OpenAI 表示,他們將會使用 PyTorch 作為統一的深度學習框架。在此之前,他們會基於框架本身的特點和優勢在不同的項目中使用不同的框架。
OpenAI 認為,為了讓團隊更容易地創建和共享模型及其應用,使用 PyTorch 是更好的選擇。

通過標準化的 PyTorch 框架,OpenAI 可以建立起基於它的平臺,使得自家的各種模型和應用都能進行框架和工具的複用
另外一個選擇 PyTorch 的重要原因是:用它來實現各種新的想法特別容易,特別是在 GPU 集群上。OpenAI 在博客中說,自從選擇了 PyTorch,他們可以將研究思路到生成模型的迭代開發時間從周壓縮到天。這節省了很多的時間。更何況,PyTorch 背後也有著活躍的開發社區,包括 FaceBook 等大型研究機構都在使用。
OpenAI 還在文章中表示,他們的大部分團隊已經完成了遷移工作。除非有特定的技術原因,基本上 PyTorch 就是主要的深度學習框架了。例如,OpenAI 在近日推出了 PyTorch 版本的深度強化學習庫——「Spinning Up」。

OpenAI全面擁抱PyTorch,TensorFlow:我哪裡比不上它?


此外,OpenAI 還會在後續的開源計劃中公開更多基於 PyTorch 的項目,比如「Block-Sparse GPU Kernels」。這是一種新架構的核,計算速度快於 cuBLAS 和 cuSPARSE。
TF 問題多多,用戶轉向 PyTorch
誠然,與 TensorFlow 相比,PyTorch 仍在存在性能、工業生態支持等方面的短板。但是不可否認的是,TensorFlow 的諸多問題驅使用戶選擇了 PyTorch。
首先是易用性的問題。TensorFlow 剛剛問世的時候有著陡峭的學習曲線。要想掌握這個框架,其難度不亞於學習一門新的編程語言。而 PyTorch 在設計之初就非常「Pythonic」,使用起來和 Python 一樣簡單。
其次是 API 的穩定性。由於 TensorFlow 誕生的時候,業界和學界對於深度學習框架的設計經驗不足,所以在 API 的定義、設計和功能實現方面有很多不同的理解,開發者們也走過很多彎路。更何況深度學習本身就是快速發展的,新算法需要快速的 API 實現。這就導致 TensorFlow 的 API 變了又變,還加上了很多 contrib 的 API。相比之下,PyTorch 的 API 迭代更穩定,更沒有命名混亂的問題。
基於以上兩個原因,PyTorch 相比 TensorFlow 有著更低的上手成本,以及更快速實現的使用特點。因此,經常有新思路的學界就更青睞 PyTorch 一些,畢竟他們需要的是能夠快速實現想法,並迅速迭代的深度學習框架。OpenAI 作為一個經常有各種算法和創意的研究機構,使用 PyTorch 也自然更合理一些。


網友評價
對於 OpenAI 徹底擁抱 PyTorch 的新聞,不少 Reddit 網友提出了自己的看法。

OpenAI全面擁抱PyTorch,TensorFlow:我哪裡比不上它?


一位網友認為,在被 TensorFlow 激怒後,轉向 PyTorch 再合理不過了。他同時認為,TF2.0 確實在「撥亂反正」。

OpenAI全面擁抱PyTorch,TensorFlow:我哪裡比不上它?


另一位也表示贊同,他認為,PyTorch 逐漸變得更好了,而 TF2.0 實際上沒有人們想得那麼好。另外,與 TensorFlow 相比,PyTorch 的設計和維護者更懂得如何在靈活性、易用性和採納新技術方面保持平衡。
接下來,社區其他成員將作何抉擇?TensorFlow 可要加把勁啦!
參考鏈接:https://openai.com/blog/openai-pytorch/https://www.reddit.com/r/MachineLearning/comments/ew8oxq/n_openai_switches_to_pytorch/


分享到:


相關文章: