芯片层 开放阅读

ONNX

Open Neural Network Exchange

概念 ID
open-neural-network-exchange
更新时间
2026-05-29
来源数量
待补

ONNX

3 秒看懂

ONNX 是人工智能模型的“通用语言”和“集装箱标准”。 它定义了一套开放的格式,让用 PyTorch、TensorFlow 等不同框架训练出的模型,可以轻松地在英伟达、英特尔、华为等不同厂商的硬件和推理引擎上高效运行,是连接训练与部署的关键桥梁。

3 分钟产业解释

在 AI 产业化落地过程中,一个核心痛点是 “训练-部署”断裂:算法工程师在 PyTorch 等研究友好的框架中迭代模型,而工程团队需要将模型部署到多样的边缘设备(手机、汽车)或云端异构硬件(GPU、专用AI芯片)上。每次硬件或框架变更,都可能需要对模型进行大量重写和优化,成本高昂。

ONNX 解决了这个问题。 它作为一个中立的、开放的模型表示标准:

  1. 统一格式:将模型结构(计算图)和权重封装成一个 .onnx 文件。
  2. 生态枢纽:几乎所有主流训练框架(PyTorch、TensorFlow、PaddlePaddle)都支持将模型导出为 ONNX 格式。
  3. 优化终点:硬件厂商(如英伟达、英特尔、高通)和软件厂商(如微软)基于 ONNX 格式开发高性能的推理引擎(如 ONNX Runtime),进行深度优化。

本质上,ONNX 是 AI 软件栈中的“中间件”标准。 它通过 解耦 训练与部署,促进了 AI 生态的繁荣和互操作性,降低了企业的部署成本和供应商锁定风险,是 AI 工程化、产业化的重要基础设施。

技术原理

ONNX 的核心是定义了一种基于 计算图(Computation Graph) 的模型表示方法。

graph LR
    subgraph “PyTorch/TensorFlow 模型”
        A[Python 训练代码]
    end

    subgraph “ONNX 表示层”
        B[导出器 Exporter]
        C[.onnx 文件]
        D[定义:计算图]
        E[定义:算子集 Opset]
        F[定义:元数据/权重]
    end

    subgraph “硬件优化层”
        G[优化器/编译器
如:ONNX Runtime
TensorRT, OpenVINO]
        H[针对 CPU/GPU/NPU
的执行代码]
    end

    A --> B
    B --> C
    C --- D
    C --- E
    C --- F
    C --> G
    G --> H
  1. 计算图(Graph):由 节点(Node)边(Edge) 构成。

    • 节点:代表一个算子(Operator),如 Conv(卷积)、MatMul(矩阵乘)、Relu(激活函数)。每个节点有名称、属性和输入输出。
    • :代表张量(Tensor)数据的流动,连接一个节点的输出与另一个节点的输入。
    • 这种静态图表示有利于进行全局优化分析,例如算子融合、常量折叠、内存复用等。
  2. 算子(Operator)与算子集(Opset)

    • ONNX 定义了标准化的算子库,明确了每个算子的名称、输入输出、属性和数学语义。截至 2025 年初,ONNX 官方算子数量已超过 200 个,覆盖计算机视觉、自然语言处理、语音等主流领域。
    • 算子集(Opset Version) 是一个特定的算子集合版本号。模型与推理引擎需要在兼容的算子集版本上运行,这保证了向后兼容性和功能的明确性。每次算子集的更新,都会增加新的算子或对现有算子进行扩展,以支持诸如动态形状、量化数据类型(如 INT8、FP8)等新特性。
  3. 模型文件(.onnx)

    • 使用 Protocol Buffers(一种轻便高效的结构化数据存储格式)进行序列化。
    • 包含:
      • ModelProto:顶层容器,包含图、算子集版本、模型元数据(如作者、版本号、描述)等。
      • GraphProto:计算图本身,定义了图的输入、输出以及所有的节点和边。
      • TensorProto:权重和常量的张量数据,支持多种数据类型(float32、float16、int8 等)。
      • Attribute:算子的配置参数(如卷积核大小、步长、填充等)。
  4. 动态输入与控制流

    • 为支持可变长度的序列(尤其是 NLP 任务中的可变批次和序列长度),ONNX 支持 符号化维度(Symbolic Dimensions) 来表示动态形状,例如将 batch size 标记为 “N”。
    • 对于控制流(如 if/else、loop),ONNX 提供了 IfLoopScan 等专用控制流算子来封装子图,而非支持完全的动态图。这使得模型可以在保持静态图优化优势的同时,表达一定程度的动态行为。

关键参数

评估 ONNX 模型及其生态健康度的关键参数包括:

  • 算子集覆盖率(Opset Coverage):衡量一个推理引擎或硬件平台支持的算子集版本和具体算子数量。全面覆盖意味着从主流框架导出的模型可以直接运行,无需回退到自定义算子。通常,硬件厂商会公布其最新 SDK 所支持的 Opset 版本及算子明细。
  • 推理性能(吞吐量/延迟):在给定硬件上,使用 ONNX Runtime 或优化引擎后,模型处理请求的速度,通常以每秒查询数(QPS)或单次推理延迟(毫秒)衡量。性能对比需要注明 硬件环境、批处理大小、精度(FP32/FP16/INT8)和软件版本。例如,在 2024 年公开的多个基准测试中,ONNX Runtime 在 Intel Xeon 4th Gen 上的 BERT-Large 推理吞吐量较早期版本提升可达 30%–50%(来源:Intel 与微软联合白皮书,2024)。
  • 模型转换成功率:从主流训练框架(PyTorch、TensorFlow)自动导出为 ONNX 格式的成功率。公开资料未见统一量化统计,但社区反馈显示,对于 ResNet、BERT、YOLO 等流行模型,使用官方导出工具即可成功转换;涉及复杂数据预处理或自定义 C++ 算子的模型,则需额外工作。
  • 生态活跃度:GitHub 仓库的 Star、Fork 数,月活贡献者数量,以及各厂商新增硬件/框架支持的速度。截至 2025 年 3 月,ONNX 主仓库在 GitHub 上获得超过 17k Star(来源:GitHub),ONNX Runtime 仓库 Star 数超过 13k,是 AI 互操作性领域最活跃的项目之一。
  • 内存占用与能效:在边缘和移动设备上,ONNX 模型在推理时的峰值内存和功耗至关重要,直接影响设备成本和续航。部分厂商会披露采用 ONNX Runtime Mobile 或专用 NPU 加速后的能效比,例如高通公布骁龙 8 Gen 3 在运行 ONNX 格式的 Stable Diffusion 时,功耗较上一代降低 X%(公开资料未见统一口径,各芯片具体指标需查阅厂商白皮书)。

技术路线

ONNX 并非唯一的模型部署方案,以下是其与常见替代路径的对比,并延伸其在不同场景下的定位。

维度ONNX + Runtime硬件厂商专属格式/引擎 (如 TensorRT, OpenVINO)AI编译器直接优化 (如 TVM, MLIR)云厂商专属服务 (如 AWS SageMaker Neo, Google Vertex AI)
定位开放标准 + 通用优化引擎特定硬件的极致优化底层、跨平台的编译优化一体化、托管式的优化服务
核心优势生态广泛,互操作性最佳,支持硬件多样,避免锁定。在特定硬件(如NVIDIA GPU)上性能极致,可对算子、内存和并发深度优化。优化潜力最大,可探索新的优化策略和硬件后端,支持新算子开发。易用性高,全托管,与云服务深度集成,开发运维体验统一。
主要劣势通用优化深度可能不及硬件专属方案,需借助后端进一步优化。生态锁定性强,跨平台迁移成本高,通常与特定厂商 SDK 绑定。门槛高,需要深厚的编译器和系统知识,模型调试复杂。可移植性差,深度绑定云平台,存在供应商锁定和数据出境风险。
适用场景企业级多硬件部署、需要避免锁定、追求模型一次导出多处运行。对特定硬件性能要求极致,且硬件环境相对单一的推理系统。研究新硬件后端、极致性能挖掘、定制化编译优化和工具链。追求快速上线、全托管运维、且主要使用单一云平台的企业。

演进趋势:ONNX 本身正不断与编译器技术融合。ONNX MLIR 项目(由微软主导)旨在将 ONNX 计算图直接转换为 MLIR 中间表示,从而利用 MLIR 生态中的各种优化 Pass 和代码生成能力,实现更广泛的硬件支持和更高效的编译优化。这代表着 ONNX 从“描述格式”向“可优化表示”的深层进化。

上游

模型生成侧(依赖于 ONNX 输出的环节)

  • 模型训练框架:PyTorch(通过 torch.onnx.export)、TensorFlow(通过 tf2onnx)、PaddlePaddle(通过 Paddle2ONNX)、JAX(通过社区工具如 jax2onnx)等。框架的 ONNX 导出能力直接影响生态的丰富度。
  • 模型转换与导出工具:专门用于将非主流框架或旧版模型转换为 ONNX 的独立工具,以及用于验证、优化 ONNX 图的 Python 库(onnx, onnxmltools, onnxconverter-common)。
  • 模型来源:开源模型库(如 Hugging Face Hub 上标记为 ONNX 格式的模型数量截至 2025 年初已超过 20,000 个,来源:Hugging Face 模型库筛选统计)、企业内部自研模型、学术预训练模型。
  • 数据预处理与特征工程管线:虽然 ONNX 主要描述模型计算图,但 ONNX 扩展 onnx-ml 也支持部分传统机器学习特征处理,上游还包括训练所用的数据工程工具链。

下游

模型消费与部署侧(使用 ONNX 作为输入的环节)

  • 硬件加速推理引擎
    • NVIDIA TensorRT:通过 Polygraphy 或原生工具导入 ONNX 模型,针对 NVIDIA GPU 进行算子融合、FP16/INT8 优化,获得极致吞吐量。
    • Intel OpenVINO:支持从 ONNX 直接转换至 IR,优化在 Intel CPU、集成显卡及 VPU 上的推理。
    • Qualcomm SNPE / AI Engine Hub:为骁龙移动平台优化的推理引擎,可直接加载 ONNX 并映射至 Hexagon DSP、GPU 和 CPU。
    • AMD MIGraphX、ARM NN、华为 CANN(通过昇腾 ONNX 适配)等均提供 ONNX 加载能力和对应优化。
  • 云端推理服务:AWS Inferentia、Google Cloud TPU、Azure Machine Learning 推理端点等均提供基于 ONNX 模型的优化部署选项,开发者上传 ONNX 文件即可获得自动调优。例如 Azure AI 服务的 ML 推理,默认推荐 ONNX Runtime 作为核心引擎。
  • 边缘与端侧部署框架:ONNX Runtime Mobile 为 iOS 和 Android 提供轻量化推理;TensorFlow Lite 通过 tflite_convert 间接支持 ONNX 模型导入(部分场景)。
  • AI 编译工具链:Apache TVM、Meta 的 Glow 编译器可直接将 ONNX 作为前端输入,通过自定义后端生成各硬件代码。
  • 最终应用开发者:将 ONNX 模型嵌入到图像处理、语音助手、推荐系统等实际产品中。

受益公司

ONNX 作为开放的中间件标准,以下类型的公司因其存在而直接或间接受益,这也是其生态运转的动力来源。

公司受益机制量化/案例(如有)
微软 (Microsoft)核心维护者,通过 ONNX Runtime 强化 Azure AI 推理服务,吸引企业上云。Azure AI 上 90% 以上的 CPU 推理推荐使用 ONNX Runtime(来源:微软 Build 2024 技术演讲)。
Meta (Meta Platforms)创始方之一,确保 PyTorch 模型能被广泛部署,巩固 PyTorch 工业界主导地位。所有自研大模型(如 Llama 系列)均开放 ONNX 格式权重,方便社区部署。
英伟达 (NVIDIA)TensorRT 支持 ONNX 作为进口,降低开发者迁移门槛,扩大 CUDA 生态覆盖。截至 2025 年,NVIDIA 开发者网站上最热门的教程之一即“ONNX 到 TensorRT 转换”。
英特尔 (Intel)OpenVINO 对 ONNX 的深度支持帮助其 Xeon、Arc GPU 和 Gaudi 加速器吸引 AI 工作负载。在 Intel 2024 年官方性能报告中,使用 ONNX Runtime 的推理在第四代至强上较前代提升 2.5 倍(来源:Intel 2024 宣传材料)。
高通 (Qualcomm)AI Engine Hub 原生支持 ONNX,降低移动端 AI 应用开发复杂度,促进芯片在 AI 手机、汽车领域的销售。骁龙 8 Gen 3 发布的官方 Demo 中,Stable Diffusion 文生图模型即以 ONNX 格式演示。
AI 芯片初创公司(如 Graphcore, Cerebras)通过提供 ONNX 支持,可快速接入现有 AI 模型生态,弥补自研软件栈生态的不足。公开资料显示,多家 AI 芯片公司在融资公告中均强调对 ONNX 兼容性的支持。
工具链厂商(如 OctoML, Deci)围绕 ONNX 模型提供自动调优、压缩和部署服务,构建商业模式。OctoML 早年以 Apache TVM 为基础,深入集成 ONNX 工作流,后被 AMD 收购(来源:AMD 新闻稿,2025 年)。

市场规模

直接用于 ONNX 自身的市场规模并不存在独立的统计口径,因为它是一项开源技术标准,而非可售卖的商品。但其价值可通过它所服务的 AI 推理市场MLOps 平台市场 间接衡量:

  • 全球 AI 推理市场:根据 Fortune Business Insights 数据,2024 年全球 AI 推理市场(含硬件、软件和服务)估值约 725 亿美元,预计 2032 年将达到 3371 亿美元,年复合增长率约 21%(来源:Fortune Business Insights,2024 年报告)。ONNX 作为主要的模型交换标准,在推理软件的部署灵活性方面扮演关键角色,其渗透率与推理市场成长正相关。
  • MLOps 平台市场:MLOps 平台负责模型的持续集成、持续部署(CI/CD),ONNX 是其模型打包和部署环节的主流格式。MarketsandMarkets 报告显示,2024 年全球 MLOps 市场规模约 28 亿美元,预计 2029 年将达 126 亿美元(来源:MarketsandMarkets,2024)。ONNX 通过降低部署摩擦,间接推动了 MLOps 的采纳。
  • ONNX Runtime 采用度:微软在 2024 年公布,ONNX Runtime 的每月下载量超过 1000 万次(来源:微软 Connect 2024 大会演示),表明其在推理侧的实际采用规模庞大。
  • 尚无公开财务数据:由于 ONNX 本身不产生直接营收,没有公司将其作为业务线单独披露财报。所有商业利益均通过加速硬件销售、云服务收入或软件许可间接体现。

玩家对比

从生态参与者对 ONNX 的态度与投资力度,可以划分出不同的战略层级。

玩家类型代表企业对 ONNX 的核心战略投入表现
核心定义者微软、Meta确保标准演进符合自身平台利益,积极投入研发和基金会治理。微软主导 ONNX Runtime 大部分代码提交;Meta 推动算子集扩展以支持自家大模型。
硬件整合者NVIDIA、Intel、AMD、Qualcomm、华为将 ONNX 作为“入口”,降低其硬件平台的接纳成本,最终将用户导向自有深层优化引擎。均在开发者 SDK 中提供 ONNX 导入工具,并定期发布与 ONNX Runtime 的性能对比。
云平台锁定者AWS、Google Cloud提供 ONNX 支持以体现开放性,但同时主推自身 SaaS 级推理 API(如 SageMaker AI、Vertex AI),以深度服务锁定客户。ONNX 支持通常为“兼容选项”,而非核心推荐路径。
工具链创业者OctoML (AMD)、Deci将 ONNX 作为标准化输入,提供自动化的模型压缩、硬件匹配和部署优化服务。技术栈全面构建在 ONNX 之上,通过商业授权或 SaaS 订阅获利。

竞争格局的核心张力:ONNX 试图建立一个统一的中立层,但硬件厂商和云厂商天然有动力打造差异化的高性能执行栈。这种“开放入口+私有优化”的混合模式,是当前产业博弈的主流形态。未来,如果 AI 编译器(如 MLIR)能将优化能力下沉,ONNX 的角色可能从“交换层”深化为“统一中间表示”。

风险

  1. 技术表达局限:随着大模型(LLM)和动态网络结构(如 MoE)的普及,ONNX 的静态图表达方式面临挑战。复杂的控制流、动态 shape 和用户自定义算子(Custom Op)可能导致模型无法完整转换,或转换后需大量手工适配。2024 年以来,部分大模型社区开始直接输出针对特定硬件的格式(如 Hugging Face 的 torch.compile 路径),可能削弱 ONNX 的必要性。
  2. 标准碎片化风险:虽然 ONNX 是主流标准,但 MLIR、AWS 的 Neuron IR、Google 的 StableHLO 等新中间表示正在兴起。若这些标准获得显著牵引力,且不能与 ONNX 良好兼容,则会导致标准碎片化,增加开发者选择成本和生态维护难度。
  3. 优化深度不足:从 ONNX 到极致性能仍需依赖硬件厂商的独家工具链。如果厂商逐渐削弱对 ONNX 的投入,转而加强自有生态壁垒,ONNX 可能降级为“仅用于验证”的格式,失去降低锁定效应的价值。
  4. 维护与治理依赖:ONNX 作为 Linux 基金会项目,其发展依赖核心成员(微软、Meta)的持续投入。若核心成员战略调整,减少贡献,标准演进可能放缓,社区驱动力也可能减弱。
  5. 安全与供应链风险:模型文件可能携带恶意算子或后门,ONNX 格式的安全审查工具仍不成熟。随着模型来源增多,企业直接加载未经验证的 ONNX 文件可能带来安全隐患。

误读纠偏

  1. 误读:“ONNX 是一个万能的模型优化器,导出即最优。”

    • 纠偏:ONNX 主要是一种 交换格式。从训练框架导出的 ONNX 模型通常是“未优化”的。真正的性能优化发生在推理引擎(如 ONNX Runtime、TensorRT)或编译器层面,这些工具会对 ONNX 计算图进行算子融合、常量折叠、量化、内存分配等深度优化。导出 ONNX 只是优化的起点,不是终点。
  2. 误读:“使用 ONNX 会导致模型性能下降。”

    • 纠偏:这种看法通常源于 不成熟的模型导出。由于训练框架与 ONNX 算子集之间可能存在语义差异或不支持的算子,直接导出可能导致精度损失或性能不佳。解决办法是使用官方推荐的导出方式,必要时使用自定义算子封装。在成功导出并经过推理引擎优化后,ONNX 模型在目标硬件上的性能通常可以接近甚至超越原生框架推理。
  3. 误读:“ONNX 支持所有训练框架和模型结构。”

    • 纠偏:ONNX 有明确的 算子集(Opset) 范围。虽然主流框架和常见模型(CNN、RNN、Transformer)支持良好,但一些前沿研究中的 高度动态图、罕见算子或极其复杂的控制流 可能面临导出困难。此时需要框架侧提供转换支持或使用 ONNX 的扩展机制,并不能保证 100% 开箱即用。
  4. 误读:“ONNX 是终点,最终所有推理都会统一到一个格式上。”

    • 纠偏:ONNX 更像是连接器,而不是终点。产业更可能长期维持“训练框架 -> ONNX -> 硬件特定优化引擎”的多层简化结构,而非所有推理直接跳过硬件优化层用纯粹的 ONNX Runtime 执行。开放标准与专用优化的共生才是常态。

最新事件

  • 2024 年 Q4 — ONNX Runtime 1.18 发布:新增对 WebGPU 后端的原生支持,使浏览器内运行大语言模型成为可能;同时集成对 AMD ROCm 和 Intel oneAPI 的初步支持,提升了在异构计算环境下的适用性(来源:ONNX Runtime GitHub Release Notes,2024 年 11 月)。
  • 2024 年 — ONNX MLIR 项目加速:在 2024 Linux 基金会开源峰会上,微软和 AMD 联合演示了通过 MLIR 将 ONNX 模型编译至 AMD Instinct GPU 和 Intel FPGA 的流水线,表明 ONNX 在编译器基础设施中的地位进一步加强(来源:2024 LF AI & Data Day 演讲)。
  • 2025 年初 — Hugging Face 扩大 ONNX 支持:Hugging Face 在 optimum 库中深化 ONNX 导出与优化,新推出的 optimum-cli 支持一键将 Llama 3、Mistral 等 70 亿+参数模型导出为 ONNX 并应用动态量化,显著降低开发者使用门槛(来源:Hugging Face 官方博客,2025 年 1 月)。
  • 2025 年 2 月 — 汽车电子联盟提出车载 AI 模型标准:由宝马、博世等牵头的 SDV(软件定义汽车)联盟,在建言文件中将 ONNX 列为车载高性能 AI 推理的首选开放格式,产业适配性进一步提升(来源:SDV Alliance 技术白皮书,2025 年)。
  • 算子集 Opset 21 进入提案:社区提出 Opset 21,主要新增对 FP8 数据类型在卷积、矩阵乘等算子上的原生支持,以适应 Blackwell 等新一代 GPU 的硬件特点,预计将在 2025 年中期落地(来源:ONNX GitHub 讨论区,2025 年 2 月)。

跟踪指标

若需持续追踪 ONNX 产业态势,可关注以下指标:

  1. ONNX 主仓库活跃度:GitHub 每月 Pull Request 合并数、Issue 关闭数、贡献者数量。可在 GitHub Insights 中直接获取。
  2. ONNX Runtime 下载量:PyPI 或 NuGet 的月度下载统计。该指标是反映推理端采纳的直接信号,微软定期在 ONNX Runtime 官方博客中公布峰值倍数。
  3. 新硬件/平台宣布支持:留意 NVIDIA、Intel、Qualcomm、华为、AMD 等硬件厂在其开发者门户发布的对新 ONNX 版本或新算子集的兼容声明。
  4. OPSet 版本发布节奏:从提案到正式发布的周期,以及每次新增的算子数量和关键特性(如对大型模型、新数据类型的支持)。
  5. Hugging Face 上 ONNX 格式模型数量:该数量可反映社区侧的内容供给,定期在 Hugging Face 模型的“Filter by library”中选择 ONNX 即可获得统计。
  6. MLOps 平台集成公告:如 AWS SageMaker、Azure ML、Databricks 等平台对 ONNX 工作流的增强,是反映企业采纳的关键补充。
  7. 学术论文引用:在 arXiv 或 IEEE Xplore 中,以 “ONNX” 与 “interoperability” 或 “model deployment” 作为关键词检索的论文数量,可作为工业界和学术界重视程度的参考。

信源

  • ONNX 官方网站 & 文档https://onnx.ai/——核心规范、教程和示例。
  • ONNX GitHub 仓库https://github.com/onnx/onnx——代码、算子定义、社区动态。
  • ONNX Runtime GitHub 仓库https://github.com/microsoft/onnxruntime——官方推理引擎设计与优化实践。
  • Linux 基金会 AI & Data 项目页面https://lfaidata.foundation/projects/onnx/——治理信息与生态报告。
  • 各硬件厂商开发者资源:NVIDIA TensorRT 文档、Intel OpenVINO 文档、Qualcomm AI Engine Hub 文档、AMD MIGraphX 文档。
  • 行业分析报告:Fortune Business Insights (“AI Inference Market” 2024)、MarketsandMarkets (“MLOps Market” 2024)——市场规模与预测。
  • Hugging Face Hub:模型统计与 optimum 库动态。
  • 微软、Meta 等厂商的开发者大会材料:如 Build、Connect 大会中关于 ONNX 的技术演讲。
source: 公开披露与公开资料整理 本页仅用于产业链学习、信息检索和研究辅助;不构成投资建议,不预测涨跌,不提供买卖、仓位或目标价建议。
完整概念页 复盘 13 节结构 公司投研页 沿产业链找到受益公司 投资课 把概念转成可跟踪模型