1. 课程导入
当你训练好一个精度不错的神经网络模型,准备把它放进摄像头、手表、无人机或工业网关时,往往会遇到一个尴尬的现实:模型在服务器上跑得很好,但到了嵌入式设备上却“跑不动”。原因通常不是算法错了,而是算力、内存、带宽和功耗这四道门槛同时压了过来。模型量化与嵌入式部署,正是解决“模型如何真正落地”的工程学科。
一、定义:量化与部署分别做什么
模型量化是指把神经网络中原本以 FP32(32位浮点数)表示的权重和激活值,转换为更低比特宽度的表示形式,例如 INT8、INT4,甚至二值化。它的本质是用更少的比特去近似原来的数值分布,从而减少存储占用、降低内存带宽压力,并让硬件可以使用整数运算单元加速计算。
嵌入式部署则是指将训练完成的模型经过格式转换、图优化、算子适配、内存规划后,运行在资源受限的嵌入式平台上的全过程。它不只是“把模型拷进去”,而是涉及模型表示、运行时环境、硬件后端和系统约束的协同设计。
两者关系可以这样理解:量化是模型侧的压缩与加速手段,部署是系统侧的集成与执行手段。量化后的模型如果没有合适的部署工具链,仍然无法在目标芯片上高效运行;而部署工具链如果没有量化支持,也很难充分发挥边缘硬件的性能。
二、核心概念地图
本课程围绕一条主线展开:训练模型 → 量化表示 → 图优化 → 格式转换 → 运行时执行 → 硬件加速。在这条主线上,需要掌握以下核心概念:
- 数值精度:FP32、FP16、BF16、INT8、INT4 等不同表示方式及其精度与效率权衡。
- 量化粒度:逐层量化、逐通道量化、逐组量化,粒度越细通常精度越好,但元数据开销也越大。
- 校准与微调:训练后量化(PTQ)依赖校准集统计动态范围;量化感知训练(QAT)则在训练中模拟量化误差。
- 算子融合:将 Conv+BN+ReLU 等组合合并,减少访存和调度开销。
- 运行时与后端:TensorFlow Lite、ONNX Runtime、NCNN、TVM、厂商 SDK 等负责在目标硬件上执行模型。
- 硬件约束:MCU 的 SRAM 大小、NPU 的算子支持列表、DSP 的向量宽度、内存带宽和功耗预算。
三、整体知识框架
下图展示了本课程的知识结构:从模型侧到系统侧,从量化原理到部署落地,形成一条完整的工程链路。
四、典型应用场景
模型量化与嵌入式部署并不是实验室里的概念,它已经广泛存在于我们身边的产品中:
| 应用场景 | 典型硬件 | 量化需求 | 部署挑战 |
|---|---|---|---|
| 智能摄像头 / 人脸识别 | NPU + ARM CPU | INT8 为主,部分 INT4 | 多路视频流并发、内存带宽 |
| 可穿戴设备 / 健康监测 | MCU + 低功耗 DSP | INT8 甚至二值化 | KB 级 SRAM、毫瓦级功耗 |
| 工业质检 / 缺陷检测 | 边缘 GPU / FPGA | FP16 或 INT8 | 实时性、模型更新与版本管理 |
| 自动驾驶 / 辅助驾驶 | 车规级 SoC + NPU | INT8 为主,混合精度 | 功能安全、确定性延迟 |
| 智能音箱 / 语音唤醒 | 低功耗 MCU | INT8 / 二值化 | 常开监听、极低功耗 |
五、常见误区与学习建议
六、一条最小可运行链路示例
下面以 TensorFlow Lite 为例,展示从训练模型到量化部署的基本命令流程。你不需要现在完全理解每一行,只需先建立整体印象:
# 1. 将 SavedModel 转换为 TFLite 浮点模型
tflite_convert \
--saved_model_dir=./saved_model \
--output_file=model_fp32.tflite
# 2. 训练后 INT8 量化(需要代表性数据集)
tflite_convert \
--saved_model_dir=./saved_model \
--output_file=model_int8.tflite \
--optimizations=DEFAULT \
--representative_dataset=rep_data_gen
# 3. 在目标设备上加载并推理
# interpreter = tf.lite.Interpreter(model_path="model_int8.tflite")
# interpreter.allocate_tensors()
# interpreter.invoke()
这条链路虽然简单,却已经包含了本课程后续要深入展开的几乎所有关键环节:模型表示、量化校准、格式转换、运行时加载和硬件执行。随着课程推进,我们会逐一拆解每个环节的原理、工具、参数和排障方法。
本章作为导入,目标是让你先看清全局:量化是手段,部署是过程,嵌入式落地是目标。接下来,我们将从数值表示和量化原理开始,逐步构建完整的工程能力。