这是 100 页综述的精讲系列,共 5 篇

这一篇在干嘛?

本篇取自 Luo 等人的综述《Efficient Deep Learning Infrastructures for Embedded Computing Systems: A Comprehensive Survey》(ACM TECS,2024)的第 7、8、9 章,是整个系列的收官篇。前三章我们一路从”手工设计轻量网络”讲到”自动搜网络""压缩网络""端侧训练与端侧大模型”,这一篇回答最后两个问题:这些东西跑在什么上面(第 7 章软件框架 + 硬件框架),以及跑起来到底干了什么活(第 8 章计算机视觉与自然语言处理应用)。第 9 章给出全文结论与未来方向。文中包含一张覆盖 11 款嵌入式 AI 硬件平台的横评表(内存、存储、功耗、算力、首发价、支持的软件框架),以及一条从 AlexNet 到 ResNet 的卷积网络里程碑图。

一、先想清楚:为什么端侧深度学习需要”专门的框架”

前面几篇讲的所有技巧——深度可分离卷积(depthwise separable convolution)、神经架构搜索(NAS, Neural Architecture Search)、剪枝(pruning)、量化(quantization)、知识蒸馏(knowledge distillation)——最后都要落到一台真实的设备上跑起来。这时候你会撞上一堵墙:

在服务器上训练模型的那套工具,搬到嵌入式设备上根本用不了。

原因有三层,一层比一层硬:

  1. 体积层:PyTorch 完整安装包动辄 2 GB 以上,还要拖着一整套 Python 运行时和 CUDA 动态库。一块 256 MB Flash 的 MCU(微控制器单元,Microcontroller Unit)连装都装不下。
  2. 依赖层:嵌入式 Linux 往往是裁剪过的,glibc 版本、Python 版本、驱动版本全都不由你决定。训练框架那种”我要求 Python 3.9 + CUDA 11.8 + cuDNN 8.6”的强依赖在这里是奢侈品。
  3. 运行时层:训练框架的核心目标是”让反向传播好写”,所以它保留计算图、保留中间激活值、保留自动微分引擎。而端侧推理只需要前向传播,所有这些东西都是纯浪费。

于是就有了端侧深度学习的两个支柱:

  • 软件框架(software framework):负责把训练好的模型翻译成能在资源受限设备上高效执行的代码——算子融合、内存复用、定点化、调度。
  • 硬件框架(hardware framework):负责提供算力本身——GPU、NPU(神经网络处理器,Neural Processing Unit)、TPU(张量处理器,Tensor Processing Unit)、VPU(视觉处理器,Vision Processing Unit)、FPGA(现场可编程门阵列)等等。

一句话概括本篇的主线:软件框架决定”能不能跑起来”,硬件框架决定”跑得多快、多省电”,而应用决定”这些快慢省电到底值不值钱”。

二、软件框架全景:每个框架究竟解决什么问题

综述原文 Table 3 列出了 8 个被广泛使用的深度学习软件框架。初学者最容易犯的错误是把它们当成”竞品”来比较谁更好——其实它们诞生于完全不同的场景,定位差异很大。我们按”它最初想解决什么问题”来重排一遍。

2.1 两大通用底座:TensorFlow 与 PyTorch

TensorFlow(Google,2015 年发布)是端侧部署生态最完整的一个。它的关键分支是 TensorFlow Lite(TFLite),专门为移动端和嵌入式设备设计:

  • 模型格式 .tflite 是 FlatBuffer 序列化,加载不需要解析复杂的 protobuf,冷启动快;
  • 内置量化工具链,支持训练后量化(post-training quantization)和量化感知训练(QAT, Quantization-Aware Training),可以直接把 FP32 权重压成 INT8;
  • TensorFlow Lite Micro(TFLM) 子项目,专门为 KB 级内存的 MCU 设计,连动态内存分配都尽量避免;
  • 硬件覆盖极广:手机、MCU、树莓派(Raspberry Pi)、Edge TPU、边缘 GPU 都能跑。

PyTorch(Meta,2016 年发布)的最大卖点是动态计算图(dynamic computation graph)。所谓动态图,就是网络结构可以在运行时随数据改变——比如你写一个 RNN,序列长度每次不一样,或者你写 if x.sum() > 0: ... else: ... 这种依赖数据分支的逻辑,PyTorch 都能直接跑。相比之下早期 TensorFlow 只支持静态图:你得先把整个计算图”画”出来,再喂数据。

这个差异对研究极其重要(改结构不用重写代码),但对端侧部署曾经是劣势——动态图不好做静态优化。所以 PyTorch 的端侧路线是 TorchScript / PyTorch Mobile:先把动态图”追踪”(trace)或”脚本化”(script)成静态中间表示,再做算子融合和量化。此外 TorchVision 提供了大量图像/视频方向的预训练模型和工具,是视觉类项目的默认起点。

怎么选

研究/快速实验 → PyTorch;要落到 MCU、TPU 或者需要最成熟的量化工具链 → TensorFlow / TFLite。实际工业界的常见做法是用 PyTorch 训,导出 ONNX,再用目标平台的推理引擎部署

2.2 老牌与专用:Caffe、MXNet、Keras、CoreML、PaddlePaddle、BigDL

框架出身首次发布最初想解决的问题今天该不该学
CaffeBerkeley2014图像任务快、模块化、上手简单;能吃百万级图片数据集新项目不建议,但大量老模型/老代码是 Caffe 格式,读论文复现时躲不掉
MXNetAmazon2015分布式训练:跨多计算节点高效训练;多语言绑定(Python/C++/R/Julia)与 Apache Spark、Flink 集成好,数据流水线现成的场景仍有价值
KerasFrançois Chollet2015高层 API:用最少的代码拼出网络必学——自 TensorFlow 2.0 起它就是 TensorFlow 的默认 API
CoreMLApple2017把模型塞进 iPhone / iPad / Apple Watch,纯端侧推理不依赖云端做 Apple 生态必学
PaddlePaddle百度2016工业级全栈平台:核心框架 + 模型库 + 端到端工具 + 服务平台国内制造业、农业、企业服务落地多,中文文档友好
BigDLIntel2017跑在 Apache Spark 之上的分布式深度学习,能榨干 CPU/GPU/FPGA 集群大数据平台已有的团队做训练加速时考虑

几个值得单独记住的细节:

  • Keras 的定位变化:它从”独立框架”变成了”TensorFlow 的官方前端”。这件事的意义是——你写的 Keras 代码天然就站在 TensorFlow 的部署生态上,不用再做转换。
  • CoreML 的关键特性:支持 30 多种层类型,除了深度网络还覆盖树集成(tree ensembles)、支持向量机(SVM)、广义线性模型这些传统机器学习模型;并且自带量化和剪枝优化;底层建立在 Metal 和 Accelerate 之上,能自动在 CPU 和 GPU 之间选最快的路径。“纯端侧、不上云”是它的设计前提,这与嵌入式场景的隐私诉求天然契合。
  • PaddlePaddle 的自我定位是”源于产业实践的工业平台”,覆盖核心框架、基础模型库、端到端工具和服务平台四层。对国内嵌入式工程师来说,它的中文文档和国产硬件适配是实打实的优势。
  • BigDL 的独特之处:它不是一个”另一个 TensorFlow”,而是”长在 Spark 上的深度学习”。这意味着数据预处理、训练、后处理可以写在同一条 Spark 流水线里,从数据摄入到模型部署端到端打通。

2.3 补充:综述表格之外,工程上还会遇到的推理引擎

说明

下面这几个不在综述原文 Table 3 的清单里,是本文为了贴合国内工程实践补充的。综述发表于 2024 年,其 Table 3 侧重”通用训练/部署框架”,而真正在手机和嵌入式板子上跑推理的往往是更轻量的专用引擎:

  • MNN(阿里巴巴):轻量高性能推理引擎,对移动端 CPU/GPU 优化很深,国内 App 端侧推理的常见选择。
  • NCNN(腾讯):为手机端极致优化,无第三方依赖、纯 C++ 实现,体积小,跨平台;在嵌入式 Linux 板子上也很容易编译。
  • TVM(Apache):编译器栈而非框架。它把来自 TensorFlow/PyTorch/MXNet 的模型编译成针对特定硬件后端(ARM CPU、Mali GPU、NPU)优化过的代码,核心思路是用机器学习自动搜索最优的算子实现(自动调优,auto-tuning)。
  • ONNX Runtime(微软):ONNX 是跨框架的模型交换格式,ONNX Runtime 是它的执行引擎,常作为”万能中间层”。

把它们和前文放在一起看,端侧软件栈其实是三层:上层训练框架(PyTorch / TensorFlow / PaddlePaddle)→ 中间表示与编译(ONNX / TVM)→ 底层推理引擎(TFLite / MNN / NCNN / CoreML)。

2.4 一张图总结取舍

软件框架的取舍本质上绕不开四个维度,而且这四个维度互相拉扯:

部署广度  ←————→  极致性能
上手容易  ←————→  可控可调
生态丰富  ←————→  体积轻小
通用灵活  ←————→  专用高效

没有哪个框架在八个端点全占。选型的正确顺序是:先定硬件平台 → 硬件平台倒逼可用的推理引擎 → 推理引擎决定模型格式 → 模型格式回溯到训练框架。反过来”我 PyTorch 用得熟所以一定要上 PyTorch Mobile”是新手最常见的踩坑姿势。

三、硬件框架全景:11 款平台的横评与选型逻辑

综述 Table 4 给出了 11 款嵌入式 AI 硬件平台的完整参数。这是本篇信息密度最高的一张表,我们完整保留:

硬件平台内存存储功耗算力首发价支持的软件框架
NVIDIA Jetson TX28 GB LPDDR432 GB eMMC 5.17.5–15 W1.33 TFLOPS$399TensorFlow、PyTorch、Caffe、Keras、MXNet
NVIDIA Jetson Nano4 GB LPDDR416 GB eMMC 5.15–10 W0.472 TFLOPS$99同上
NVIDIA Jetson AGX Xavier32 GB LPDDR4x32 GB eMMC 5.110–30 W32 TOPS$1,099同上
NVIDIA Jetson Xavier NX8 GB LPDDR4x16 GB eMMC 5.110–20 W21 TOPS$399同上
NVIDIA Jetson AGX Orin32 GB LPDDR564 GB eMMC 5.115–40 W275 TOPS$1,999同上
NVIDIA Jetson Orin NX16 GB LPDDR532 GB eMMC 5.110–25 W100 TOPS$599同上
Intel Neural Compute StickN/AN/A0.5–1.5 W0.1 TFLOPS$79TensorFlow、Caffe、MXNet
Google Edge TPUN/AN/A2 W4 TOPS$75TensorFlow / TensorFlow Lite
Google Coral Dev Board1 GB LPDDR48 GB eMMC 5.11–6 W4 TOPS$149TensorFlow / TensorFlow Lite
Huawei HiKey 9706 GB LPDDR464 GB UFS 2.16–12 W1.88 TOPS$299TensorFlow、PyTorch、Caffe
Orange Pi AI Stick LiteN/AN/A1–2 W4 TOPS$69TensorFlow、PyTorch、Caffe

读表前必看的三条免责声明

  1. 价格是首发价,原文明确说明会随时间波动,不要拿它做今天的采购依据。
  2. TOPS 和 TFLOPS 不能直接比大小。TOPS(Tera Operations Per Second)通常指 INT8 整数运算,TFLOPS(Tera FLoating-point Operations Per Second)指浮点运算;而且不同厂商对”TOPS”的口径(稠密/稀疏、是否含 NPU 之外的部分)并不统一。
  3. “N/A”的 USB 加速棒自身不带内存/存储,它必须插在宿主设备上才能工作,选型时要把宿主的算力和功耗一起算进去。

3.1 三个家族,三种哲学

表里的 11 款硬件其实可以分成三类,理解这个分类比记住参数重要得多。

第一类:独立计算模块 / 单板计算机(SoM & SBC) —— Jetson 全家、Coral Dev Board、HiKey 970。

它们自带 CPU、内存、存储、各种高速接口(以太网、USB、HDMI、CSI/DSI、PCIe),本身就能当一台小电脑用。NVIDIA Jetson 系列建立在 CUDA 并行计算架构之上,片上是”CPU + NVIDIA GPU”的 SoC,因此兼容性最好——TensorFlow、PyTorch、Caffe、Keras、MXNet 通吃。代价是功耗和价格:AGX Orin 15–40 W、$1,999。

华为 HiKey 970 与之类似但走 NPU 路线,6 GB LPDDR4 + 64 GB UFS 2.1,支持以太网、USB 3.0 和 PCIe 3.0,适合机器人、自动驾驶、智能家居这类既要算力又要丰富接口的场景。

第二类:USB 加速棒(Accelerator Stick) —— Intel Neural Compute Stick、Google Edge TPU、Orange Pi AI Stick Lite。

它们的共同点是自己干不了活,必须插在树莓派 4、Coral 开发板之类的宿主上。Intel NCS 的核心是 Myriad 2 VPU,专为神经网络推理优化,功耗只有 0.5–1.5 W,售价 69,4 TOPS,1–2 W),主打中小规模负载。

第三类:混合形态 —— Coral Dev Board 既是单板计算机,又板载一颗 Edge TPU,预装了 TensorFlow Lite、Edge TPU API 和示例程序,属于”开箱即用”的折中方案。

3.2 自己算一遍:能效比与性价比

看表选型时,光看”算力”一列会被误导。更靠谱的做法是把它换算成两个比值。下面这两个指标是本文为了便于横向比较自行定义的,不是综述原文给出的

按峰值功耗和首发价算下来(注意 TOPS 与 TFLOPS 口径不同,只能在同一列内部横比):

平台算力能效比每单位算力价格
Jetson AGX Orin275 TOPS≈ 6.9 TOPS/W≈ $7.3 / TOPS
Jetson Orin NX100 TOPS≈ 4.0 TOPS/W≈ $6.0 / TOPS
Google Edge TPU4 TOPS= 2.0 TOPS/W≈ $18.8 / TOPS
Orange Pi AI Stick Lite4 TOPS≈ 2.0 TOPS/W≈ $17.3 / TOPS
Jetson AGX Xavier32 TOPS≈ 1.07 TOPS/W≈ $34.3 / TOPS
Jetson Xavier NX21 TOPS≈ 1.05 TOPS/W≈ $19.0 / TOPS
Google Coral Dev Board4 TOPS0.67–4.0 TOPS/W≈ $37.3 / TOPS
Huawei HiKey 9701.88 TOPS≈ 0.16 TOPS/W≈ $159 / TOPS
Jetson TX21.33 TFLOPS≈ 0.09 TFLOPS/W≈ $300 / TFLOPS
Jetson Nano0.472 TFLOPS≈ 0.047 TFLOPS/W≈ $210 / TFLOPS
Intel NCS0.1 TFLOPS≈ 0.067 TFLOPS/W≈ $790 / TFLOPS

这张表能读出几个反直觉但重要的结论:

  1. 越贵的绝对算力平台,单位算力反而越便宜——AGX Orin 的每 TOPS 价格是 Edge TPU 的三分之一。但前提是你能供得起 40 W 电、付得起 $1,999。
  2. 绝对功耗才是嵌入式系统的硬约束。一个靠电池供电的野外传感器节点,40 W 完全不可想象,这时 2 W 的 Edge TPU 就是唯一选项,哪怕单位算力贵三倍。
  3. 新一代架构的能效比提升是碾压式的:AGX Orin(6.9 TOPS/W)比同门师兄 AGX Xavier(1.07 TOPS/W)高了 6 倍多。这说明”等等党”在硬件选型上经常是对的,但也说明针对旧硬件做的优化经验不能简单平移到新硬件

3.3 选型的四步法

把上面的分析整理成可执行的步骤:

  1. 先锁功耗预算:电池供电/无风扇 → 5 W 以内,只能看 USB 加速棒或 Nano 级;插电且有散热 → 可以上 10–40 W 的模块。
  2. 再看软件栈约束:你的模型是用 PyTorch 写的、用了很多自定义算子?那 Edge TPU 基本不适合(它主要吃 TensorFlow Lite 且只支持有限算子集)。反过来,如果是标准 CNN 且愿意用 TFLite,Edge TPU 的能效比非常香。
  3. 然后算内存:模型权重 + 中间激活值必须放得下。AGX Orin 的 32 GB 和 Coral Dev Board 的 1 GB 是完全两个世界。
  4. 最后才是算力与价格:按上一节的能效比/性价比表收尾。

四、应用之一:计算机视觉落地形态

综述第 8.1 节把端侧视觉应用分成三块讲,我们顺着它的脉络走。

4.1 图像分类:一切视觉任务的起点

图像分类(image classification,也叫图像识别)是最基础的视觉任务——给定一张图,判断它属于哪个类别。它之所以是”基础”,是因为检测、分割、跟踪这些下游任务几乎都以它为主干网络(backbone)。

在嵌入式设备上,图像分类已经无处不在:

  • 人脸识别(face recognition):手机解锁、ATM 身份认证;
  • 行人重识别(person re-identification):跨摄像头的同一个人检索;
  • 手势识别(hand gesture recognition):智能相机、人机交互。

这三个例子有个共同点——全都是身份认证或交互入口,对延迟极其敏感(你不会接受手机解锁等三秒),但对 top-1 准确率的要求反而不如 ImageNet 竞赛那么苛刻。

实践中的图像分类基本离不开深度卷积网络:VGGNet、ResNet、DenseNet,因为它们在 ImageNet 这种大规模数据集上捕捉视觉信息的能力最强。为什么是卷积网络而不是 MLP(多层感知机)?关键区别在于卷积层是”参数共享 + 局部连接”的:同一个卷积核在整张图上滑动复用,参数量不随图片尺寸爆炸,而且天然具备平移等变性。MLP 把每个像素当独立特征,参数量会大到没法训练,也学不到”同一个物体挪个位置还是同一个物体”这件事。

图 30:早期卷积网络的里程碑。AlexNet 首次证明卷积层可以从视觉输入中学到判别性特征,在 ImageNet 上显著超越此前基于 MLP 等非卷积方法;ResNet 通过残差学习解决了深层网络的训练退化问题,把网络深度推到前所未有的量级,并首次在 ImageNet 上取得超越人类的识别性能。

这张图想讲的故事是两件事:

  • AlexNet(第一个真正意义上的现代卷积网络)证明了”用卷积层学特征”这条路走得通,在 ImageNet 上的识别性能显著超过此前所有基于 MLP 和其他学习方法的方案。
  • ResNet 解决的是”网络堆深了反而训不动”的训练坍缩(training collapse)问题。它引入的深度残差学习(deep residual learning)范式极其简单——让每一层去学”输入到输出的残差”而不是完整映射——却让网络深度可以大幅提升,也直接开启了深度学习时代的爆发。凭借这个深度,ResNet 第一次在 ImageNet 上取得了超越人类的识别性能。

对嵌入式工程师来说,这条脉络的现实意义是:今天你在端侧用的绝大多数主干网络,都是 ResNet 的后代。所以第①篇讲的手工轻量网络(MobileNet 系列等)本质上是在 ResNet 这条线上继续做减法和改造。

4.2 下游视觉任务:从”这是什么”到”在哪、要去哪”

下游视觉应用(downstream vision applications)指的是把基础任务的输出结果拿去解决实际问题。综述列出的清单包括:目标检测(object detection)、目标跟踪(object tracking)、目标分割(object segmentation)、图像超分辨率(image super-resolution)、图像复原(image restoration)、姿态估计(pose estimation)、图像描述(image captioning)、增强现实与虚拟现实(AR/VR)、以及各类视频分析。

这些任务在端侧的典型落点:

  • 自动驾驶:目标检测与跟踪用来发现其他车辆;
  • 监控系统:检测可疑人员或行为;
  • 智慧城市、智慧医疗:作为基础设施组件嵌入。

这里有一个非常值得嵌入式初学者注意的案例:文献 [630] 在做端侧图像复原时,采用了面向内存的结构化剪枝(memory-oriented structured pruning)来优化运行时的内存占用。为什么是”面向内存”而不是”面向算力”?因为在嵌入式设备上,峰值内存往往是比算力更硬的约束——算力不够顶多是慢一点,内存不够是直接崩。这一点在第③篇讲剪枝时我们已经强调过,这里从应用侧又得到了印证。

还有一个工程侧的实用工具:Precog 提出了一套高效的目标检测基础设施,让树莓派这种资源极度受限的设备也能做实时目标检测,它内置了 YOLOv3 来获得更好的端侧检测精度。这类工作的价值在于——它把”选模型、量化、调度、内存管理”这些脏活打包了,让应用开发者不用重造轮子。

4.3 从 CNN 到 Vision Transformer:端侧的新麻烦

近几年,视觉 Transformer(ViT, Vision Transformer) 及其变体在图像分类、目标检测、语义分割、视频分析上全面超过了卷积网络同行,不断刷新 SOTA。

它的基本做法(对应原文 Figure 5,不在本篇切片内)是:

  1. 把输入图像切成一系列较小的图像块(image patch),常见的是切成 8、16 或 32 份;
  2. 每个图像块被当作一个”词”,送入基于 Transformer 的编码器去学判别性特征;
  3. 学到的特征被聚合后送入分类层做预测。

问题来了:ViT 在端侧的效率往往不如卷积网络。综述引用 [139] 和 [127] 指出,原因在于 Transformer 结构在资源受限的嵌入式系统上更难并行化,不可避免地造成显著的资源利用率不足(resource underutilization)。

直觉上的解释是:卷积是”局部、规整、访存模式固定”的运算,硬件喜欢;而自注意力(self-attention)引入了全局依赖和大量动态形状的矩阵乘法,数据搬运和中间缓存的开销很大。在算力、带宽、内存都紧张的嵌入式设备上,这个差距被放大。

所以第②篇提到的”资源高效的视觉 Transformer”(resource-efficient vision transformers)才会成为一个独立的研究方向。综述在这里的措辞是很明确的:要真正释放 ViT 的潜力,还需要大量工作去缓解端侧效率瓶颈——这是一个开放的、尚未解决的问题。

五、应用之二:自然语言处理落地形态

如果说视觉让嵌入式设备”看得见”,NLP(自然语言处理,Natural Language Processing)则让它”听得懂”。综述 8.2 节的核心论点是:嵌入式系统正在从简单的响应式系统(你说一句我答一句)转向主动交互式系统(能理解上下文、能预判你的需求)。

这个转变在硬件上体现得很直接——从传统 IoT 系统、可穿戴设备到自动驾驶系统,都在从”采集+上报”变成”理解+决策”,而这要求音频和文本的处理必须在本地完成

综述列举了五类代表性应用:

(1)情感分析(Sentiment Analysis) 可穿戴设备和智慧医疗基础设施用它通过语言交互捕捉用户的生理/心理状态。这让系统能更全面地理解用户的情绪健康,为”整体健康生态”铺路。注意这里的关键词是生理状态——情感分析在嵌入式场景下往往不是做舆情监控,而是做健康监测。

(2)自动语音识别(ASR, Automatic Speech Recognition) 在自动驾驶和智能家居里,语音命令可以大幅简化复杂操作。它的收益不只是”方便”,更是安全——开车时手不用离开方向盘,这就是原文说的”减少手动交互、提升安全性与便利性”。

(3)对话智能体(Conversational Agents) 家庭自动化系统、交互式助手系统里的核心。它们要能理解和解释用户的命令、偏好和行为模式,并在后续交互中提供更好的服务。这里的技术难点在于多轮上下文——不是一句话的事。

(4)语音合成与识别转换(TTS / STT) TTS(text-to-speech)把文本合成语音给用户听觉反馈,STT(speech-to-text)反过来。这两者的结合是人机交互的重要里程碑,在手机、智能翻译设备上尤其关键,而且在免手操作(hands-free)环境中几乎是唯一可行的交互方式。

(5)实时翻译(Real-Time Translation) 消除跨语言障碍,被广泛集成进可穿戴通信设备。

综述在这一节结尾给出了一个很好的判断:NLP 与嵌入式系统的结合不只是技术增强,而是朝向”泛在嵌入式智能”的一次范式转变。它让设备不仅能理解短命令,还能处理更长的上下文和对话。

对嵌入式工程师而言,这一节隐藏着一个重要推论:NLP 任务的内存墙比视觉任务更严重。Transformer 的 KV Cache(键值缓存)随上下文长度线性增长,而端侧设备的内存是固定的。这正是第④篇讲端侧大模型时要处理的核心矛盾之一。

六、全文结论与未来方向

6.1 这篇综述到底覆盖了什么

第 9 章用一组”从……到……”概括了全文的跨度:

  • 从训练到推理(from training to inference)
  • 从手工到自动(from manual to automated)
  • 从卷积神经网络到 Transformer(from CNNs to transformers)
  • 从 Transformer 到视觉 Transformer(from transformers to vision transformers)
  • 从视觉模型到大语言模型(from vision models to LLMs)
  • 从软件到硬件(from software to hardware)
  • 从算法到应用(from algorithms to applications)

具体展开是七条主线:高效手工网络设计、高效自动化网络设计、高效网络压缩、高效端侧学习、高效大语言模型、高效软硬件基础设施、高效智能应用。这七条正好对应我们这个五篇系列的内容。

6.2 基础设施层的五个未来方向(第 7.3 节)

  1. 与新兴技术融合:例如量子计算(quantum computing)有潜力带来显著加速,需要探索深度学习软硬件与它的结合方式。
  2. 深度学习民主化(Democratization):目标是让软硬件对更广大的开发者/研究者可得,持续降低构建高效嵌入式深度学习方案的技术门槛。
  3. 发展专用硬件:现有嵌入式系统大多只优化传统卷积网络,忽视了 ViT 这类新架构。原文明确点名 ViT 已经在分类、检测、分割、视频分析上挑战卷积网络的主导地位,因此需要为 ViT 家族(而不只是卷积网络)开发专用加速硬件。
  4. 发展更强的硬件:网络复杂度持续爆炸,加上以 ChatGPT 为代表的 LLM 把复杂度推到前所未有的量级,算力鸿沟(computational gap)持续扩大,必须从硬件侧创新去弥合。
  5. 发展端侧训练基础设施:传统范式是”云端/服务器 GPU 上训练 → 部署到端侧推理”。端侧训练(on-device training)的新范式让预训练模型能适配本地传感器或用户新采集的数据,用户无需把数据传到云上,从而显著保护数据隐私与安全。但现有嵌入式系统通常只为推理优化,不支持高效训练,因为训练过程存在内存瓶颈

第 5 点尤其值得注意:它把”隐私”和”内存瓶颈”两件事绑在了一起——端侧训练的价值是隐私,障碍是内存。这跟第④篇讲的端侧学习是完全呼应的。

6.3 应用层的两个未来方向(第 8.3 节)

(1)LLM 驱动的嵌入式应用 从 GPT-3 开始,LLM 在各种语言任务上表现惊人,ChatGPT 在多个知识领域超过了人类水平。但现代 LLM 的训练和推理都需要海量算力,很难直接部署在资源受限的嵌入式设备上,目前只能跑在远程 GPU 服务器上通过网络提供服务——这既不方便,又带来数据安全与隐私顾虑

破局的方向就是压缩:原文点名了两个代表性工作——SmoothQuantAWQ,它们开创了把 LLM 权重从高位宽量化到低位宽的做法,从而降低其高得吓人的计算复杂度,让强大的 LLM 有可能跑在资源受限的嵌入式系统上。

(2)多模态嵌入式应用 现有嵌入式应用大多只处理单一模态(要么视觉,要么语言)。但现代嵌入式系统往往配备多种先进传感器,可以同时采集视觉、听觉、触觉等多模态数据。多模态的最大收益是能对真实动态环境形成更全面的理解,从而显著提升目标准确率和在真实环境中的可靠性

典型例子是自动驾驶:视觉信息可以很容易地与雷达(radar)、激光雷达(lidar)融合,联合使用以提供更安全更好的驾驶体验。

但多模态也有两个明确的代价:

  • 多模态数据的实时同步可能需要大量算力;
  • 数据对齐(alignment)、标定(calibration)与融合(fusion)引入了额外复杂度,需要更先进的软件算法来保证实时性。

6.4 把五篇串成一句话

如果用一句话总结整个系列:让深度学习在资源受限的设备上跑起来,需要在”网络结构、压缩算法、训练范式、软件框架、硬件平台”五个层次上同时做减法,而减法的难度随着 ViT 和 LLM 的兴起正在急剧上升。 前四篇讲的是”怎么把模型变小”,本篇讲的是”变小之后跑在什么上、用来干什么”,而未来方向告诉我们:模型还在继续变大,所以这场军备竞赛远没有结束。

七、常见坑与通关标准

常见坑

  1. 只看算力数字选型。TOPS 是 INT8、TFLOPS 是浮点,口径不同不能横比;而且峰值算力在实际模型上往往只能跑到 30%~60%。先锁功耗预算,再看软件栈兼容性,最后才看算力。
  2. 忽略 USB 加速棒的宿主成本。Intel NCS / Edge TPU / Orange Pi AI Stick 都不能独立工作,它们的内存、存储栏是 N/A,选型时必须把宿主设备的功耗和成本一起算。
  3. 用训练框架直接上设备。完整 PyTorch/TensorFlow 的体积、依赖和运行时开销在嵌入式设备上都是不可接受的,必须走 TFLite / MNN / NCNN 这类推理引擎。
  4. 以为峰值内存够就行。图像复原这类任务的瓶颈是运行时峰值内存而非算力,所以才有”面向内存”的结构化剪枝。内存不够是崩溃,算力不够只是慢。
  5. 以为端侧部署不需要考虑训练侧。端侧训练(on-device training)因为隐私诉求正在成为刚需,而它的瓶颈是训练期的内存,不是推理期的算力——硬件选型时如果完全不考虑训练,将来会被卡住。
  6. 把框架当竞品。TensorFlow 和 PyTorch 是两种哲学(静态图 vs 动态图),CoreML / PaddlePaddle / BigDL 各有明确的生态归属。选型的正确顺序是”硬件 → 推理引擎 → 模型格式 → 训练框架”。
  7. 把 ViT 当卷积网络的直接替代品。ViT 在精度上更强,但在端侧因为更难并行化而效率更差,需要专门的高效变体和专用硬件。

通关标准

  • 能说清端侧为什么不能直接用训练框架(体积、依赖、运行时三层原因)。
  • 能说出至少 6 个软件框架的出身年份与最初想解决的问题,并知道 Keras 已经是 TensorFlow 2.0 的默认 API。
  • 能复述 Table 4 中至少 5 款硬件的功耗/算力/价格,并解释为什么 TOPS 与 TFLOPS 不能横比。
  • 会自己算能效比(算力/功耗)和性价比(价格/算力),并解释”越贵的平台单位算力越便宜但功耗越高”这个悖论。
  • 能讲清 AlexNet 和 ResNet 各自的里程碑意义,以及为什么今天端侧主干网络大多是 ResNet 的后代。
  • 能解释 ViT 在端侧效率低的原因(更难并行化 → 资源利用率不足)。
  • 能列出端侧 NLP 的五类应用,并说明端侧训练的价值(隐私)与障碍(训练内存瓶颈)。
  • 能说出应用层两个未来方向及其各自代价(LLM 需要量化压缩;多模态需要同步与对齐融合)。