正文
而对于大多数开发者来说,在开发学习模型时,工程师与研究人员们拥有众多 AI 框架方案可以选择。在项目的起始阶段,开发人员必须认真考量框架的特性与功能定位。在多数情况下,研究与开发阶段内选定的特性往往并不真正适合实际生产环境下的具体需求。这直接导致不少企业很难找到良好的动作模式差距对接途径,并因此被迫自行探索创造性方法加以解决——例如要求研究人员在生产系统当中进行实验或者手动翻译模型。
Facebook 与微软公司一同开发的 ONNX 正是为了弥合这一鸿沟——其允许 AI 开发人员要卖项目的当前阶段选择最匹配的框架,并随着项目的发展而轻松切换至其它框架选项。Caffe2、PyTorch 以及 Cognitive Toolkit 将在 9 月推出对 ONNX 的支持,这意味着由其中某一框架生成的模型将可被导出为 ONNX 格式,以供其它框架完成进一步推理。实现不同框架间的互操作性,简化由研究到生产的具体流程,这将极大提升 AI 社区的创新速度。
ONNX 是 Facebook 公司在深度学习方法层面作出的一项重要尝试。Facebook 公司的 AI 团队(包括 FAIR 与 AML)不断开拓 AI 前沿并开发更出色的学习算法。每当实现一项突破,研发团队都希望对相关成果加以应用以尽快服务于他人。通过 ONNX,他们希望专注于将全球范围内的各类研究与产品紧密结合起来,从而提升创新与部署工作的实现速度。
人们在研究并实验各类新模型时,都希望能够以最大的灵活性与表达空间编写神经网络——包括动态神经网络乃至梯度渐变支持,同时保持最基本的 ConvNet 成效。研究人员们还需要进行快速迭代,这意味着他们需要卓越的工具以进行交互式开发与调试。PyTorch 的诞生正是为了解决上述研究框架中常见的局限,包括帮助研究人员摆脱平台自身的束缚,以远超以往的便捷性方式探索自己的灵感与思路。
在另一方面,产品管道则持续对大规模新数据进行训练与引用,同时保证模型的总体架构不受影响。通过对经过精心调优的代码进行量化与编写,研究人员们能够借此节约资源,同时对特定于产品内某种模型的代码作出微优化。[GG1]Caffe2 在设计当中充分考虑到了各类产品、移动以及终极性能需求。Caffe2 自身具备卓越的灵活性且经过极致优化,因此能够充分遵循科学理论在低性能硬件之上发布规模更大且实际表现更出色的模型。
利用 ONNX,研发人员将能够把这两大生态系统的优点汇聚于一处。现在,他们能够从 PyTorch 当中导出多种常见神经网络模型,并将其部署在 Caffe2 之上。作为重要的第一步,这将支持研究者快速启动自己的新型生产研究与开发工作。在未来几个月当中,Facebook 还将陆续发布针对 Caffe2 与 PyTorch 的 ONNX 改进成果,以确保二者能够更为深入地实现互操作性。