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:我哪里比不上它?

相关推荐