[控场AI]
· 5 分钟阅读· 2,652 字

潜空间蒸馏压缩流式神经音频编码器:苹果端侧语音的内存优化之道

潜空间蒸馏压缩流式神经音频编码器:苹果端侧语音的内存优化之道

潜空间蒸馏压缩苹果端侧听写音频编码器,解决其与稀疏激活基础模型争夺内存的瓶颈。

苹果系统级听写功能完全运行在端侧,其音频 tokenizer 需长期驻留内存,与采用稀疏激活机制的基础模型争夺有限的 DRAM 资源。由于基础模型已通过剪枝大幅瘦身,这个常驻在线的编码器反而成为系统功耗与延迟的新短板。针对这一问题,研究提出潜空间蒸馏方案:以大编码器输出的中间表征作为监督信号,训练参数量更小的学生编码器,使其在语言模型真正读取的表征层面逼近教师模型,而非追求原始波形的逐比特复现。在流式推理的额外约束下,该方法需同时平衡实时性、内存占用与表征质量三者。这一思路对端侧 AI 中所有「配套前置模块」的协同优化具有普遍借鉴意义。

从系统级听写说起:一个被忽视的内存瓶颈

苹果设备上的系统级听写(System-wide Dictation)功能完全运行在本地设备端,不依赖云端。这背后有一条清晰的技术链路:用户的语音先经过一个 tokenizer(分词器),它本质上是一个编码器(encoder),负责把短时的波形窗口映射成语言模型能够读取的表征,随后基础模型才对这些表征进行处理。

这个看似简单的流程,隐藏着一个真实的工程挑战。苹果的基础模型采用了稀疏激活机制,并结合了指令遵循剪枝(Instruction-Following Pruning)技术——这意味着在任意时刻,只有一小部分专家(experts)真正占用 DRAM 内存。而始终在线(always-on)的 tokenizer,却要与这些被激活的专家争夺同一块宝贵的内存资源。

rss source: Compressing Streaming Neural Audio Encoders via Latent-Space Distillation

稀疏激活机制(Sparse Activation)是当前大模型在端侧高效推理的关键技术之一,其代表性架构为混合专家模型(Mixture of Experts,MoE)。在 MoE 中,模型包含多个并行的「专家」子网络,每次前向传播时仅激活其中少数几个(通常由一个门控网络决定路由),参数总量虽大,但单次推理的计算量与内存占用可控。苹果在端侧模型中结合指令遵循剪枝(Instruction-Following Pruning)进一步减少了常驻内存的专家数量,使得大部分参数可以按需换入换出 DRAM。这种设计使基础模型本身的内存占用变得动态且精简,但也正因为如此,那些必须始终驻留内存的常驻组件(如音频 tokenizer)所占的比例相对上升,成为不可忽视的静态开销。

为什么 tokenizer 的参数量如此关键

在端侧场景下,编码器的参数量并非一个孤立的指标,它直接关系到功耗(power)与延迟(latency)。听写功能的特点是常驻后台、随时待命,这意味着 tokenizer 需要长期占据内存空间。参数越多,占用的 DRAM 越大,能耗与响应速度都会随之受到牵连。

对于依赖电池供电的移动设备而言,这种持续性的资源消耗被放大得尤为明显。当基础模型通过剪枝将自身压缩到极致后,那个原本不起眼的音频编码器反而成了系统整体效率的短板。压缩这个 tokenizer,因此成为一个具有实际价值的研究方向。

潜空间蒸馏:压缩的核心思路

该研究提出通过蒸馏(distillation)的方式来压缩这样的流式神经音频编码器。与传统蒸馏在输出层面对齐不同,这里的关键词是「潜空间」(Latent-Space)——即在编码器输出的中间表征层面进行监督与对齐。

具体而言,研究以更大、更强的编码器所产生的潜在表征作为监督信号(supervision),来指导一个更小、更轻量的学生编码器学习。由于监督直接作用在语言模型所读取的表征空间上,学生模型只需在这一层面逼近教师模型的行为,就能在大幅削减参数量的同时保持下游语音识别的质量。

这种做法的巧妙之处在于:它不要求学生模型逐比特复现原始波形,而是聚焦于「基础模型真正关心的那部分信息」。潜空间对齐让压缩更有针对性,也更契合端侧部署对效率的严苛要求。

知识蒸馏(Knowledge Distillation)最初由 Hinton 等人在2015年提出,核心思想是让小模型(学生)模仿大模型(教师)的行为,而非直接拟合硬标签。传统蒸馏通常在输出概率分布层面对齐,例如让学生模型的 softmax 输出接近教师模型的「软标签」。而潜空间蒸馏(Latent-Space Distillation)则将对齐点前移到中间隐层的特征表征,这一区别至关重要:对于音频编码器而言,其最终输出并不是分类概率,而是供下游语言模型消费的连续向量表征。在这种场景下,直接在潜空间施加监督信号,相当于明确告诉学生模型「你的输出必须让语言模型看起来和教师模型的输出一样有用」,避免了因代理目标(proxy objective)与真实使用目标脱节而导致的压缩效果打折。这也解释了为何此方法在端侧音频编码这一特定任务中具有独特优势。

流式场景下的特殊约束

值得关注的是研究对象是「流式」(streaming)编码器。流式意味着系统必须在语音持续输入的过程中实时处理短窗口波形,而不能等待完整句子结束后再统一编码。这一约束对模型架构和延迟提出了额外要求。

在流式约束下压缩编码器,既要维持实时性,又要控制内存占用,还需保证蒸馏后的表征质量不出现明显退化。这三者之间的平衡,正是该工作试图解决的核心工程与研究问题。它反映出端侧 AI 系统设计中一个普遍规律:单个组件的优化必须放在整个系统的资源约束下考量。

流式(Streaming)与非流式编码器在架构上存在根本差异。非流式编码器可以使用双向注意力(Bidirectional Attention)或全局卷积,能够看到完整的语音序列后再生成表征,通常精度更高。流式编码器则受因果约束(Causal Constraint)限制,每个时刻只能访问当前及历史帧,无法利用未来上下文,因此架构上往往采用单向 RNN、因果卷积或带掩码的单向 Transformer。这一约束使得流式模型的蒸馏更为复杂:教师模型若采用非因果架构,其潜在表征天然包含了未来信息,而学生模型在推理时根本无法获取这些信息。研究需要设计合理的对齐策略,确保学生模型不会被迫去拟合自身结构性无法复现的信息,否则蒸馏效果会适得其反。

对端侧 AI 部署的启示

这项工作虽然聚焦于音频编码器这一具体组件,但它折射出的思路对整个端侧 AI 领域都有借鉴意义。当大模型通过稀疏激活、剪枝等手段不断瘦身时,那些「配套」的前置模块——无论是音频 tokenizer、视觉编码器还是文本预处理器——都会相对变得「笨重」,进而成为系统效率的新瓶颈。

潜空间蒸馏提供了一条务实的路径:不追求组件的独立完美,而是围绕下游模型的实际需求做定向压缩。对于希望在手机、可穿戴设备等资源受限平台上部署实时 AI 能力的开发者来说,这种系统级、协同优化的视角,或许比单纯堆叠算力更值得投入。

分享:

相关推荐