深度神经网络(DNNs)最近在一系列现实世界的视觉和语言处理任务中取得了令人瞩目的成功,涵盖了从图像分类到许多其他下游视觉任务,如物体检测、跟踪和分割。然而,尽管以前成熟的深度神经网络在保持优越准确性的同时,网络结构越来越深和宽,必然需要大量的计算资源进行训练和推理。这一趋势进一步扩大了计算密集型深度神经网络与资源受限的嵌入式计算系统之间的计算差距,使得在现实世界的嵌入式计算系统上部署强大的深度神经网络以实现无处不在的嵌入式智能变得更加具有挑战性。
为了缓解上述计算差距并促进无处不在的嵌入式智能,本文综述重点讨论了近期针对嵌入式计算系统的高效深度学习基础设施,涵盖从训练到推理、从手动到自动、从卷积神经网络到变换器(transformer)、从变换器到视觉变换器(vision transformer)、从视觉模型到大规模语言模型、从软件到硬件、从算法到应用等多个方面。具体来说,我们从以下几个角度讨论了嵌入式计算系统的高效深度学习基础设施:
- 针对嵌入式计算系统的高效手动网络设计
- 针对嵌入式计算系统的高效自动化网络设计
- 针对嵌入式计算系统的高效网络压缩
- 针对嵌入式计算系统的高效设备端学习
- 针对嵌入式计算系统的高效大规模语言模型
- 针对嵌入式计算系统的高效深度学习软件与硬件
- 针对嵌入式计算系统的高效智能应用
此外,我们还展望了有潜力实现更广泛嵌入式智能的未来发展方向和趋势。
1 引言
随着大规模数据集和先进计算范式的日益普及,深度神经网络(DNNs)在广泛的智能应用中取得了显著的成功,并展示了强大的性能。这些智能应用可能涵盖从图像分类到下游视觉任务,如物体检测、跟踪、分割,再到自然语言处理(NLP)任务,如自动语音识别、机器翻译和问答。在随后的几年里,深度神经网络不断演化,网络结构变得越来越深,层数也越来越多,以保持在目标任务上的最先进准确度。与此同时,新的网络结构和先进的训练技术也相继出现,进一步推动了可达到的准确度。这些强大的深度学习(DL)网络和先进的训练技术,从 VGGNet 到 ResNet,标志着深度学习时代的到来。
深度神经网络的巨大突破随后吸引了学术界和工业界的广泛关注,推动了强大深度神经网络在现实嵌入式计算系统上的部署,包括移动电话、自动驾驶车辆和医疗健康领域,以促进嵌入式智能应用的发展。在实际应用中,这可能带来显著的益处。例如,嵌入式计算系统显著支持实时的设备端数据处理,极大地提高了处理效率,从而提升用户体验。此外,数据安全和隐私也得到了保障,因为所有数据可以在本地处理,无需上传到远程服务器。尽管上述潜在的好处,强大深度神经网络在现实嵌入式计算系统上的部署仍面临一些关键限制。一方面,为了维持竞争力的准确度,近年来代表性网络不断变得更深,层数达到数百层,因此导致了巨大的计算复杂度。例如,作为最具代表性的深度网络之一,ResNet50 包含超过 40 亿次浮点运算(FLOPs)和 2500 万个参数,且需要超过 87MB 的设备存储才能处理单个输入图像。另一方面,现实世界的嵌入式计算系统,如移动电话和自动驾驶车辆,通常具有有限的计算资源,以优化设备端的功率和能耗。综上所述,网络复杂性的不断演进继续扩大计算密集型深度神经网络与资源受限的嵌入式计算系统之间的计算差距,使得实现无处不在的嵌入式智能变得越来越具有挑战性。
为了弥合上述计算差距并促进无处不在的嵌入式智能,最近提出了大量模型压缩技术,包括网络剪枝、网络量化和网络蒸馏,这些技术努力寻求更好的准确度 - 效率平衡,以适应现实嵌入式场景中有限的计算资源。例如,网络剪枝主要通过去除冗余的网络单元,如权重、通道和层,来减少网络冗余,从而提升在目标硬件上的效率,并且对目标任务的准确度损失最小。除了网络压缩,另一个平行的选择是手动设计资源高效的网络,如 SqueezeNet、MobileNets、ShuffleNets 和 GhostNets,这些网络在高效网络设计方面主导了早期的进展。尽管这些高效网络能够表现出卓越的效率,但它们高度依赖人工专业知识,通过反复试验探索新的网络结构,这也需要大量的工程努力和不可忽视的计算资源。为了解决这些限制,最近的网络设计实践已经从手动设计转向自动化设计,也被称为神经网络架构搜索(NAS)或自动化机器学习(AutoML),其重点是自动探索新的网络结构。NAS 的巨大成功随后催生了许多硬件感知的 NAS 工作,如 MnasNet、ProxylessNAS、FBNet 和 Once-for-All,这些工作自动设计准确而高效的硬件网络解决方案,展示了强大的准确度 - 效率平衡,并广泛应用于现实嵌入式计算系统中,提供智能服务。
除了上述主要关注提升设备端推理效率的高效网络和技术,最近的研究还转向了设备端训练效率。其背后的理论是,尽管以前的代表性网络能够展现出卓越的准确度,但通常需要训练数百个周期,这可能需要在强大的 GPU 上训练数天。更糟糕的是,远程 GPU 上的昂贵训练过程无法允许在本地硬件上进行定制,尤其是在资源受限的嵌入式场景中。需要注意的是,设备端的本地定制具有进一步提高准确度的潜力,特别是当本地传感器不断收集来自用户的新数据时。为了克服这些限制,最近已经建立了几种高效的设备端学习技术,如设备端持续学习、设备端迁移学习和设备端联邦学习,使得在本地硬件上训练和微调强大的深度网络成为可能,以进一步提高性能。
最近,大型语言模型(LLMs),如 GPT-3 和 GPT-4,在各种现实世界的语言处理任务中取得了令人印象深刻的成功。然而,这些强大的 LLM 的强大学习能力也伴随着巨大的计算复杂度。例如,OpenAI 的 GPT-3,作为最具代表性的 LLM 之一,包含了 1750 亿个参数。此外,为了实现最先进的性能,最近的 LLM 继续朝着更大、更复杂的方向发展,模型规模也不断增大。这些都使得将最近强大的 LLM 部署到现代嵌入式计算系统上以实现智能语言处理服务变得愈加具有挑战性。为了克服这些限制,最近提出了一系列有效的技术,重点缓解 LLM 的计算复杂度,探索计算高效的 LLM,包括高效的 LLM 架构设计、高效的 LLM 压缩技术(即剪枝、量化和知识蒸馏),以及高效的 LLM 系统设计。
与强大深度网络和先进训练技术的迅速兴起并行,许多代表性的深度学习软件框架和硬件加速器也应运而生,旨在为嵌入式计算系统的高效深度学习解决方案提供支持,如 TensorFlow、PyTorch、Google 边缘 TPU、Nvidia 边缘 GPU 和 Intel 神经计算棒。这些深度学习软件和硬件已被广泛采用,并为深度学习时代带来了两个主要好处。一方面,这些深度学习软件和硬件消除了软件和硬件工程师面临的障碍,从而使他们能够快速开发智能嵌入式应用,如设备端物体检测、跟踪和分割,而无需过多的领域专门知识。另一方面,这些深度学习软件和硬件通常具有领域特定的优化,从而在最小的工程努力下实现卓越的准确度 - 效率平衡。例如,作为代表性 Nvidia Jetson 边缘 GPU 的 Nvidia Jetson AGX Xavier,支持使用 INT8(即 8 位权重)的精度开发智能嵌入式应用,在不降低目标任务准确度的情况下,相比全精度(32 位权重)显著提高了效率。
1.1 本文组织结构
本文旨在总结近期的高效深度学习基础设施,这些基础设施有望为当前和未来的嵌入式计算系统提供支持,推动无处不在的嵌入式智能发展。实际上,一些现有的综述通常聚焦于高效的深度学习算法,但由于深度学习基础设施,尤其是从大型语言模型的角度来看,正在迅速发展,这些综述可能已显得过时。与现有综述不同,我们的重点是提供更全面和整体的视角,概述近期针对嵌入式计算系统的高效深度学习基础设施,涵盖从训练到推理、从手动到自动、从卷积神经网络到变换器(transformer)、从变换器到视觉变换器(vision transformer)、从视觉模型到大型语言模型、从软件到硬件、从算法到应用等多个方面。
我们相信,本文综述具有其独特的价值,能够为未来的研究提供启示,帮助研究人员快速且顺利地进入这一新兴领域。最后,我们展示了本文的组织结构,概要如下:
第二章广泛讨论了近期代表性的高效手动网络。这包括对 MobileNet 系列、ShuffleNet 系列等经典轻量级网络架构的深度解析。这些网络通过引入深度可分离卷积、通道混洗等技术,在保证精度的前提下大幅降低了计算量和参数量。本章还将探讨如何在特定硬件约束下调整网络超参数,以达到最优的性能表现。
第三章广泛讨论了近期代表性的高效自动化网络。重点介绍神经网络架构搜索(NAS)技术在嵌入式场景下的应用。传统的 NAS 方法往往忽略了硬件延迟,导致生成的模型难以在实际设备上运行。硬件感知 NAS(Hardware-aware NAS)则通过构建代理模型或直接评估硬件延迟,自动搜索出符合特定设备算力要求的网络结构。此外,一次性网络(Once-for-All)等思想也被纳入讨论,旨在通过共享子网减少搜索成本。
第四章广泛讨论了近期代表性的网络压缩技术。这是目前工业界落地最成熟的技术方向之一。内容涵盖结构化与非结构化剪枝的区别与应用场景,低比特量化(如 INT8, INT4)的实现细节及其对数值稳定性的影响,以及知识蒸馏中教师网络与学生网络的匹配策略。我们将分析各种压缩技术组合使用的效果,以及如何最小化压缩带来的精度损失。
第五章广泛讨论了近期代表性的设备端学习技术。随着隐私保护意识的增强,数据不出本地的需求日益迫切。本章将深入探讨联邦学习在分布式嵌入式设备间的通信优化机制,持续学习中的灾难性遗忘问题及解决方案,以及迁移学习如何利用预训练模型加速小样本场景下的设备端适应。这些技术是实现个性化智能的关键。
第六章广泛讨论了近期代表性的较大型语言模型。虽然 LLM 通常被视为云端服务,但边缘侧部署 LLM 已成为新趋势。本章将分析模型量化、稀疏化激活以及模块化设计如何使百亿参数模型在移动端运行。同时,探讨针对嵌入式设备的提示词工程优化及上下文管理策略。
第七章广泛讨论了近期代表性的深度学习软件与硬件。软件层面,对比 TensorFlow Lite、PyTorch Mobile 等推理引擎的优劣及算子优化能力;硬件层面,梳理 NPU、GPU、FPGA 等异构计算平台的特性。重点在于软硬件协同设计,如何通过编译器优化(如 TVM、MLIR)打通从模型到芯片的全链路加速。
第八章广泛讨论了近期代表性的智能嵌入式应用。列举自动驾驶中的实时感知、智能家居中的语音交互、医疗可穿戴设备中的健康监测等实际案例。分析这些应用场景对延迟、功耗和精度的具体指标要求,以及高效深度学习基础设施如何满足这些需求。
此外,在每一章的结尾,我们还展望了各自领域中可能的未来发展方向,这些方向有潜力为未来的无处不在的嵌入式智能铺平道路。例如,神经形态计算、存内计算等新型硬件架构的融合,以及更通用的多模态大模型在边缘侧的轻量化部署将是未来的重要研究方向。


