1. AI推理加速的背景和意义
AI推理是指在已经训练好的模型上,对新的输入数据进行预测和推断的过程。在实际应用场景中,如果推理速度过慢,会导致系统相应延迟,影响用户体验,甚至在一些实时性要求极高的场景中,例如:自动驾驶、工业控制等,可能会引起严重的后果。例如:自动驾驶汽车需要在瞬间对复杂路况做出反应,如果因为推理速度跟不上而导致决策延迟,就可能发生交通事故。因此,研究AI推理加速具有极其重要的现实意义。
AI推理加速的核心目标是:在保持模型精度基本不变的前提下,提高模型在推理阶段的速度和效率,降低资源消耗。这对于部署在边缘设备、移动端、服务器端等场景都非常关键。
2. 基本推理方式
人工智能/逻辑推理/知识表示领域的四种常见推理方式:正向推理、反向推理、混合推理、双向推理
2.1 正向推理(Forward Reasoning / Forward Chaining)
定义:
从已知事实出发,结合规则一步步推出新的事实或结论,直到达到目标或没有更多规则可以应用。
应用场景:
- 专家系统(如诊断系统)数据驱动场景(如传感器触发规则)
优点:
- 易于实现;能自动生成大量新知识;适合在事实不断变化、需要及时响应的系统中。
局限:
- 推理路径不定,可能产生大量无用信息;若目标明确但路径复杂,效率较低。
2.2 反向推理(Backward Reasoning / Backward Chaining)
定义:
从目标结论出发,反过来寻找支持该结论的前提条件,再判断这些前提是否成立。
应用场景:
- 问答系统自动定理证明Prolog 等逻辑编程语言
优点:
- 针对性强,只推导与目标相关的路径;推理更精简高效,尤其是在目标已知时。
局限:
- 对事实依赖强,需要准确、完备的初始知识;如果目标依赖链太深,可能回溯过多层级。
2.3 混合推理(Hybrid Reasoning)
定义:
将正向推理与反向推理结合,根据任务动态选择推理方向。
应用场景:
- 复杂专家系统智能搜索与推荐系统
优点:
- 灵活,兼顾数据驱动与目标导向;可以提高推理效率和精度;减少不必要的推导过程。
局限:
- 实现复杂;控制策略设计难度大,需要良好设计切换机制。
2.4 双向推理(Bidirectional Reasoning)
定义:
同时从**事实出发(正向)和目标出发(反向)**进行推理,若两条路径在某一点“汇合”,则目标成立。
应用场景:
- 搜索问题(如路径规划、图搜索)问题求解(如象棋AI、迷宫求解)
优点:
- 在大规模搜索空间中速度快;提高查找效率(尤其在解空间大时)。
局限:
- 占用更多内存(需要同时保存两端的推理路径);汇合点不易找到或可能不存在。
2.5 总结对照
3. 推理阶段的基本流程
模型推理是指使用训练好的模型进行实际数据预测的过程,包括以下步骤
- 输入数据的预处理(归一化、张量转换等)模型计算(前向传播)输出处理(softmax,阈值判断等)
推理加速主要是优化的第二步,也就是前向传播的计算效率
4. 推理加速常用的技术
4.1 图优化(Graph Optimization)
将模型表示成计算图后进行静态分析和优化。
典型操作包括:
- 操作融合(如Conv + BN + ReLU合并)常量折叠(提前计算常量表达式)去除冗余操作
✅ 代表工具:ONNX Runtime、TensorRT、OpenVINO、TVM
4.2 精度量化(Quantization)
将原本使用 32 位浮点数(FP32)的模型参数转换成 16 位(FP16)、8 位(INT8)等较低精度的格式。
优势:
- 减少模型大小和内存使用加快计算(尤其在支持INT8硬件上)
✅ 类型:
- 静态量化(Post Training Quantization)动态量化(推理时转换)量化感知训练(QAT)
4.3 算子优化/硬件加速
不同硬件(CPU、GPU、NPU、TPU)对算子的支持不同,需要利用特定库实现更快的算子执行。
如:
- Intel 的 MKL-DNN(CPU)NVIDIA cuDNN(GPU)华为 Ascend / 麒麟芯片自带 NPU 驱动
CPU、GPU、NPU、TPU 对算子的支持
下面这个链接是另一篇文章,上面写了简略的CPU、GPU、NPU、TPU 对算子的支持,感兴趣可以看一下:juejin.cn/post/749866…
4.4 模型剪枝和结构重设计
- 剪枝:去除模型中不重要的神经元或连接(如低权重值)结构设计:使用轻量模型(如:MobileNet、EfficientNet)或自动神经网络搜索(NAS)设计更快的模型
4.5 批处理与张量内存复用
- 使用batch预测多个输入可以提高吞吐量减少重复分配和释放内存,提高效率
5.主流推理加速框架
框架名 | 支持硬件 | 特点 |
---|---|---|
TensorRT | NVIDIA GPU | 高度优化的推理库,支持FP16、INT8 |
ONNX Runtime | CPU/GPU/NPU | 跨平台,可插入 TensorRT、OpenVINO |
OpenVINO | Intel CPU/VPU | Intel 优化方案,适合边缘设备 |
TVM | 多种硬件 | 可编译成最适合目标设备的代码 |
TFLite | 移动端、边缘设备 | 轻量,适合 Android/iOS 部署 |
6. 硬件角度的加速
AI推理的硬件加速主要依赖以下几种方式:
- CPU 多线程并行计算GPU 的并行矩阵乘加运算(Tensor Core)专用 NPU / TPU 芯片的指令集优化FPGA 定制逻辑计算单元
例如:TensorRT + NVIDIA Tensor Core 在 FP16 精度下远快于传统 FP32 CPU 推理。
7. 总结:推理加速三大核心点
分类 | 技术路径示例 |
---|---|
模型层面 | 精度量化、剪枝、轻量模型(如MobileNet) |
软件层面 | ONNX 图优化、TensorRT 编译、算子融合 |
硬件层面 | GPU/NPU/TPU 加速、内存优化、异构计算 |