OpenAI全面拥抱PyTorch,TensorFlow:我哪里比不上它?

TensorFlow 和 PyTorch 框架之争由来已久,近日的一则新闻让 PyTorch 阵营「更添一员大将」。OpenAI 表示,他们已全面转向 PyTorch,并统一自家所有模型的框架标准。

对于深度学习框架的使用,整个人工智能社区大体可以分为两大阵营: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 的项目,比如「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 网友提出了自己的看法。

一位网友认为,在被 TensorFlow 激怒后,转向 PyTorch 再合理不过了。他同时认为,TF2.0 确实在「拨乱反正」。

另一位也表示赞同,他认为,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/

入门TensorFlowPyTorchOpenAI
相关数据
OpenAI 机构

OpenAI是一家非营利性人工智能研究公司,旨在以惠及全人类的方式促进和发展友好的人工智能。OpenAI成立于2015年底,总部位于旧金山,旨在通过向公众开放其专利和研究与其他机构和研究人员“自由合作”。创始人的部分动机是出于对通用人工智能风险的担忧。

https://www.openai.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

GPT-2技术

GPT-2是OpenAI于2019年2月发布的基于 transformer 的大型语言模型,包含 15 亿参数、在一个 800 万网页数据集上训练而成。据介绍,该模型是对 GPT 模型的直接扩展,在超出 10 倍的数据量上进行训练,参数量也多出了 10 倍。在性能方面,该模型能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

推荐文章
暂无评论
暂无评论~