Edge AI
边缘 AI 在手机、相机、车辆和机器人上运行模型,而不是依赖云端,从而降低延迟并让数据保留在本地。了解其工作原理、硬件和用途。
边缘 AI 是指在生成数据的设备上或其附近运行人工智能(AI)模型,例如手机、摄像头、车辆、机器人和工厂网关,而不是将数据发送到远程数据中心。在拍摄位置处理摄像头帧或音频片段,无需经过网络往返,因此决策可在几毫秒内得出。设备在断网时仍能工作,敏感输入会保留在本地以保障数据隐私,原始视频也无需流式传输到云端,从而节省带宽。代价是内存、算力和功耗预算有限,而且还需要在整批设备上更新模型。
边缘 AI 的工作原理#
模型通常会使用 GPU 在云端进行训练,然后将模型缩小并加速,使其能够在目标设备上运行。模型量化为 FP16 或 INT8、模型剪枝和知识蒸馏都能缩小模型;导出则会将模型转换为设备端推理引擎可运行的格式,例如 TensorRT(用于 NVIDIA 硬件)、Android 上的 LiteRT、Apple 设备上的 Core ML,或 ARM CPU 上的 NCNN。随后,设备会在本地运行推理,并仅向上游发送重要信息,例如警报、计数结果或短视频片段。这些上传内容也会纳入改进闭环:从实际场景中收集的困难样本会被标注,模型会重新训练,随后通过无线方式将新版本下发到设备。
边缘 AI 硬件#
- 神经处理单元(NPU):集成在当前大多数手机和笔记本电脑芯片中的专用加速器,例如 Apple Neural Engine 和 Qualcomm Hexagon NPU,可在手机的功耗预算内运行量化模型。
- NVIDIA Jetson:将 ARM CPU 与 NVIDIA GPU 结合的嵌入式模块,适用于需要 GPU 级吞吐量的机器人、无人机和智能摄像头。
- Raspberry Pi:低成本单板计算机,可使用 ARM CPU 或附加加速器板运行小型模型。
- 微控制器:最小型的设备类别,可用毫瓦级功耗运行几百 KB 大小的模型。
将模型部署到边缘设备#
不同的设备类别适用不同的导出格式。在 Raspberry Pi 上,NCNN 是 Ultralytics 为 Ultralytics YOLO26进行基准测试的格式中速度最快的;只需导出一次并加载导出文件夹,即可通过该引擎运行同一个检测器:
from ultralytics import YOLO
# 加载最小的 YOLO26 检测模型
model = YOLO("yolo26n.pt")
# 导出为 NCNN,这是一种针对 ARM CPU 优化的推理框架
path = model.export(format="ncnn") # creates 'yolo26n_ncnn_model/'
# 使用导出的模型进行推理,与在设备上运行相同
ncnn_model = YOLO(path)
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
results[0].save(filename="bus_ncnn.jpg")保存的图像显示了 NCNN 引擎计算出的检测结果。设备端应用通常会打包在 Docker容器中,这样同一个镜像就能在整批相同的开发板上运行。
边缘 AI 与相关术语的比较#
- 边缘计算:泛指在数据源附近处理任何数据,包括筛选传感器读数和缓存内容。边缘 AI 是一种以机器学习模型为工作负载的边缘计算。
- TinyML:边缘 AI 中最小型的类别,运行在内存以 KB 计的微控制器上。
- 联邦学习:通过发送权重更新而非原始数据,在多台设备上训练一个共享模型。边缘 AI 通常指推理,而联邦学习则将训练带到同一批设备上。










