What is ONNX Runtime?
将机器学习模型从研究阶段推向生产,或扩大训练规模,往往需要应对硬件、软件和性能瓶颈等复杂难题。ONNX Runtime 的设计旨在简化这一过程,它提供了一个统一、高性能的引擎,可在您需要的任何地方(从大型云集群到边缘设备和浏览器)运行和训练模型。它可以无缝集成到您现有的工作流程中,使您无需彻底改造技术栈即可加速 AI 工作负载。
驱动性能和灵活性的关键特性
ONNX Runtime 提供了一系列强大的功能,旨在优化和简化您的机器学习操作:
🚀 加速推理和训练: 利用内置的优化和硬件加速(CPU、GPU、NPU)来显著提高模型执行速度。ONNX Runtime 自动应用诸如图优化等技术,以提高推理任务和大型模型训练的性能,从而减少延迟和计算成本。
💻 随处运行: 使用您喜欢的语言(Python、C++、C#、Java、JavaScript、Rust 等)进行开发,并在各种平台(包括 Linux、Windows、macOS、iOS、Android,甚至直接在 Web 浏览器中,通过 ONNX Runtime Web)上保持一致的部署。
🧩 无缝集成: 使用来自流行的深度学习框架(如 PyTorch 和 TensorFlow/Keras)的模型,以及传统的 ML 库(如 scikit-learn、LightGBM 和 XGBoost)。将您现有的模型转换为 ONNX 格式,并使用运行时有效地运行它们。
💡 赋能生成式 AI: 将前沿的生成式 AI 和大型语言模型 (LLM)(如 Llama-2)集成到您的应用程序中。ONNX Runtime 提供了在各种平台上进行图像合成和文本生成等高要求任务所需的性能。
📈 优化训练工作负载: 减少与训练大型模型(包括流行的 Hugging Face transformers)相关的时间和成本。对于 PyTorch 用户,加速训练可以像添加一行代码一样简单。它还支持设备端训练,以获得更个性化和保护隐私的用户体验。
开发者如何使用 ONNX Runtime
部署计算机视觉模型: 您已经在 PyTorch 中训练了一个对象检测模型。为了通过在 Linux 服务器上运行的 Web API 高效地提供该模型,并将其直接嵌入到 Android 应用程序中以供离线使用,您可以将该模型转换为 ONNX 格式。然后,您在后端服务器上使用 ONNX Runtime 进行低延迟推理,并在 Android 应用程序中使用 ONNX Runtime Mobile,从而确保在两个平台上实现一致的行为和优化的性能,而无需重写核心逻辑。
加速 NLP 推理: 您的客户支持聊天机器人使用 transformer 模型进行意图识别。随着用户流量的增长,推理延迟成为一个问题。通过部署配置为利用可用 GPU 资源的 ONNX Runtime 的模型,您可以显著减少响应时间,从而改善用户体验并降低每次查询的计算负载。
加速大型模型训练: 您的团队需要在多 GPU 集群上微调像 Llama-2 这样的大型语言模型。您可以将 ONNX Runtime Training 与您现有的 PyTorch 训练脚本集成,而不是进行复杂的手动优化。这大大加快了训练过程,从而加快了迭代速度并降低了计算成本。
以更少的精力获得优化的性能
ONNX Runtime 充当您机器学习工作负载的多功能加速器。它通过提供一致的高性能执行层来应对在各种环境中部署和训练模型的挑战。通过支持您现有的工具并针对广泛的硬件和平台,它使您可以更多地关注构建创新的 AI 驱动应用程序,而减少关注优化和部署的复杂性。受到 Microsoft、Adobe、SAS 和 NVIDIA 等公司的信任,它是满足高要求 AI 任务的生产就绪解决方案。





