Fork me on GitHub

微软推出了Cloud Native Application Bundles和开源ONNX Runtime

微软的Microsoft Connect(); 2018年的开发者大会 对Azure和IoT Edge服务进行了大量更新; Windows Presentation Foundation,Windows Forms和Windows UI XAML Library的开源以及.NET 基金会会员模型的扩展。但那些只是冰山一角。微软还联合Docker发布了Cloud Native Application Bundle(CNAB),这是一个开源的,云无关的规范,用于打包和运行分布式应用程序。它还免费提供ONNX Runtime,这是一种用于ONNX格式的人工智能(AI)模型的推理引擎。

云原生应用程序包

微软本周发布了CNAB规范(https://cnab.io/),以及Duffle (https://github.com/deislabs/duffle),这是一个CNAB客户端的开源参考实现,可以安装,升级,卸载,加密签名和验证CNAB捆绑包的完整性。此外,Microsoft还提供了一个包存储库服务器,一个Visual Studio Code扩展和一个Electron点击式安装程序的示例实现。

Docker是第一个为容器化应用程序实现CNAB的公司。它将作为Docker App的一部分推出,这是一种用于将CNAB捆绑包装为Docker Hub或Docker Enterprise中的管理Docker镜像的新工具。

微软表示:“今天的云不是只在一个运行时系统上运行:它不仅仅是无服务器,或只是Kubernetes,[或]只是虚拟机。每个运行时都有自己的配置工具,Terraform,Ansible,ARM,容器。为了在这种环境中取得成功,开发人员需要一个用于分布式应用程

与Docker合作开发的CNAB是从头开始设计的,可与Docker,Azure,本地运行时环境(如OpenStack,Kubernetes)以及介于两者之间的所有内容一起使用。它允许开发人员定义可部署到平台组合的资源,包括工作站,公有云,离线网络和物联网环境,并将分布式应用程序中的离散资源作为单个逻辑单元进行管理。

此外,CNAB的可扩展体系结构使用户能够对包进行签名,数字验证和附加签名,即使底层技术本身不支持这些功能,也可以控制捆绑包的使用方式。它还支持导出捆绑包及其依赖项,以及在存储库中存储捆绑包以进行远程搜索,获取和安装。


ONNX运行时

微软在开源中提供了大量框架和引擎。第一个是开放式神经网络交换(ONNX)运行时 https://github.com/microsoft/onnxruntime,这是一种用于ONNX格式的机器学习模型的高性能推理引擎。它从今天开始在GitHub上提供,可以自定义并直接集成到现有代码库中,或者从源代码编译,在Windows 10,Linux和各种其他操作系统上运行。

对于不熟悉的人来说,ONNX是一种与平台无关的深度学习模型,可以实现开源AI框架之间的互操作性,例如Google的TensorFlow,Microsoft的Cognitive Toolkit,Facebook的Caffe2和Apache的MXNet。微软,AWS和Facebook在大约一年前于2017年9月联合宣布,它正在由亚马逊,Nvidia,英特尔和AMD等公司进行积极的开发。

也许更重要的是,它得到了更广泛的ONNX社区的支持。英特尔和微软正在合作将nGraph编译器集成为ONNX Runtime的执行提供程序。Nvidia正在帮助整合TensorRT; 高通公司表示支持。它可以在嵌入式设备,Windows和Linux上运行......它极大地简化了开发人员的生活。随着微软开发Azure机器学习服务 - 一个允许开发人员构建,培训和部署AI模型的云平台 - 一般可用并发布Azure认知服务语言理解API的容器化支持,ONNX的推出也随之而来。

posted @ 2018-12-05 11:14  张善友  阅读(1570)  评论(0编辑  收藏  举报