PyTorch 在 Facebook 内部使用,为其人工智能服务(如 PyText)提供动力,帮助用户完成语言理解等任务。自 2017 年开源以来,PyTorch 已经成为世界上最流行的深度学习框架之一。
去年秋天发布的 2018 GitHub 10 月 10 日报告称,PyTorch 是 GitHub 平台上最受欢迎的开源项目之一,全球有 3100 万开发者使用该平台。
PyTorch 1.1 版本提供了新的 api,支持布尔张量(Boolean tensors)和自定义递归神经网络,并且对用于优化计算图的 JIT 编译器进行了升级。
PyTorch 创建者 Soumith Chintala 表示:“我们一直在与英伟达密切合作,基本上把所有的优化添加到了我们的编译器上。比如,用户有了一些新的想法,写了一个偏离常态的递归神经网络,想试试看能否启动一个更好的 LSTM 或 RNN,在实际运行的时候,速度也会接近 cuDNN。”
此外,Soumith Chintala 说,编译器的 alpha 版本在去年秋季的 1.0 版中就已经发布了,但运行速度并没有比 PyTorch 的基本模式快多少。Chintala 说,新的 JIT 编译器是研究人员和自动驾驶模型制造商强烈要求的功能,同时,编译器还为 PyTorch 带来了更多的 Python 编程语言概念。
JIT 编译器现在能够在运行时确定如何生成最高效的代码,Chintala 期望 JIT 编译器的更新能够为定制的 RNN 模型提供更好的性能。
另外一项非常重要的更新是,PyTorch1.1 版本将支持 TensorFlow 的可视化工具——TensorBoard。PyTorch 产品经理 Joe Spisak 表示:谷歌和 Facebook 在构建这种集成方面进行了非常密切的合作。
另外,Facebook 发布了机器学习实验平台 Ax 和 Botorch,其功能是简化了 AI 模型优化。BoTorch 是一个基于 PyTorch 的贝叶斯优化库。Ax 是用于管理、部署和自动化 AI 实验的通用平台。
不过,这两个工具都是 Facebook 整体工作的一部分。事实上,Ax 与 BoTorch 的接口以及内部的 Facebook 使用这两个工具来完成与优化 Instagram 不同的任务,加强后端基础设施,以提高用户调查的响应率。
BoTorch(以及贝叶斯优化)的核心是,使数据科学家更容易、更快地进行模型优化,从而获得生产模型。通常这一步会涉及大量的试验,并出现不少错误。BoTorch 不是第一个贝叶斯优化工具。然而,Facebook 认为这些现有的库很难扩展和定制,而且它们不符合 Facebook 的需求。
Ax 获取这些功能,并围绕 BoTorch 为这些模型找到最优配置的能力提供所有管理功能,并允许开发人员专注于为生产做好准备。
例如 Ax 接口与 A/B 测试和仿真工具,这些工具的目的是自动优化系统,几乎不需要用户参与。当运行实验时,Ax 可以自动选择最佳优化策略,可以是贝叶斯优化,或者是班迪特优化(另一种经典的优化策略)或其他算法。
值得注意的是,Ax 与框架无关。当它使用 BoTorch 时,研究人员还可以使用 PyTorch 和 NumPy 接口插入自己的代码。
另外据介绍,PyTorch 的下一个发展方向是量化,使用更少的比特运行神经网络,以获得更快的 CPU 和 GPU 性能,并支持 AI 从业者在创建的张量中命名。此外,PyTorch 还将继续与 PySyft 这样的项目合作,PySyft 是一项使用 federated 与 PyTorch 训练机器学习系统的计划。
参考链接:
https://venturebeat.com/2019/05/01/facebook-launches-pytorch-1-1-with-tensorboard-support/
https://techcrunch.com/2018/05/02/facebook-announces-pytorch-1-0-a-more-unified-ai-framework/
评论