8.6 端侧多模态:表示效率的联合验收
核心问题: 当模型必须在受限内存、算力和功耗下处理图像、音频或传感器信号时,怎样判断压缩后仍保留了任务所需信息?
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
端侧部署不是“把云端模型缩小后运行”。它把第 1 章的采样与量化、第 7 章的跨模态对齐和本章的模型压缩放进同一个约束问题。
图 8.6-1:端侧方案同时压缩输入表示、模态编码器、跨模态接口和语言模型。验收必须同时覆盖信号保真、对齐质量、任务输出和设备资源;只看模型文件大小或语言流畅度都不充分。
先写资源预算,不先选模型
项目可以给出类似“参数少于 3B、峰值内存低于 5GB、达到目标实时性”的预算,但这些不是通用阈值。真正的约束来自设备、任务和并发方式:
| 预算 | 需要明确的条件 |
|---|---|
| 模型规模 | 参数量、权重精度、是否包含模态编码器 |
| 峰值内存 | 权重、运行时缓存、KV cache、输入张量和框架开销 |
| 延迟 | 预处理、编码、Prefill、Decode 和后处理分别耗时 |
| 吞吐 | 单路还是多路传感器,是否连续流式处理 |
| 功耗 | 峰值功率、平均功率和允许持续运行时间 |
| 存储与更新 | 模型包大小、增量更新和回滚空间 |
同一个“5GB 设备”在不同运行时和输入长度下可能得到完全不同的可用预算,因此必须记录测量条件。
端到端内存不是只有权重
可用一个近似分解帮助排查峰值内存:
多模态输入还会增加
四个可以压缩的位置
1. 输入表示
降低采样率、缩短窗口、减少 patch 或只保留事件片段。它最接近 DSP 中的降采样和特征压缩,也最可能在模型前就不可逆地丢失信息。
2. 模态编码器
使用更小编码器、结构化剪枝、蒸馏或低精度计算。验收时要看信号侧任务,而不是只看编码器输出维度。
3. 跨模态接口
用池化、投影器或查询 token 减少进入 LLM 的序列长度。这里直接控制 Prefill 和上下文成本,但可能丢失短时事件、小目标或跨通道关系。
4. 语言模型与运行时
量化、KV cache 管理、算子融合和设备适配可以降低资源开销。模型输出仍然通顺,并不代表跨模态证据仍然可靠。
与 DSP 量化的思想对照
DSP 的采样与量化关注:在带宽、位宽和噪声约束下,是否保留目标任务所需信息。端侧模型压缩关注的是同一类问题:
信号采样率 / 量化位数 ↔ 输入 token 密度 / 权重精度
滤波与特征压缩 ↔ 模态编码器与投影器
失真、SNR、检测概率 ↔ 对齐召回、任务正确率、事实忠实度
实时处理与硬件预算 ↔ 延迟、内存、功耗与模型包大小关键不是“压得最小”,而是在约束内保留足够的任务信息。
联合验收矩阵
至少保留一组云端或高精度基线,并对每次压缩分别记录:
| 层级 | 示例指标 | 典型失败 |
|---|---|---|
| 信号侧 | 事件召回、频率误差、检测概率 | 输入压缩删除短时或弱信号 |
| 对齐侧 | Recall@K、匹配准确率、时间定位 IoU | 信号和文本仍可编码,但对应关系漂移 |
| 任务侧 | 问答正确率、字段准确率、事实—证据一致性 | 输出流畅但没有信号证据 |
| 系统侧 | 峰值内存、TTFT、实时因子、功耗 | 单样本可运行但连续流不稳定 |
只有四层同时满足预算,才能说端侧方案通过。若未通过,应能定位是输入表示、模态编码、对齐接口还是 LLM 运行时造成的。
最低实践任务
为一个端侧音频事件识别或传感器诊断场景制定预算,至少比较两种方案:
- 保留更多信号 token、使用更低精度权重;
- 压缩信号 token、使用较高精度权重。
估算权重内存和输入 token 数,列出信号侧、对齐侧、任务侧与系统侧各一个验收指标。完成标准:能解释为什么“模型更小”不一定意味着“端到端更可靠或更快”。
上一节: 8.5 生产系统设计
返回: 第 8 章首页
