如何为边缘应用选择合适规模的 AI 模型
Fitting AI Models To Edge Applications
为嵌入式应用匹配 AI 模型的第一步是明确模型用途,再从量化、蒸馏、剪枝、自压缩等方法组合中选择,过度压缩会损失精度。SLM 等小型边缘模型需与系统级深度集成,因为内存容量和带宽常是瓶颈,边缘硬件涵盖 MCU、NPU、DSP 等。选型不当会导致部署后返工或产品体验不达标。
要点总结:
- 为嵌入式应用合理选择 AI 模型规模的第一步是确定其用途,包括目标设备的功能和产品特性。
- 设计人员通常混合使用多种压缩技术,而不是单一方法。策略包括量化、蒸馏和剪枝。
- 小语言模型(SLM)和紧凑型边缘模型需要紧密的系统级集成,以确保最佳效率。
如今的 AI 行业面临两个截然不同的挑战。一方面,庞大的 AI 数据中心和 AI 工厂正在寻求更高效的方式来处理高参数量的大型语言模型(LLM),带宽和内存是关键瓶颈。另一方面是在边缘设备上本地运行的较小的 AI 模型,这些设备没有足够的面积、功耗或内存来运行复杂的高参数量 LLM。
“这引发了一场淘金热,人们筹集巨额资金建造超大型数据中心,同时也激发了边缘端的创新,”Imagination Technologies 首席技术官 Ed Plowman 说。“人们正在尝试弄清楚如何把一整个容器的液体塞进一个非常小的杯子里,而这一点的推动因素是,计算资源目前并不是主要问题。真正的问题是带宽,这也是 RAM 变得如此昂贵的原因。这促使一大批研究人员去研究关键问题是什么,以及我们能做些什么。这催生了围绕量化的创新——同时缩减激活值和权重——使模型更小,但仍能保持模型的输出能力。”
AI 模型有多种形状和大小,以适配从耳机、手机、家电、工业物联网、机器人到汽车系统等各类边缘设备。设计人员需要选择参数数量合适的模型,因为过大的模型会拖慢设备速度或导致设备过热。反过来,如果模型太小,产品可能不够智能。
为嵌入式应用合理选择 AI 模型规模的第一步是定义其用途。“你必须从想让模型做什么这个角度出发,但之后我们可以用无数种方法把它变小,”Plowman 说。“量化和自压缩是非常有效的工具。蒸馏是另一种方法,它在 Transformer 上的效果比在传统卷积神经网络(CNN)上更好。所有这些方法正在结合起来,使我们逐渐不再那么热衷于追逐越来越大的 GPU 的淘金热。嵌入式系统的赋能,以及相当智能的模型能够在真正的嵌入式平台上运行的进程,正变得越来越现实。”
| 技术 | 工作原理 | 关键特性 |
|---|---|---|
| 蒸馏 | 训练一个较小的学生模型来模仿 较大的教师模型。 |
将学到的行为迁移到 较小的模型中。 |
| 剪枝 | 移除影响较小的权重、神经元、 注意力头或层。 |
结构化(整个单元)或非结构化 (单个权重)。 |
| 量化 | 对权重和激活值 使用更少的比特。 |
保留网络结构;通过校正 限制精度损失。 |
| 自压缩 | 逐步降低精度, 甚至可能降到零比特。 |
可控的压缩方式,可针对 专有硬件。 |
图 1:压缩 AI 模型的常见方法
模型大小必须与整个系统一起考虑。"难点在于设计一个足够复杂、能解决问题,但又足够小、能装进设备的模型,"隶属于 Infineon Technologies 的 Imagimob 公司首席技术官兼首席产品官 Magnus Gedda 说。"此外,模型通常要与应用程序的其他部分共享内存和算力,因此可用资源比规格表上标称的更少。剪枝和量化等优化技术可以缩小模型,但它们是在设计之后、通常是在训练之后应用的,并且会损失一些精度。你需要从一开始就选择一个大小合适的初始架构,使其经过优化后仍能装进设备并达到性能目标。让这三件事都对齐——问题匹配、大小、优化后的精度——正是最耗费精力的地方。"
其他人也认为系统级效率是核心挑战。"边缘 AI 正在带来一场从'最大模型取胜'到'每瓦体验'的转变,"Rambus 杰出发明人兼院士 Steve Woo 说。"压缩、剪枝和低精度运算等技术有助于缩小模型以适配本地资源,但部署仍然困难,因为内存容量和带宽往往是限制因素。把模型装到设备上只是开始。让它在严格的功耗和延迟预算内高效运行,才是工程挑战真正开始的地方。"
选择错误的 AI 模型可能导致部署后的额外工作或产品不合格。"一旦你有了优化好的模型,部署其实不难,"Infineon 的 Gedda 说。"模型被转换为 C 代码,针对目标平台编译,然后烧录到设备上。挑战在于充分发挥硬件的潜力,使推理既节能又低延迟。边缘硬件种类极其繁多——MCU、加速器、NPU、DSP——而标准又有些欠缺。因此,如果没有合适的工具,你要么得到一个通用但低效的部署,要么对每个目标平台做大量手工工作。"
这些部署上的限制使得模型选择成为一项面向具体应用的工作。正确的架构取决于设备必须执行的功能以及必须支持的工作负载。
功能和工作负载决定了正确的模型
边缘设备和物理 AI 的工作负载在不同领域——医疗、工业、汽车、家庭或个人——差异很大。所采集传感器数据的具体模态是选择最佳 AI 模型类型和大小的首要驱动因素。
"针对物理 AI 的合适尺寸推理至关重要,"Cadence 芯粒部门高级产品营销集团总监 Mick Posner 在最近的一篇博客中指出。"智能物理系统没有一刀切的计算配置。有些工作负载需要始终在线、低功耗的推理;另一些则需要对摄像头、雷达、激光雷达、音频、环境传感器和系统状态数据进行更高性能的多模态处理。"
每一项硬件功能和终端设备特性都需要加以考虑和定义。“为边缘 AI 调整 AI 模型规模的最好方法,是能够对你的功能进行分类,这样你就不需要大模型,”Siemens EDA 的 EDA AI 产品负责人 Sathish Balasubramanian 说。“一个 40 亿[参数]的模型放在传感器上是巨大的,尽管我们现在讨论的是[云端] 1 万亿。能够把那个模型压缩到 10 亿参数以下并放进每一个传感器是可行的。我们需要定义最高优先级的必备功能,并用 SLM(小语言模型)把它训练好。它甚至可以是一个 ML(机器学习)模型或神经网络模型。它不需要是 LLM。”
在定义了必备功能之后,设计人员可以开始构建 AI 核心,然后逐步添加更多功能,包括必备的、关键的或锦上添花的。
“我看到人们从架构角度进行定义时,以及确定什么智能放在什么位置时,大致分为这三类,”Balasubramanian 说。“一旦你确定了这些类别,必备功能就应该非常靠近传感器。你不能把所有东西都设为必备。你确实需要排定优先级,并以一种[系统]能够在本地计算、本地内存需求(有时甚至是本地备份环境)下形成自包含传感器环路的方式来设计。一切都被切分了。你还需要至少有一到两个小时的功耗余量可用,这样设备才不会变慢或关机。”
在汽车领域,各公司正越来越多地为某些任务和功能部署 AI 模型,不过该行业的很大一部分仍在使用大约三四年前的 CNN,Plowman 指出。“他们还没有完全转向 transformer,也没有采用最新的压缩技术。但某些外部机构已经推出了使用 transformer 的图像分割目标识别系统。”
对于负责优化这些模型的 IP 提供商来说,一个挑战是他们可能无法看到客户实际使用的模型。“汽车行业的厂商会训练自己的模型,出于安全、保密和专有知识产权的考虑,他们对这些模型非常保密,”Plowman 说。“我们看不到这些模型。我们会得到很多关于它们大致样貌的代理信息,或是他们想要加速的代理函数,但很少能拿到完整的模型来研究。”

图 2:面向边缘 AI 和物理 AI 的 IP 模块。来源:Synopsys
在合理定尺寸方面,每个 IP 模块都需要与模型规模进行权衡。“为边缘端合理定尺寸一个模型是一个系统问题,而不是单点优化,”Synopsys 产品管理高级总监 Licinio Sousa 说。“量化等技术有助于让模型适配,但实时延迟、功耗、成本和功能安全都必须放在一起平衡。由于 AI 模型的演进速度快于芯片开发周期,系统还需要足够的灵活性,不仅要支持当今的工作负载,还要支持接下来出现的模型。”
一旦模型和系统架构达成一致,设计人员就必须确定哪些压缩技术能够在不牺牲关键精度或性能的情况下满足这些约束。
各种压缩技术的挑战
设计者通常使用多种压缩技术来为模型“量体裁衣”,而每种技术各有优缺点。
例如,蒸馏能实现大幅缩减,但可能带来更多损失。“你会对模型进行探查,找出并观察它的哪些部分被点亮,”Imagination 的 Plowman 说,“你也会做类似的练习,把一些部分裁剪掉,但师生模型之间总会有损失。学生模型试图从大模型中提炼出教师模型所掌握知识的精髓。这就是为什么潜在损失可能更多,但你能保留更多的推理能力。它能把模型体积大幅缩小,但如果不采用量化,这种方法能走到的程度也就有限。”
量化让模型绕弯路到达目的地,而不是走直线。“在将输入应用于网络时,有一个导航的起点,”Plowman 说,“然后,根据你给定的值,你需要导航到一个终点。每做一层,你都会把变换往略微不同的方向轻推。使用 FP32 或 FP16 这样的全宽值时,你会更直接地到达给定的点。”
全宽值走的是直线,而量化更接近按街区导航。“我们往上走一步,往旁挪一步,再往上,再往旁,但最终你会到达完全相同的地方,”Plowman 说,“量化的诀窍在于让那些细小、更有棱角的步骤与直线导航达到同样的效果,但又没有相关数学运算带来的功耗、内存等开销。它从模型中的所有权重开始,把它们装入与量化相匹配的桶里。量化的做法有很多很多种。那是一种非常粗暴的方式。”
更温和的方式是自压缩。“自压缩技术认识到,在模型训练过程中,某些路径会非常常用,而另一些则不那么常用,”Plowman 解释道,“你永远不知道这个维度形状会是什么样子。每次重新训练时它都是随机的。你可以操纵这个空间,在每次训练时重现某些你想要的理想形状,或接近它们,但其中存在随机因素。某些路径会成为整个系统其余部分的脚手架而变得至关重要,但它们最终并不是重要的路径。我们寻找对这些路径的敏感性,然后将它们一而再、再而三地量化,一直降到零比特。如果模型中没有任何变化,而你仍然得到相同的结果,那么[那些路径]的贡献很可能极小、微乎其微,或者根本不存在。”
图 3:量化后的 Transformer 架构。来源:Imagination
对于量化和自压缩来说,复杂性在于管理损失。“你需要确保没有丢弃真正需要的东西,并且训练集中的数据对量化流程有良好的覆盖,”Plowman 指出。
例如在汽车领域,工程师需要避免丢失关于边缘情况的长尾数据,或那些能让自动驾驶系统应对不寻常路况的稀有训练样本。
结论:趋势是更小
小型语言模型和其他紧凑模型适合资源受限的边缘设备,但它们需要系统级的设计与优化,才能提供特定产品所需的功能和特性。
归根结底,成功的边缘 AI 部署始于定义工作负载并选择规模合适的架构——而不是简单地把最大的可用模型缩小。压缩可以帮助弥合剩余的差距,但它的价值取决于在满足设备的功耗、内存、延迟、成本和安全要求的同时保持精度。由于模型和硬件以不同的速度演进,灵活的系统设计对于支持当前应用和未来工作负载至关重要。
参考资料
- 结构化与非结构化剪枝:指数级差距(Université Côte d’Azur, King’s College London)
- 自压缩神经网络(Imagination Technologies)
相关文章
边缘 AI 设计的隐性挑战
由于模型演进快于芯片周期,芯片架构师必须平衡灵活的计算、数据搬运和纵深防御安全。
边缘 AI 能跟上吗?
由于模型演进快于芯片周期,专家们正在权衡架构师在不牺牲功耗、面积或效率的前提下能负担多大的适应性。
来源: Semiconductor Engineering 芯片与封装 · semiengineering.com