0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

DPVg_AI_era 来源:未知 作者:李倩 2018-05-04 10:13 次阅读

今天,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的更多细节:

生产性:在PyTorch 1.0中,你的代码可以继续按原样运行,我们没有对现有的API做任何大更改。如果你不需要优化或导出模型,则不必使用这些新功能,也不会有任何缺点。此外,可以逐步使用traced或@script模块/函数。

JIT编译器:使用torch.jit编译器将模型导出到非Python环境,并提高其性能。对于不包含循环和if语句的网络,trace是非侵入式的,并且足够稳健,可以处理各种编码风格;对于主要使用控制流的模型(如RNN),我们的解决方案是脚本模式(@script)。

优化和导出:Caffe2 / ONNX中模型的python-free表示

后端:我们正在替换(或重构)后端ATen库,以整合来自Caffe2的功能和优化。

Timeline:我们的目标是在今年夏天推出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转换的工作。

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)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    26443

    浏览量

    264041
  • Facebook
    +关注

    关注

    3

    文章

    1428

    浏览量

    54029
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119906
  • pytorch
    +关注

    关注

    2

    文章

    761

    浏览量

    12829

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

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    开发者手机 AI - 目标识别 demo

    Lite的API接口实现主要功能; Mindspore Lite为Openharmony AI推理框架,为上层应用提供统AI推理接口,
    发表于 04-11 16:14

    物联网与医疗废物处置全过程电子信息化跟踪管理系统研究

    与医疗废物处置全过程电子信息化跟踪管理系统(以下简称“医废跟踪管理系统”)的研发理念、技术构成、功能特性及其在实际应用中的成效,尤其是翼思维医废收运管理系统的作业流程。 1. 研发理念与技术构成 医废跟踪管理系统的
    的头像 发表于 04-01 16:14 188次阅读

    永磁同步电机全速域矢量控制的全过程介绍

    一直都想知道永磁同步电机的转速从零增加到极限这个过程会发生什么,这篇文章介绍一下永磁同步电机全速域矢量控制的全过程,即电机的转速从零开始逐渐增加,如何设计电流环电流使得电机输出恒定转矩,且保持转速稳定。
    的头像 发表于 03-15 09:29 582次阅读
    永磁同步电机全速域矢量控制的<b class='flag-5'>全过程</b>介绍

    用C语言开发DSP系统全过程

    电子发烧友网站提供《用C语言开发DSP系统全过程.pdf》资料免费下载
    发表于 11-18 10:57 0次下载
    用C语言开发DSP系统<b class='flag-5'>全过程</b>

    用C语言开发DSP系统的全过程讲解

    电子发烧友网站提供《用C语言开发DSP系统的全过程讲解.pdf》资料免费下载
    发表于 11-18 10:53 0次下载
    用C语言开发DSP系统的<b class='flag-5'>全过程</b>讲解

    RT-Thread启动进入就绪态最高优先级线程的全过程与栈帧分析(上)

    本文简单讨论RT-Thread在启动后,逐步进入到处于就绪态最高优先级main线程的全过程。部分内容涉及到汇编指令,但通俗易懂。
    的头像 发表于 11-08 12:47 597次阅读
    RT-Thread启动进入就绪态最高优先级线程的<b class='flag-5'>全过程</b>与栈帧分析(上)

    【KV260视觉入门套件试用体验】Vitis AI 构建开发环境,并使用inspector检查模型

    /vitis-ai-cpu:latest 第二步,可以使用了………完……… (^_^),当然不是这么简单,Vitis AI 不仅仅是工具,而是
    发表于 10-14 15:34

    屏幕式声光电子琴制作全过程

    电子发烧友网站提供《屏幕式声光电子琴制作全过程.pdf》资料免费下载
    发表于 10-10 10:55 0次下载
    屏幕式声光电子琴制作<b class='flag-5'>全过程</b>

    OpenHarmony AI框架开发指导

    ,ClientInfo,AlgorithmInfo,DataInfo的数据结构 具体开发过程可参考唤醒词识别SDK开发示例 2、开发插件 AI引擎框架规定了套算法插件接入规范,各插
    发表于 09-19 18:54

    pytorch模型转换需要注意的事项有哪些?

    什么是JIT(torch.jit)? 答:JIT(Just-In-Time)是组编译工具,用于弥合PyTorch研究生产之间的差距。它允许创建可以在不依赖Python解释器的情况
    发表于 09-18 08:05

    英特尔加入PyTorch基金会,通过PyTorch*推动AI普及

    与创新,在加速AI发展方面发挥关键作用。加入PyTorch基金会,进一步彰显了英特尔致力于通过技术支持并培育其生态系统以加速机器学习框架的演进。 英特尔自2018年起为PyTorch
    的头像 发表于 08-19 11:15 343次阅读

    深度学习框架pytorch介绍

    深度学习框架pytorch介绍 PyTorch是由Facebook创建的开源机器学习框架,其中TensorFlow是完全基于数据流图的。它是一个使用动态计算图的
    的头像 发表于 08-17 16:10 1133次阅读

    深度学习框架pytorch入门与实践

    深度学习框架pytorch入门与实践 深度学习是机器学习中的一个分支,它使用多层神经网络对大量数据进行学习,以实现人工智能的目标。在实现深度学习的
    的头像 发表于 08-17 16:03 1195次阅读

    原位拉曼系统--实时监测半导体薄膜生长全过程

    原位拉曼系统实时监测半导体薄膜生长全过程前言原位拉曼系统可以实时监测半导体薄膜生长全过程,利用共聚焦拉曼光谱的“In-Situ”方式,在石英炉中原位观察半导体薄膜生长过程,并且通过监控不同的生长因素
    的头像 发表于 08-14 10:02 527次阅读
    原位拉曼系统--实时监测半导体薄膜生长<b class='flag-5'>全过程</b>

    基于AI视觉技术构建柔性生产数字化车间

    星网锐捷构建数字化车间,打造具有国内领先水平AI视觉软件基础平台,应用于电子产品智能柔性生产线,实现省人或无人化,提高生产效率及品质,生产
    的头像 发表于 06-20 16:24 494次阅读
    基于<b class='flag-5'>AI</b>视觉技术构建柔性<b class='flag-5'>生产</b>数字化车间