开源 | 微软、Facebook联手打造AI生态系统ONNX

标签: 开源 微软 facebook | 发表时间:2017-09-08 12:49 | 作者:微软亚洲研究院
出处:http://blog.sina.com.cn/msra

​编者按:今日,微软和Facebook宣布将推出Open Neural Network Exchange(ONNX,开放神经网络交换)格式,这是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行迁移。


ONNX是迈向开放生态系统的第一步,AI开发人员可以轻松地在最先进的工具之间转换,并选择最适合他们的组合。ONNX的应用能够弥合实验和生产过程中框架特征不一致产生的差异,让AI开发人员可以选择符合项目当前阶段的框架并实现自主切换。本文转载自公众号“新智元”。英文原文链接:https://www.microsoft.com/en-us/cognitive-toolkit/blog/2017/09/microsoft-facebook-create-open-ecosystem-ai-model-interoperability/


微软一直以来坚持一个信念:将AI传递给更多的人,让每个人都能够亲身感受到技术进步带来的便利。因此,我们为大家提供很多行之有效的平台和工具,包括微软认知工具包,构建深层神经网络的开源框架,以促进AI的普及进程。我们还积极与其他组织展开合作,共同探讨行业问题、寻求解决方案。


今天,我们高兴地宣布,微软和Facebook一起推出Open Neural Network Exchange (ONNX,开放神经网络交换) 格式。 ONNX为AI框架生态系统中的互操作性和创新提供了共享的模型表征。Cognitive Toolkit、Caffe2和PyTorch都将支持ONNX。微软和Facebook共同开发了ONNX这一开源项目,并希望社区能够帮助其不断进化。


什么是ONNX表征?


Cognitive Toolkit和其他框架提供了使开发人员更容易构建和运行用来表征神经网络的计算图的界面。虽然它们提供的功能类似,但是每个框架都有自己的格式对这些图进行表征。 ONNX表征有以下主要优点:


框架互操作性:开发人员可以更轻松地在框架间转换,并为手头的任务选择最佳工具。每个框架都针对具体特性进行了优化,如快速训练,支持灵活的网络架构,在移动设备上进行推理等等。许多时候,研发过程中最重要的特性与生产环节最重要的特性是不同的。这导致开发人员在框架之间进行模型转换时,会因框架使用不正确或明显延迟而使得效率降低。使用ONNX表征的框架简化了这一点,使得开发人员更加灵活。


共享优化:硬件供应商对神经网络性能的优化可以通过定位ONNX表征来同时影响多个框架。优化经常需要被分别整合进入每个框架,这一过程很费时间。ONNX 表征使得优化更容易实现,从而覆盖更多开发人员。


ONNX技术总结


ONNX提供了可扩展计算图模型的定义,以及内置运算器和标准数据类型的定义。起初,我们专注于推理所需的能力(评估)。


每个计算数据流图被构造为形成非循环图的节点列表。节点具有一个或多个输入和输出。每个节点是对一个运算器的调用。该图还包含记录其目的、作者等信息的元数据。


运算器在图外部实现,但是内置运算器的集合在框架之间是可移植的。支持ONNX的每个框架都将提供这些运算器在适用数据类型上的实现。


ONNX的可用性


ONNX代码和文档的初始版本现在已经在GitHub(https://github.com/onnx/onnx)上开源。我们将积极开展基于ONNX的工作,即将推出的Cognitive Toolkit新版本将支持ONNX。我们还计划和Facebook一道,提供部署参考、示例、工具等。


ONNX表征形成了开放生态系统的基础,使AI更容易获取并富有价值。开发人员可以为其任务选择合适的框架,框架作者可以专注于创新,硬件供应商可以简化优化流程。我们希望社区能够支持ONNX,以实现这一令人兴奋的愿景。



 

相关 [开源 微软 facebook] 推荐:

开源 | 微软、Facebook联手打造AI生态系统ONNX

- - 微软亚洲研究院
​编者按:今日,微软和Facebook宣布将推出Open Neural Network Exchange(ONNX,开放神经网络交换)格式,这是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行迁移. ONNX是迈向开放生态系统的第一步,AI开发人员可以轻松地在最先进的工具之间转换,并选择最适合他们的组合.

Facebook开源闪存数据库RocksDB

- - IT经理网
本周四Facebook宣布开源其嵌入式数据库 RocksDB(一种嵌入式Key-value存储系统),该数据库能够充分利用闪存的性能,大大提升应用服务器的速度. Facebook用RocksDB来驱动一些面向用户的应用,这些应用由于需要通过网络访问外部存储而性能低下,此外Facebook还用RocksDB来解决固态硬盘IO利用率不高相关的一些问题.

Facebook开源的真正原因

- - 外刊IT评论
在OSCON的第三天,来自Facebook的James Pearce带来了一场主题演讲,我也有幸在场. Pearce解释了Facebook为何大规模开源其软件. 他告诉我们,Facebook每个月都会发布数个开源项目,并且有数百个工程师会持续地支持这些项目——他们参与全世界的各个开源社区,改进软件的体验.

Facebook 与微软新合作:PhotoDNA 技术识别色情照片

- loverty - LiveSino - LiveSide 中文版
纽约时报报导称,微软与 Facebook 周四宣布了一项新的合作. 社交巨头 Facebook 将利用微软研究院的 PhotoDNA 技术来识别在线照片中的儿童色情照片,即便是修改或裁剪过的. 去年,微软已经在其 Windows Live SkyDrive、Hotmail、Bing 等服务中测试了 PhotoDNA 技术.

图说Google、Facebook、微软等大公司的企业文化

- 奥斯汀Outman - 草根网
判断一家公司企业文化的标准有很多,其中之一就是组织结构图. 刚在新浪微博上看到一张有趣的组织结构图,里面包括了亚马逊、Google、Facebook、微软、苹果、甲骨文等六家公司的组织结构图. 从图中我们可以看出亚马逊有着严格的等级制度;Google也有清晰的等级,但是部门之间相互交错;Facebook就像是一张分布式网络;微软则是各自占山为王;苹果是一个人说了算.

微软CEO鲍尔默:Facebook“是反社交的”

- 洞箫 - cnBeta.COM
据国外媒体报道,微软CEO史蒂夫-鲍尔默(Steve Ballmer)是一个快言快语的人,他在Web 2.0峰会上演讲时自然也冒出了很多耿直的观点. 下面是笔者梳理的鲍尔默在会上就必应、Xbox、苹果和雅虎等发表的一些观点:.

Facebook网站所使用的开源软件一览表

- dylan - ITeye资讯频道
Facebook是全球首屈一指的社交网络平台,该网站采用了很多开源软件,Facebook采用的编程语言包括:Java, Ruby, PHP, Python, Objective-C. 下面是Facebook正在使用或者贡献的开源软件详细列表和介绍:. Apache Cassandra是一套开源分布式Key-Value存储系统.

红帽CEO:没有开源就没有谷歌和Facebook

- 幻幽 or A書 - cnBeta.COM
美国科技博客BusinessInsider近日对红帽CEO吉姆・怀特赫斯特(Jim Whitehurst)进行了采访,怀特赫斯特称,如今开源应用几乎无处不在,科技公司、银行和股票交易所等都是使用. 没有开源,谷歌和Facebook根本不可能继续存在.

2013 年 Facebook 在开源方面的工作回顾

- - 博客 - 伯乐在线
自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句,开源就已经是我们工程哲学中的一个重要的部分. 现在,我们使用、维护并为大量的主要项目做出了贡献——涉及多种领域如手机工具、大数据系统、客户端的web库、后端的运行库和基础架构,也涉及到开放计算项目,服务器和存储硬件.

Presto 来自Facebook的开源分布式查询引擎

- - 标点符
PrestoDB 来自Facebook的开源分布式查询引擎. Presto是一个分布式SQL查询引擎, 它被设计为用来专门进行高速、实时的数据分析. 它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions). 下图中展现了简化的Presto系统架构.