10 月 3 日,在首届 PyTorch 开发者大会上,Facebook 正式发布 PyTorch 1.0 开发者预览版,在带来 PyTorch 1.0 一系列更新的同时,还重点介绍了该框架的生态支持和教育方面的合作。
早在今年 5 月份的 Facebook F8 大会上,Facebook 就宣布在未来几个月中将开源 PyTorch 1.0 框架。时隔五个月的今日,Facebook 终于将这一计划变成了现实。
Facebook 表示,PyTorch 1.0 是 PyTorch 推出以来最重要的版本,1.0 代表着该框架版本已经非常稳定、成熟,而今天发布的预览版,其中 90% 的功能已经能够经受住业界的考验。那 PyTorch 1.0 现在到底有了怎样的进展呢?雷锋网接下来从 PyTorch 1.0 的重要更新、生态支持以及教育合作三个角度进行介绍。
雷锋网获悉,经过五个月左右的开源,PyTorch 1.0 框架主要迎来了三大更新:
第一,添加了一个新的混合前端(hybrid front end),支持从 Eager 模式到图形模式的跟踪和脚本模型,以弥合研究和生产部署之间的差距。
第二,增加了经过改进的 torch.distributed 库,使得开发者可以在 Python 和 C++环境中实现更快的训练。
第三,增加了针对关键性能研究的 Eager 模式 C++接口,这一接口会在测试版中发布。
目前,研究人员和工程师必须使用多个框架和工具来研究新的深度学习模型,并将其转移到生产环境中大规模运运行,然而这些框架和工具通常是不兼容的。这样的话,就会降低开发者对突破性 AI 研究进行产品化的速度和效率。
而在 PyTorch 1.0 这个最新版本,Facebook 将现有 PyTorch 框架的灵活性与 Caffe2(今年 5 月宣布 Caffe2 并入 PyTorch)的生产能力结合,提供从研究到 AI 研究产品化的无缝对接。
除了软硬件方面的重要更新,Facebook 还介绍了其他厂商对 PyTorch 1.0 生态的深度支持,这些支持来自于亚马逊、Google 和微软等软件、产品和云服务提供商以及英伟达、高通、英特尔等技术提供方。
其中,亚马逊、Google 和微软针对 Pytorch 的云平台、产品和服务的框架方面,来加深对 PyTorch 1.0 的支持。例如,亚马逊大规模训练、部署机器学习模型的全栈管理平台 Amazon Sagemaker,现在能为 PyTorch 1.0 提供预配置环境,包括自动模型调优这样的功能。
Google 宣布为 AI 开发者制定的多种软件和硬件工具将与 PyTorch 1.0 实现集成。除了 Google 云平台的深度学习虚拟机现在有了一个预安装了 NVIDIA 驱动与教程的新的 PyTorch 1.0 VM 镜像文件,Google 还为 PyTorch 提供了用于机器学习的定制化专用集成芯片(ASIC)——张量处理单元(TPU)。目前,在 Google Cloud TPU 团队和 PyTorch 团队的合作推动下,基于 PyTorch 1.0 的模型可以使用这种定制化的硬件。
而微软则早就和 Facebook 开始合作了另一个重要项目——开源的神经网络交换格式 ONNX。目前,微软也正进一步在 Azure 机器学习服务、数据科学虚拟机(DSVM)、Azure Notebooks、Visual Studio Code 的 AI 扩展工具等机器学习产品套件中为 PyTorch 提供一流的支持。
而英伟达、高通、英特尔等技术伙伴,正在通过直接优化、kernel 库集成以及对编译器和推断运行时的附加工具进行优化,来支持 PyTorch 1.0。这种支持可以确保 PyTorch 可以在数据中心和边缘设备的各种硬件上正常运行,并在这些硬件上实现模型训练和推断的优化。
增强 PyTorch 自身的实力以外,Facebook 还致力于通过教育与课程方式推广 PyTorch 打造深度学习框架。
据雷锋网了解,目前许多教育提供方采用 PyTorch 作为教学框架。同时,PyTorch 也已经通过在线视频和大学课程为众多的学生提供深度学习框架,PyTorch 框架以其易用性及与 Python 深度集成的特性可以非常容易实现各种深度学习概念,能让学生快速理解和实验深度模型。
例如,Udacity 就正与 Facebook 合作,为开发者提供免费的深度学习入门课程,而这些课程完全使用 PyTorch 作为框架。同时,Facebook 还将赞助 300 名成功完成该中级课程的学生,继续在 Udacity 中完成深度学习纳米学位项目,现在该计划已经调整为在 PyTorch 1.0 上运行。
值得一提的是,fast.ai 也发布了首个基于 PyTorch 1.0 构建的开源深度学习库——fastai 1.0。该学习库在带来更高的准确性以及更快的速度的同时,还能使代码显著减少,让深度学习无论是对初学者还是对经验丰富的开发人员都更加友好。
「1.0 是让 PyTorch 进入生产环境的第一步,开发者们还会在未来继续推进它的发展。」Facebook 研究工程师 Soumith Chintala 在发布会上表示,「PyTorch 1.0 的最终稳定版会在 NIPS2018 大会之前发布。」