想象一下,你正在尝试写一个长篇故事,但有一条严格的规则:在你写下每一个字之前,必须请一位非常睿智、缓慢且昂贵的编辑(即目标模型)检查你写下的每一个字。这使得写作变得极其缓慢。
为了加快速度,你雇佣了一位快速、精力充沛的助手(即草稿模型)来为你猜测接下来的几个字。你将这些猜测记录下来,然后让那位睿智的编辑一次性检查所有这些猜测。如果猜测是好的,你就保留它们并继续前进;如果猜测是坏的,你就把它们扔掉并重新开始。这被称为推测解码。
然而,在手机上,这个过程有两个大问题:
- “等待游戏”:有时助手猜 2 个字,有时猜 20 个字。如果助手很慢,编辑就会闲置等待;如果助手很快,编辑就会闲置等待下一批。它们总是手拉手,互相等待对方完成,这浪费了时间。
- “糟糕猜测”问题:有时助手变得过于自信,因为上下文很棘手,它竟然猜了一整段胡言乱语。编辑不得不拒绝整个猜测,浪费了助手在猜测上花费的所有能量。
这篇论文介绍了AHASD,这是一个新系统,旨在利用一种特殊的计算机芯片存内计算(PIM)和一种标准 AI 芯片神经网络处理器(NPU),在手机上解决这些问题。
以下是 AHASD 的工作原理,使用简单的类比:
1. “不同步的舞蹈”(任务级异步执行)
在旧系统中,助手和编辑必须步调完全一致地跳舞。如果助手停下来,编辑也必须停下来。
AHASD打破了这一链条。它让助手(运行在存储芯片 PIM 上)和编辑(运行在处理器 NPU 上)独立工作。
- 类比:想象一条工厂装配线。与其让工人在机器完成当前步骤之前等待,不如让工人从料箱(队列)中不断抓取新零件并在工作,而机器仍在处理上一批。它们不互相等待;它们只是让生产线保持运转。这消除了设备闲置无所事事的“空闲时间”。
2. “信心雷达”(熵感知历史草稿)
助手有时会变得过于自信,在应该谨慎时开始胡乱猜测。
AHASD为助手提供了一个“信心雷达”。它会查看其最近猜测的历史记录。
- 类比:想象一位天气预报员。如果他们在过去三天里关于下雨的预测都错了,即使云层看起来相似,他们也不会预测第二天会下雨。同样,如果助手的猜测“信心”较低(高熵),系统会告诉它:“停止超前猜测!在猜测下一个字之前,先等待编辑确认当前的字。”这阻止了助手将能量浪费在注定会被丢弃的猜测上。
3. “智能计时器”(时间感知预验证)
有时助手完成了工作,但编辑仍在忙碌。助手可能会开始再次猜测,但如果它猜测太多,编辑可能会因为没东西可检查而闲置。
AHASD使用“智能计时器”来决定助手何时应该暂停,并自行进行快速的“迷你检查”(预验证)。
- 类比:想象一位厨师(助手)在切菜,而副厨师(编辑)正在煮酱汁。厨师确切知道酱汁需要多长时间。如果厨师看到酱汁将在 5 秒后完成,厨师就会停止切菜,并对蔬菜进行快速的味道测试(预验证),以确保它们已准备好。这确保了副厨师在酱汁完成的那一刻就有新鲜的蔬菜可用,这样副厨师就永远不会站着等待。
结果
作者在手机芯片上构建了该系统的模拟。他们发现:
- 速度:它比仅使用标准图形处理器(GPU)快4.2 倍,比之前尝试将移动芯片与存内计算结合的方案快1.5 倍。
- 电池寿命:它比标准 GPU 节能5.6 倍,比之前的最佳移动系统好1.24 倍。
- 成本:所有这些花哨的新功能仅占用存储芯片上约**3%**的额外空间,对于如此巨大的速度提升来说,这是一个非常小的代价。
简而言之,AHASD 就像给你的手机 AI 配备了一群工人,他们不再互相等待,在猜测前会检查自己的信心,并完美地安排休息时间,以保持工作流畅进行而不浪费电池电量。
以下是论文《AHASD:面向移动设备的大语言模型自适应草稿推测解码的异步异构架构》的详细技术总结。
1. 问题陈述
在移动设备上进行大语言模型(LLM)推理受限于内存带宽和计算能力。推测解码是一种通过小型草稿语言模型(DLM)生成候选令牌,随后由大型目标语言模型(TLM)批量验证这些令牌的加速推理技术。
然而,在移动NPU-PIM(存内处理)系统上实现自适应草稿(即草稿长度根据上下文动态变化)面临两个关键挑战:
- 同步带来的空闲开销:传统的算子级同步执行假设草稿长度固定。当自适应算法导致草稿长度波动时,受内存带宽限制的 PIM(负责草稿生成)与受计算能力限制的 NPU(负责验证)会失去同步。这导致其中一个设备空等另一个设备,造成显著的同步开销。
- 低置信度草稿导致的计算浪费:在任务级异步执行中,DLM 可能会基于未验证的令牌继续生成“前瞻”草稿。如果上下文较弱,这些草稿的接受率往往很低。系统会浪费能量和计算周期来生成最终会被 TLM 拒绝的令牌。
2. 方法论:AHASD 架构
作者提出了AHASD,这是一种专为移动单 NPU-PIM 系统设计的应用级异步异构架构。它将 DLM 和 TLM 的执行解耦以独立运行,同时通过硬件级控制管理它们之间的交互。
核心架构组件
- 任务级异步执行:
- PIM (LPDDR5):处理内存密集型的 DLM 草稿生成任务。
- NPU:处理计算密集型的 TLM 验证任务。
- 通信:使用三个跨设备异步队列(未验证草稿队列、反馈队列和预验证队列)来解耦数据传输和任务调度,消除相互等待。
- 存内计算增强:
- 注意力算法单元 (AAU):直接集成在 LPDDR5-PIM 的 Rank 中。它在数据路径上执行非线性算子和归约操作(例如 Softmax、LayerNorm),无需将中间激活值传输到 NPU。
- 门控任务调度单元:通过门控特定的内存 Rank,使 PIM 能够在 DLM 和 TLM 任务之间进行亚微秒级的切换,允许 PIM 瞬间从草稿生成切换到预验证。
算法 - 硬件协同设计控制
为了解决自适应草稿的特定挑战,AHASD 引入了两种新颖的控制机制:
熵 - 历史感知草稿控制 (EDC):
- 目标:基于低置信度预测抑制无效的前瞻草稿。
- 机制:监控草稿批次的平均 Softmax 熵和领先长度(未验证批次的数量)。
- 实现:硬件模块使用模式历史表 (PHT)和局部熵历史表 (LEHT)。它学习熵模式与草稿接受率之间的相关性。如果 PHT 预测接受概率较低,系统将停止进一步生成草稿,从而避免在可能被拒绝的令牌上浪费计算资源。
时间感知预验证控制 (TVC):
- 目标:优化预验证的时机,防止 NPU 空闲,同时避免草稿耗尽。
- 机制:对 NPU(验证)和 PIM(草稿生成/预验证)的运行时延迟进行建模。
- 实现:系统预测 NPU 剩余的可用周期。如果 PIM 能够在 NPU 剩余的执行窗口内完成对最早未验证令牌的小批量预验证,则触发此预验证。这确保了 NPU 在完成当前任务后立即拥有有效的令牌可用,从而保持高利用率。
3. 主要贡献
- 任务级异步框架:一种将 DLM 映射到 PIM、TLM 映射到 NPU 的新颖方案,实现了执行解耦,克服了自适应草稿中算子级同步调度固有的负载不平衡问题。
- 硬件感知自适应控制:设计了EDC和TVC模块,通过在线学习和延迟建模动态管理草稿深度和预验证时机,有效抑制低置信度草稿并消除 NPU 空闲时间。
- 存内注意力处理:在 LPDDR5-PIM 内部集成注意力算法单元 (AAU),以本地化注意力连接并减少跨芯片通信开销。
- 端到端实现与评估:该系统在周期精确模拟器上实现并进行了评估(使用 ONNXim 模拟 NPU,SAITPublic-PIMSimulator 模拟 PIM),证明了其相对于现有基线的显著提升。
4. 实验结果
作者在模拟移动平台(以 NVIDIA RTX 4090 笔记本电脑 GPU 为基线,结合 Coral-NPU 和 LPDDR5-PIM)上,使用各种 LLM(OPT、LLaMA2、类 PaLM)和自适应草稿算法(SpecDec++、SVIP、AdaEDL、BanditSpec)对 AHASD 进行了评估。
- 吞吐量:
- 对比仅 GPU:提升高达4.2 倍。
- 对比最先进方案 (SpecPIM, GPU+PIM):提升高达1.5 倍。
- 能效:
- 对比仅 GPU:提升高达5.6 倍。
- 对比最先进方案 (SpecPIM):提升高达1.24 倍。
- 硬件开销:
- 额外的硬件面积(EDC、TVC、AAU、队列)占 DRAM 芯片面积的**< 3%**(具体为 2.68%),非常适合移动部署。
- 功耗分析显示,与基线 NPU+LPDDR5 配置相比,每个令牌的能耗降低了约 50%。
5. 意义
AHASD 代表了移动 LLM 推理的重大进步。通过将推测解码从僵化的、同步的算子级方法转变为灵活的、任务级的异步架构,它充分利用了 NPU(计算)和 PIM(内存带宽)的互补优势。
引入**硬件级学习 (EDC)和延迟感知调度 (TVC)**解决了自适应草稿的根本低效问题,此前动态工作负载波动曾导致严重的性能下降。这项工作为在资源受限的移动设备上运行高性能、高能效的 LLM 提供了一条可行路径,而无需依赖云端卸载。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。