Facebook联手微软推出AI开源项目,允许开发者切换不同框架
近日,微软和Facebook宣布了一个新的合作开源项目,旨在为不同编程框架之间的神经网络创建共享模型。这个被称为开发式神经网络交换(ONNX)的新项目将会在Cognitive Toolkit、PyTorch和Caffe2之间实现模型共享。
ONNX会帮助解决目前机器学习生态系统中的一个关键问题。虽然现在有众多的神经网络和机器学习系统,但是它们之间是不互通的,无法跨系统操作。通过使用ONNX,Facebook可以导出PyTorch创建的训练模型,然后使用Caffe2进行推断。这一功能的实现是非常重要的。微软表示正在开发支持ONNX的Cognitive Toolkit版本。
该系统会跟踪使用框架执行生成神经网络的方式,然后使用该信息去创建一个可以移植的通用算图。鉴于每种框架在计算时会产生非常类似的最终结果,这种方法是可行的,即使存在着较高级别的差异。
目前,ONNX最大的问题是与其他一些流行的机器学习框架不兼容,包括来自于谷歌的TensorFlow和亚马逊首选的机器学习框架Apache MXNet。
不过,这对项目的实现并没有多大的影响。Facebook表示,为了支持该项目,它必须对PyTorch和Caffe2进行更改。微软和Facebook希望开源社区能够帮助他们演化ONNX,并在未来实现更多框架的支持。
此外,ONNX暂不支持的那些更复杂的网络,比如PyTorch中动态流量控制所创建的网络,也是Facebook计划在未来添加的功能。