PyTorch 1.0 宣布用于研究和生产 AI 项目

  • Kent Weare
  • 姚佳灵

2018 年 5 月 21 日

话题:开源Python语言 & 开发架构AI

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

在最近的一篇博文中,脸书的副总裁 Bill Jia 宣布了PyTorch 的新版本 1.0的发布。PyTorch 是用于 Python 的开源 AI 框架软件包,具有 Tensor 计算,包括强大的 GPU 加速和建立于基于磁带 autodiff 系统之上的深度神经网络。该新版本的重要性在于,减少了从研究过程到生产过程中移动 AI 驱动的项目所需的时间,同时提高了这些应用程序的准确度和性能。这些改进的发生,部分是因为混合前端在命令式和声明式执行模式间的转换。

PyTorch 的核心优势在于,它是前端必不可少的部分,它通过适应性可编程模式实现迭代原型设计和实验。PyTorch 的第一个版本发布于 2017 年早些时候,其软件包的下载次数已经超过了 110 万次。Jia 将它的流行归因于:

它的速度、生产力和支持最前沿 AI 模型(如动态图形)的能力迅速使之成为最受 AI 研究人员欢迎的重要开发工具。

PyTorch 应用的一个众所周知的例子是,加州大学伯克利分校计算机科学家所构建的项目,它基于循环一致对抗网络进行非配对图到图的转换。该项目通过使用一组对齐的图像训练集来学习图像输入和输出映射。



图像来源:https://junyanz.github.io/CycleGAN/

PyTorch 目前的版本已经取得了一些成果,为 AI 研究、开发和生产规模上的性能提供了灵活性,但是,也存在一些挑战。Jia 解释说:

由于它和 Python 紧密的耦合,我们常常需要把研究代码(无论是训练脚本还是经过训练的模型)转换为 Caffe2 中的图形模式表示,以在生产规模上运行。Caffe2 的基于图形执行程序允许开发人员利用最先进的优化技术,比如图形转换、高效的内存重用和严格的硬件接口集成等等。

另外,PyTorch 1.0 集成了 Caffe2 和 ONNX 的功能,并把它与 PyTorch 的能力结合在一起,以提供从研究原型到生产部署的无缝路径。通过利用 Caffe2,建立 PyTorch 依赖关系的公司也能够期望获得对更大的规模和可靠性的支持。PyTorch博客更进一步解释了使用 Caffe2 的重要性:

初创企业、大公司和任何希望围绕 PyTorch 构建产品的人都要求获得产品支持。在脸书(PyTorch 的最大利益相关者),我们拥有 Caffe2,它已经是生产就绪平台,运行于我们的数据中心,并向横跨 8 代 iPhone 以及 6 代安卓 CPU 架构的超过 10 亿部手机交付产品。它在 Inter/ARM、TensorRT 支持以及所有生产所需的位数上有服务器优化推理。考虑到所有这些价值锁定在 PyTorch 团队与其密切合作的平台上,我们决定把 PyTorch 和 Caffe2 结合在一起,从而为 PyTorch 提供生产级准备。

ONNX是一种开放格式,用于表示那些能够在不同 AI 框架之间交换的深度学习模型。在 PyTorch 1.0 中,ONNX 是本地支持的导出模型。它也为加速运行时间和硬件特定库提供了接口。Jia 提到了这种方法的一些好处:

它给予开发人员完全的自由,以混合和匹配最好的 AI 框架和工具,而无需承担资源密集型的定制工程。

PyTorch 项目期望于 2018 年夏季的某个时候发布 1.0 版本,并且可以在其 GitHup repo上查看 pull requests。

查看英文原文:PyTorch 1.0 Announced for Research and Production AI Projects


感谢冬雨对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

开源Python语言 & 开发架构AI