Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 1.67 KB

File metadata and controls

26 lines (19 loc) · 1.67 KB

什么是模型量化,有什么用,要怎么做? 从FP32计算精度变成更小的精度,加快推理速度。

ONNX(Open Neural Network Exchange)是一个开放的深度学习模型交换格式,主要特点和作用包括:

  1. 开放标准 • 由微软和 Facebook 等公司共同发起,已捐赠给 Linux 基金会。 • 定义了一套统一的 protobuf(Protocol Buffers)格式,用来描述神经网络的计算图、算子(Operators)及其参数。

  2. 跨框架互操作 • 可以把 PyTorch、TensorFlow、MXNet、Keras 等框架训练出的模型导出为 .onnx 文件。 • 然后在任何支持 ONNX 的推理引擎上加载、运行,打破了模型与框架绑定的局限。

  3. 丰富的运算符生态 • ONNX 社区不断扩充算子(Conv、Gemm、BatchNorm、LSTM……)标准,涵盖绝大多数深度学习用例。 • 也支持自定义算子,满足特殊需求。

  4. 高效的推理引擎:ONNX Runtime • ONNX Runtime(由微软维护)针对 CPU、GPU、TensorRT、OpenVINO、ArmNN 等后端做了大量优化。 • 加载 .onnx 模型后即可快速推理,不依赖原始训练框架。

  5. 在 FunASR 中的应用 • 我们先用 PyTorch 等框架训练或下载好 Paraformer、Punc、VAD 等模型,然后导出为 ONNX。 • 推理阶段不再依赖 PyTorch,直接用 ONNX Runtime 进行声学特征提取、编码器/解码器计算,大幅降低依赖并提升部署灵活性。

简单来说,ONNX 就是“先把模型存成一个通用文件(.onnx),再用高性能的 ONNX Runtime 来做推理”,可以让模型更容易在不同平台、不同硬件上部署和加速。