microsoft/onnxruntime
机器学习在各种硬件上运行并加速已训练好的 ONNX 模型,同时支持在多节点 NVIDIA GPU 上加速 Transformer 训练。
ONNX Runtime 是一个 ONNX 格式模型的执行引擎:它加载从 PyTorch、TensorFlow/Keras、scikit-learn、LightGBM 或 XGBoost 导出的模型,在不同硬件、驱动和操作系统上运行推理,并借助硬件加速器以及图优化和变换来提升性能。另有一条独立训练路径,只需在现有 PyTorch 训练脚本中加一行代码,就能在多节点 NVIDIA GPU 上加速 Transformer 模型的训练。
工作机制
该项目不发布自己的模型权重,而是使用 ONNX 交换格式并执行其中的模型。实际效果是:在一个框架里训练好的模型只需导出为 ONNX 一次,之后由这个运行时提供服务,推理时不必保留原框架。README 提到性能提升来自两个机制:使用可用的硬件加速器,以及通过优化和变换重写计算图。
两条使用路径
推理路径是主要路径:导出模型,然后在现有 CPU 或 GPU 上通过 ONNX Runtime 运行。文档和配套示例仓库覆盖这条路径(推理文档、推理示例)。训练路径范围更窄:面向多节点 NVIDIA GPU 环境下的 Transformer 模型,以追加方式加入现有 PyTorch 训练脚本,而不是替换它(训练文档、训练示例)。
2023 年一位 Hacker News 评论者将 ONNX 描述为与框架无关的模型交换格式,将 ONNX Runtime 描述为运行这些模型的性能较好的运行时(评论);这是旧帖中的第三方观点,并非基准测试。
要求与限制
- 兼容性在 README 中表述得较宽泛(不同硬件、驱动、操作系统),但没有逐一列出经过验证的加速器或平台组合;具体目标能否使用,应以链接文档为准(文档)。
- 2023 年讨论的 WebGPU 后端当时只实现了少量算子,浏览器端的 LLM 推理还不可行(评论);因此浏览器 GPU 支持取决于具体算子,应查当前文档,而不是依赖这份旧快照。
- 训练加速只针对 Transformer 模型和多节点 NVIDIA GPU 配置。
项目与许可
ONNX Runtime 采用 MIT 许可(LICENSE)。README 说明项目可能收集使用数据并发送给 Microsoft,详情见隐私声明(隐私声明)。发布说明在 GitHub 上(releases),即将发布的版本日期和功能见公开路线图(roadmap)。
HotRepo 点评
2023 年的 Hacker News 讨论显示出对 WebGPU 后端和互操作性的兴趣,但不能说明当前性能或后端完整度。趋势记录太少,不足以判断势头,因此不宜作为选型依据。
本文由 AI 根据项目 README 生成,更新于 2026年10月31日,以项目官方文档为准。