ONNX Runtime 团队发布了他们进入混合世界的第一步,使开发人员能够通过 Azure EP 使用单一 API 进行边缘计算和云计算,这消除了设备连接问题,并允许开发人员切换到他们优化的云模型,节省成本并减少延迟。这一新功能允许开发人员更新应用程序逻辑并选择通过 Azure EP 采用的路径,从而提供更多功能和功能。该团队演示了儿童服务器和对象检测模型的部署,以及如何测试端点和简单配置 Onnx Runtime Azure。演示者还讨论了在本地和远程处理之间切换的能力以及潜在的用例,包括低性能模型与高性能模型。 ONNX Runtime Azure EP 可以使用部署所需的包轻松预加载和配置,有助于简化软件的使用。
00:00:00 在本节中,Azure EP 被介绍为 ONNX 运行时团队迈向混合世界的第一步,使开发人员能够将单一 API 用于边缘计算和云计算。通过这样做,开发人员将不必担心设备连接性,并且可以切换到他们已经优化并在那里使用的云模型,从而节省成本和延迟。这一新功能允许开发人员更新应用程序逻辑并选择通过 Azure EP 采用的路径,从而为他们提供更多功能和能力。总体而言,ONNX 运行时团队很高兴看到来自开发人员社区的内容以及这项新功能的实现方式。
使用 ONNX 运行时在灵活硬件上进行优化推理
使用 ONNX 运行时在灵活硬件上进行优化推理
本教程介绍了使用 ONNX 运行时在 CPU、GPU 和 OpenVINO 上部署模型。演讲者演示了如何使用不同的执行提供程序(包括 OpenVINO)在灵活的硬件上进行推理。用于推理的代码在所有环境中基本相同,主要区别在于执行提供者。 ONNX 运行时在 CPU 和 GPU 上执行推理的速度比 PyTorch 快,并且存在用于 OpenVINO 的单独的 ONNX 运行时库。总的来说,本教程概述了如何使用 ONNX Runtime 在各种硬件选项上部署模型。
Flink 中的机器学习推理与 ONNX
Flink 中的机器学习推理与 ONNX
该视频讨论了在机器学习推理中使用 ONNX 并将其部署在分布式计算框架 Flink 中的好处和实现。模型训练和生产推理之间的关注点分离、定义输入和输出规范的能力以及语言独立性使 ONNX 成为数据科学家的宝贵工具。该视频演示了如何将 ONNX 模型加载到 Flink 中,提供了丰富地图功能的关键组件,并解释了如何使用 jar 文件将模型与代码捆绑在一起。演讲者还谈到了 ONNX 的内存管理、批处理优化和硬件加速等注意事项,并强调了它对 Flink 中实时机器学习推理的好处。
使用 ONNX 改善在线购物体验
使用 ONNX 改善在线购物体验
该视频讨论了电子商务公司如何使用 AI 来创造有影响力的洞察力,从而区分在线零售领域的输赢。演讲者提供了 Bazaar Voice 的示例,这是最大的品牌和零售商网络,提供超过 80 亿条总评论,以及他们如何使用产品匹配来分享评论。然后,演讲者描述了他们如何使用 Python 开发机器学习模型,将其导出为 ONNX 格式,并使用节点环境将其部署到无服务器函数以在 ONNX 运行时上运行推理。该解决方案允许在保持低成本的同时高速匹配数千个客户目录中的数亿种产品,从而显着节省成本并为品牌和零售商带来数百万次额外评论。演讲者最后邀请观众探索更多使用 ONNX 功能的方法,并分享他们的用例以促进未来的技术进步。
DSS 在线 #4:使用 ONNX 的端到端深度学习部署
DSS 在线 #4:使用 ONNX 的端到端深度学习部署
该视频讨论了端到端深度学习部署的挑战,包括管理不同的语言、框架、依赖项和性能可变性,以及团队之间的摩擦和专有格式锁定。引入开放神经网络交换 (ONNX) 作为深度学习序列化的基于协议缓冲区的格式。它支持主要的深度学习框架,并提供用于运行模型的独立工件。 ONNX ML 也作为 ONNX 规范的一部分进行讨论,该规范为传统机器学习预处理提供支持。 ONNX 的局限性是公认的,但它被视为一个快速发展的项目,得到了大型组织的大力支持,提供了跨语言、框架、运行时和版本的不同维度的真正可移植性。
ONNX 和 ONNX 运行时与 Microsoft 的 Vinitra Swamy 和 Pranav Sharma
ONNX 和 ONNX 运行时与 Microsoft 的 Vinitra Swamy 和 Pranav Sharma
该视频讨论了开放神经网络交换 (ONNX) 格式,该格式旨在使模型在序列化和版本控制方面具有互操作性和高效性。 ONNX 由中间表示层、算子规范组成,支持不同类型的数据。 ONNX 运行时以 C++ 和汇编程序实现,提供向后兼容性,并可通过执行提供程序、自定义运算符和图形优化器进行扩展。 API 提供对平台、编程语言和执行提供程序的支持。用户可以创建会话、优化模型并将它们序列化以备将来使用。演讲者展示了 ONNX Runtime 的多功能性和效率,以及在 Android 设备上运行的能力。
兼容性回到 CentOS 7.6。还讨论了 ONNX Go Live Tool,这是一种用于转换和调整模型以获得最佳性能的开源工具。本节以使用 ONNX 的 Microsoft 服务示例作为结尾,包括 Office 缺失确定器模型的性能提升 14 倍,以及认知服务中使用的光学字符识别模型的性能提升 3 倍。
Jan-Benedikt Jagusch Christian Bourjau:使用 ONNX 让机器学习应用变得快速和简单
Jan-Benedikt Jagusch Christian Bourjau:使用 ONNX 让机器学习应用变得快速和简单
在这段关于机器学习和部署的视频中,演讲者讨论了将模型投入生产的挑战,尤其是挑选和部署模型的困难。他们介绍了 ONNX,一种用于导出机器学习模型的通用文件格式,并解释了它如何帮助解耦训练和推理,从而使部署更快、更高效。他们提供了一个使用 scikit-learn 的现场演示,解释了如何将机器学习管道转换为 ONNX 格式。他们还讨论了 Docker 容器在部署机器学习模型方面的局限性,并强调了改用 ONNX 的好处。他们谈到了加密模型以提高安全性的主题,并解决了 ONNX 的可用性问题,ONNX 仍然是一个年轻的生态系统,有一些神秘的错误消息。
用于边缘和云端混合推理的 ONNX Runtime Azure EP
用于边缘和云端混合推理的 ONNX Runtime Azure EP
ONNX Runtime 团队发布了他们进入混合世界的第一步,使开发人员能够通过 Azure EP 使用单一 API 进行边缘计算和云计算,这消除了设备连接问题,并允许开发人员切换到他们优化的云模型,节省成本并减少延迟。这一新功能允许开发人员更新应用程序逻辑并选择通过 Azure EP 采用的路径,从而提供更多功能和功能。该团队演示了儿童服务器和对象检测模型的部署,以及如何测试端点和简单配置 Onnx Runtime Azure。演示者还讨论了在本地和远程处理之间切换的能力以及潜在的用例,包括低性能模型与高性能模型。 ONNX Runtime Azure EP 可以使用部署所需的包轻松预加载和配置,有助于简化软件的使用。
使用 ONNX-TensorRT 的量化感知训练模型的 INT8 推理
使用 ONNX-TensorRT 的量化感知训练模型的 INT8 推理
NVIDIA 的深度学习软件工程师 Dheeraj Peri 解释了量化的基础知识以及 TensorRT 如何通过各种融合来支持量化网络。他们专注于使用 TensorFlow 2.0 框架训练的模型以及如何执行训练后量化 (PTQ) 和量化感知训练 (QAT)。解释了部署使用 Nvidia TF2 量化工具包和 ONNX-TensorRT 训练的模型的过程,并提供了各种 ResNet 模型的准确性和延迟结果。总体而言,演示了从 TensorFlow 到通过 ONNX-TensorRT 部署 TensorRT 的端到端 QAT 工作流程。
ONNX 模型的实用训练后量化
ONNX 模型的实用训练后量化
该视频讨论了如何实施量化以将 TensorFlow 模型的大小缩减为 ONNX 量化模型。 ONNX 模型的尺寸明显更小,并且可以在 CPU 上更快地执行。作者提供了有关如何实现动态量化以及如何检查 CPU 速度的代码片段和说明。
该视频展示了量化机器学习模型以使其更快更轻的过程,同时承认这可能会导致准确性下降。将 ONNX 和 TensorFlow 模型与量化模型进行比较,发现后者更快、更轻。然而,量化模型并没有像其他模型那样从 GPU 的使用中受益。然后评估量化模型的准确性,发现只有轻微下降。还讨论了可视化 ONNX 模型的过程,并演示了 Loot Rodas Neutron 应用程序的使用。整个过程导致模型大小从 1 GB 减少到 83 MB,而准确性损失最小。
QONNX:在 ONNX 中表示任意精度量化 NN 的提议
QONNX:在 ONNX 中表示任意精度量化 NN 的提议
演讲者讨论了低精度量化,并以其在无线通信中的应用为例。他们提出了 QONNX,这是一种在 ONNX 中表示任意精度量化神经网络的方言。 QONNX 简化了量化表示,将其扩展到更广泛的场景,并为不同类型的舍入和二进制量化提供了选项。它被用于在 FPGA 上部署,并被集成到 Brevitas Python 量化库中,NQCDQ 将被集成到下一个版本中。