PyTorch 1.0 正式公开,Caffe2并入PyTorch实现AI研究和生产一条龙

简介: 今天,Facebook正式公布PyTorch 1.0,这个新的框架将PyTorch 0.4与Caffe2合并,并整合ONNX格式,让开发者可以无缝地将AI模型从研究转到生产,而无需处理迁移。

今天,Facebook正式公布PyTorch 1.0,这是将基于Python的PyTorch与Caffe2合并的一个新版本的框架,让开发者可以无缝地将AI模型从研究转到生产,而无需处理迁移

“现在,你只需要使用PyTorch 1.0,就可以在一个框架中无缝地进行从研究到生产的全部过程,而不需要为训练/研究和生产分别选择框架。”Facebook发言人在F8大会上说。

Facebook去年与微软合作推出开放神经网络交换(ONNX)格式,这是一个用于表示深度学习模型的标准,旨在使不同框架之间的移动更加简单。现在,Facebook已经将ONNX整合到PyTorch 1.0中,使模型能够与其他框架进行互操作,并且开发人员可以“混合搭配”。

Facebook还表示,将统一PyTorch 0.4和Caffe2的代码库,以创建一个统一的框架,支持多种功能,包括高效的图形模式执行、分析、移动部署等。

PyTorch 1.0将在未来几个月内发布,据悉,微软计划在Azure中支持该框架,亚马逊也将在其云产品中支持PyTorch 1.0。

PyTorch官方博客介绍了PyTorch 1.0的更多细节:

d47e62d2b349aca45e42305ed6714efbe5ed61d9生产性 :在PyTorch 1.0中,你的代码可以继续按原样运行,我们没有对现有的API做任何大更改。如果你不需要优化或导出模型,则不必使用这些新功能,也不会有任何缺点。此外,可以逐步使用 traced或@script模块/函数。
d47e62d2b349aca45e42305ed6714efbe5ed61d9JIT编译器 :使用torch.jit编译器将模型导出到非Python环境,并提高其性能。对于不包含循环和if语句的网络,trace是非侵入式的,并且足够稳健,可以处理各种编码风格;对于主要使用控制流的模型(如RNN),我们的解决方案是脚本模式(@script)。
d47e62d2b349aca45e42305ed6714efbe5ed61d9优化和导出 :Caffe2 / ONNX中模型的python-free 表示
d47e62d2b349aca45e42305ed6714efbe5ed61d9后端 :我们正在替换(或重构)后端ATen库,以整合来自Caffe2的功能和优化。

d47e62d2b349aca45e42305ed6714efbe5ed61d9Timeline:我们的目标是在今年夏天推出 PyTorch 1.0。

PyTorch 1.0:一个框架实现AI从研究到生产的全过程

AI的开发从研究到生产的过程,涉及多个步骤和工具,这使得测试新方法、部署它们,以及迭代以提高准确性和性能都非常耗时而且复杂。为了帮助加速和优化这个过程,我们推出PyTorch 1.0。

PyTorch 1.0采用了Caffe2和ONNX的模块化、面向生产的功能,并将它们与PyTorch现有的灵活的、侧重于研究的设计结合起来,为各种AI项目提供从研究原型到生产部署的快速、无缝的路径。

使用PyTorch 1.0,AI开发人员可以通过在命令式执行模式声明式执行模式之间无缝切换的混合前端进行快速实验和性能优化。PyTorch 1.0中的技术已经为Facebook的许多产品和服务提供支持,包括每天执行60亿次的文本翻译。

PyTorch 1.0将在未来几个月内推出,并将包含一系列工具、库、预训练的模型和各个开发阶段的数据集,使社区能够大规模地快速创建和部署新的AI创新。

从研究到生产的路径

PyTorch的命令式前端通过其灵活且高效的编程模型实现了更快速的原型设计和实验。PyTorch的第一个版本是在一年前推出的,它的快速、高效和支持动态图等先进AI模型的能力使其迅速成为广受AI研究人员欢迎的重要开发工具。PyTorch的下载量已经超过110万次,是ArXiv上个月引用量第二大的深度学习框架。例如,加州大学伯克利分校的计算机科学家将PyTorch的动态图功能用于他们的CycleGAN image-to-image转换的工作。

18de007ab8747df564d92bc89ca36840b75e61da

CycleGAN的PyTorch实现

尽管当前版本的PyTorch为AI的研究和开发提供了很大的灵活性,但由于它与Python的紧密结合,在生产规模上的性能有时是一个挑战。我们经常需要将研究代码(训练脚本或训练模型 )翻译成Caffe2的图形模式表示,以便在生产规模上运行。Caffe2的基于图形的执行程序允许开发者利用先进的优化方式,例如图形转换、高效的内存重用以及紧密的硬件接口集成。

Caffe2项目是两年前推出的,目的是使我们的生产AI工具标准化,现在它已经在Facebook服务器和世界范围超过10亿部手机上运行神经网络,跨越8代iPhone和6代Android CPU架构。今天,Caffe2每天在各种大小模型提供超过200万亿次的预测,并优化生产性能。

从PyTorch迁移到Caffe2以进行生产,以前这是一个手动的过程,耗时多且容易出错。为了解决这个问题,我们与主要的硬件和软件公司合作创建了ONNX(开放式神经网络交换),这是一种表示深度学习模式的开放式格式。借助ONNX,开发人员可以在不同框架之间共享模型,例如,导出使用PyTorch构建的模型并将其导入Caffe2。

我们已经使用这些工具(PyTorch,Caffe2和ONNX)来构建和部署Translate,这个工具现在可以对Facebook上48种最常用语言的进行翻译。在VR方面,这些工具对于将Oculus的新研究部署到生产中至关重要。

但是,尽管这三种不同工具的组合是有效的,但仍然存在手工步骤复杂、耗费时间长等问题。因此,仅仅是将这些工具组合还无法像我们期待的那样无缝地将AI的研究创新带入生产过程。

在一个框架中统一研究和生产的能力

PyTorch 1.0将即时模式和图形执行模式融合在一起,为生产的研究和性能优化提供了灵活性。更具体地说,PyTorch 1.0不是强制开发者重写整个代码以实现优化或从Python迁移,而是提供了一个混合的前端,使开发者能够在用于原型制作的即时模式和用于生产的图形执行模式之间无缝地共享大部分代码

此外,ONNX本身被加入到PyTorch 1.0中作为一种模型输出格式,这使得PyTorch 1.0中的模型可与其他AI框架进行互操作。ONNX还可用作加速运行时间或硬件特定库的集成接口。这使得开发人员可以完全自由地混合和匹配最佳的AI框架和工具,而无需采用资源密集型的定制工程。Facebook将支持ONNX的新特征和功能,ONNX仍然是一种强大的开放格式,同时也是使用PyTorch 1.0进行开发的重要组成部分。

构建一个端到端的深度学习系统

除了PyTorch 1.0之外,Facebook还开源了多个AI工具,包括Translate——一个PyTorch语言库,用于快速、灵活的神经机器翻译;以及下一代ELF——一个综合的AI推理应用游戏平台。开发人员还可以利用Glow这样机器学习编译器,可以加速不同硬件平台上的框架性能;还可以使用Tensor Comprehensions这种自动生成高级数学运算的高效GPU代码的工具。Facebook也开源了其他库,如Detectron,支持对象检测研究,涵盖了边界框和对象实例分割输出。

Facebook推出一个AI开发者网站,列举了所有这些开源工具:

facebook.ai/developers

在接下来的几个月中,我们将重构并统一Caffe2和PyTorch 0.4框架的代码库。最终将形成一个统一的框架,支持高效的图形模式执行,包括profiling,移动部署,广泛的vendor集成等。与ONNX等其他开放式AI计划一样,我们也与其他公司和社区合作,为更多开发者提供这些加速研究的生产能力。首先,微软计划在他们的Azure云和开发者产品中支持PyTorch 1.0,包括Azure机器学习服务和数据科学虚拟机;Amazon Web Services目前支持最新版本的PyTorch,针对P3 GPU实例进行了优化,并计划在其云产品发布后不久支持 PyTorch 1.0,其中包括其深度学习AMI(Amazon Machine Image)。


原文发布时间为:2018-05-3

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。

原文链接:PyTorch 1.0 正式公开,Caffe2并入PyTorch实现AI研究和生产一条龙

相关文章
|
2月前
|
机器学习/深度学习 人工智能
打开AI黑匣子,三段式AI用于化学研究,优化分子同时产生新化学知识,登Nature
【10月更文挑战第11天】《自然》杂志发表了一项突破性的化学研究,介绍了一种名为“Closed-loop transfer”的AI技术。该技术通过数据生成、模型训练和实验验证三个阶段,不仅优化了分子结构,提高了光稳定性等性质,还发现了新的化学现象,为化学研究提供了新思路。此技术的应用加速了新材料的开发,展示了AI在解决复杂科学问题上的巨大潜力。
38 1
|
6天前
|
人工智能 安全 PyTorch
SPDL:Meta AI 推出的开源高性能AI模型数据加载解决方案,兼容主流 AI 框架 PyTorch
SPDL是Meta AI推出的开源高性能AI模型数据加载解决方案,基于多线程技术和异步事件循环,提供高吞吐量、低资源占用的数据加载功能,支持分布式系统和主流AI框架PyTorch。
34 10
SPDL:Meta AI 推出的开源高性能AI模型数据加载解决方案,兼容主流 AI 框架 PyTorch
|
8天前
|
人工智能 PyTorch 算法框架/工具
【AI系统】动手实现 PyTorch 微分
本文介绍了使用操作符重载(OO)编程方式实现的自动微分,特别是采用反向模式(Reverse Mode)的实现方法。文中详细解释了操作符重载的基本概念及其在自动微分中的应用,以及反向模式的工作原理。通过 Python 示例代码,演示了如何手动实现类似 PyTorch 中自动微分的核心机制,包括定义 `Variable` 类、`Tape` 结构以及实现基本的数学运算符重载。最后,通过一个具体的数学函数示例展示了如何利用上述机制计算梯度,帮助读者理解反向模式自动微分的全过程。
21 1
【AI系统】动手实现 PyTorch 微分
|
9天前
|
人工智能 自然语言处理 搜索推荐
AI 赋能:开启内容生产效率革命的密钥》
在数字化时代,AI技术正成为提高内容生产效率的关键工具。本文探讨了AI在文章写作、文案创作、翻译、图像识别与生成及数据分析等方面的应用,分析了其提高效率的方式、带来的优势与挑战,并通过新闻媒体、营销、教育等行业案例,展望了AI在内容生产领域的未来。
|
20天前
|
人工智能 开发者
人类自身都对不齐,怎么对齐AI?新研究全面审视偏好在AI对齐中的作用
论文《AI对齐中的超越偏好》挑战了偏好主义AI对齐方法,指出偏好无法全面代表人类价值观,存在冲突和变化,并受社会影响。文章提出基于角色的对齐方案,强调AI应与其社会角色相关的规范标准一致,而非仅关注个人偏好,旨在实现更稳定、适用性更广且更符合社会利益的AI对齐。论文链接:https://arxiv.org/pdf/2408.16984
27 2
|
1月前
|
人工智能 知识图谱
成熟的AI要学会自己搞研究!MIT推出科研特工
MIT推出科研特工SciAgents,结合生成式AI、本体表示和多代理建模,实现科学发现的自动化。通过大规模知识图谱和多代理系统,SciAgents能探索新领域、识别复杂模式,加速新材料发现,展现跨学科创新潜力。
42 12
|
1月前
|
机器学习/深度学习 人工智能 算法
基于AI的性能优化技术研究
基于AI的性能优化技术研究
|
2月前
|
人工智能 自然语言处理
召唤100多位学者打分,斯坦福新研究:AI科学家创新确实强
【10月更文挑战第6天】斯坦福大学最新研究评估了大型语言模型(LLMs)在生成新颖研究想法方面的能力,通过100多位NLP专家盲评LLMs与人类研究人员提出的想法。结果显示,LLMs在新颖性方面超越人类(p < 0.05),但在可行性上略逊一筹。研究揭示了LLMs作为科研工具的潜力与挑战,并提出了进一步验证其实际效果的设计。论文详见:https://arxiv.org/abs/2409.04109。
46 6
|
2月前
|
存储 人工智能 供应链
AI与能源系统:优化能源生产和消费
【10月更文挑战第9天】在当前全球能源转型的关键时期,人工智能(AI)正逐渐成为推动能源系统优化与升级的重要力量。本文探讨了AI在能源生产、分配、存储和消费等方面的应用。在能源生产中,AI通过智能预测与调度、故障预警及优化资源配置等方式提升效率;在能源分配与存储方面,AI推动智能电网管理和储能系统优化;在能源消费端,AI实现精细化管理,如智能家庭能源管理和工业节能。未来,AI将进一步融入能源系统的各个环节,促进能源的高效配置与可持续发展。然而,面对数据安全和算法透明度等挑战,需加强监管与伦理审查,确保AI技术健康发展。
|
2月前
|
机器学习/深度学习 人工智能 供应链
精准农业:AI在农业生产中的应用
【10月更文挑战第1天】随着科技的发展,人工智能(AI)逐渐渗透到农业领域,通过精准监控和管理提升了农业生产效率和质量。AI在精准农业中的应用包括:精准农田管理,如个性化灌溉和施肥;作物病虫害识别与预测,及时发现并预防病虫害;智能农机自动化作业,提高作业效率;农产品质量检测与分类,确保品质;农业供应链优化,预测需求和价格。尽管面临数据收集、技术接受度等挑战,AI在精准农业中的未来前景广阔,有望实现全程自动化作业、数据驱动决策及智能预警系统,推动农业可持续发展。
127 11

热门文章

最新文章