第1章 认识推理战场:OpenVINO 与它的对手们


第1章 认识推理战场:OpenVINO 与它的对手们

本章要回答的三个问题:推理部署这件事,为什么不能拿着训练框架硬扛?OpenVINO 到底由哪些部件组成、各管什么?以及最实际的一问——我的下一个项目,该选 OpenVINO、TensorRT 还是 ONNX Runtime?

为什么会有这一章

训练和推理是两种性格完全不同的工作。训练可以慢、可以贵、可以挑环境,反正跑完一次就存档;推理却要 7×24 小时面对真实流量、真实硬件、真实功耗墙。问题出在大多数团队的技能栈是训练侧长出来的:会用 PyTorch 写模型,不代表知道为什么同一个模型在推理阶段会慢好几倍——图没静态化、算子没融合、精度没用对、硬件特性没吃到。这一章先把推理战场的地形图铺开:OpenVINO 从哪里来、由什么组成、适配哪些硬件,最后正面回答选型问题。不看地形就进场,后面每一章的坑都会踩得更疼。

另一个原因是生态变化太快。OpenVINO 这几年的版本演进改掉了旧工具链的很多习惯(比如 ovc 取代了老的 mo 转换器、NNCF 取代了 POT),网上能搜到的教程新旧混杂。这一章会帮你建立以当前 API 2.0 为准的心智模型,避免被过时资料带偏。

读完能解决什么

对照开头的三个问题,读完本章你应当能:说清推理与训练在工程目标上的本质差异,以及中间表示、图优化、硬件插件这三层机制分别解决什么;画出 OpenVINO 工具链全景,知道模型转换、运行时、压缩库、模型库各自的位置;对 Intel CPU、核显、独显、NPU 的代际与能力有基本判断,不再把「有 GPU」当成一句无意义的话;最后,拿着自己项目的约束条件(硬件存量、延迟要求、团队语言栈),走一遍 1.4 节的选型对比,得出有依据的结论而不是道听途说。

各节怎么分工

节号 回答哪个问题 关键产出
1.1 OpenVINO 定义与技术演进 它是什么,为什么长成今天这样 版本演进的因果链与 API 2.0 心智模型
1.2 核心组件与工具链全景 它由什么组成 工具链全景图与组件分工表
1.3 硬件支持体系与设备代际 它能跑在什么上 设备代际对照与异构调度概念
1.4 三大推理运行时选型对比 凭什么选它 选型决策树与硬件适配矩阵

四节的推进逻辑是「从抽象到具体」:先建立定义与历史脉络,再拆开看组件,然后落到物理硬件,最后收拢成一张能直接拿来决策的对比表。1.4 节是本章的出口,也是全书的第一个决策点。

本章的结构关系可以浓缩成一张图:历史与组件是「认知层」,硬件与选型是「决策层」,决策层依赖认知层。

读完自测:五问检验

带着五个问题自测,答得上来再进下一章。一问:推理与训练在工程目标上的本质差异是什么?能不能用「训练允许慢而贵、推理要求快而稳」之外的因果语言把它讲给产品同事听。二问:OpenVINO 的三段式工作里,「编译」这一步做对了什么,让同一个模型在不同设备上表现迥异?三问:核显与独立显卡同样是 GPU,1.3 节为什么坚持把它们分开讨论?各自的舒适区是什么。四问:1.4 节的选型决策树,第一层分叉的判据是性能还是硬件存量?为什么这样排序。五问:如果你的项目明天就要立项,约束只有「预算有限、设备未知、延迟要求宽松」,你选哪条路线,理由是什么。五问中第四、第五问没有标准答案,但有站得住与站不住的论证之分——本章教的判断框架,就是为了让你的论证站得住。若某几问答得吃力,回读时优先补对应小节:前两问对应 1.1 与 1.2 的认知层,后三问对应 1.3 与 1.4 的决策层,本章的地图结构也正是这两层的叠加。

先决条件

本章不要求任何推理框架的使用经验,但有三样东西最好备着:一是机器学习基本概念,知道模型、权重、张量是什么;二是一台能装 Python 的机器,最好带 Intel 核显或较新的酷睿处理器,方便后续章节动手;三是对自己项目约束的清醒认识——目标硬件是什么、延迟预算多少、团队主力语言是 Python 还是 C++。1.4 节的选型练习会直接用到这三样。

往下走到哪

选型做完,假设你留下了 OpenVINO(哪怕没留,第 2 章的转换思想也通用),下一站就是第 2 章:模型怎么变成 IR。那里会遇到本书第一个高频故障点——算子不支持与形状不匹配,我们会给出完整的转换流程与排错路径。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U