19 模型压缩与优化洞察
- 章节编号:19
- 所属层:M 模型层(承接 01 负载画像;驱动 02/07 精度格式、15 量化 lowering、12 内存管理)
- 关联 ADR:ADR-042(量化策略 PTQ/QAT)、ADR-043(混合精度与校准策略)、ADR-044(稀疏/剪枝路线)、ADR-045(蒸馏与步数压缩)
- 上游依赖:01(模型/精度基线)、02(数值格式 INT4/FP8/NVFP4)、03(KV-cache 压力)、15(量化感知 lowering)、12(运行时内存)
学习目标
- 前置知识:读过 01 章负载画像(知道 VLA/扩散策略的算力-内存画像)、02 章数值格式(INT4/FP8/NVFP4 的 bit 布局与块缩放概念);了解「权重 footprint = 参数量 × bit ÷ 8」这条基本换算;知道扩散/流匹配动作头是「多步迭代」而非单次前向即可。无需量化算法的推导经验。
- 学完产出:① 能算出一个 7B VLA 在 INT4 下的权重占用(≈3.5GB),并解释为什么这是「8GB 级端侧 SoC 能不能跑 VLA」的必要条件;② 能区分 PTQ 与 QAT 的适用边界,说清「8-bit 均匀量化不是安全默认」这个具身特有的反直觉结论(OpenVLA/QVLA 反例);③ 能按子模块(视觉塔 / VLM 主干 / 动作头 / KV-cache)给出精度选型,理解「视 觉塔 W8A8、LLM W4A8、动作头 FP8 权重+FP16 计算」这套非对称策略的动机;④ 能把「减步」(扩散 100→5→1-NFE)当作与「量化」同等重要的压缩轴,用 NFE(函数求值次数)算出减步对延迟的直接影响;⑤ 能把压缩流水线映射到 MLIR/IREE + DSA 硬件格式(ADR-007)的接口约束上。
- 阅读姿势:盯住一条主线——「端侧具身压缩不是单纯压模型大小,而是同时压『权重 bit』『激活 bit』『扩散步数』三个轴,且用任务 rollout 而非离线 perplexity 验收」。无论是 QVLA 的 action-centric 混合 bit,还是 OneDP 的单步蒸馏,本质都在回答同一个问题:如何在 8–16GB、几十毫秒预算内,让 VLA 的动作输出不因压缩而失真到任务失败。
1. 范围与目标
本章定义如何把 3–7B 级 VLA/扩散策略压缩到端侧可部署形态,并给出压缩流水线、精度-能效权衡与芯片/编译器/运行时的接口约束。不含大规模训练集群(仅 QAT/蒸馏所需小规模 GPU 训练);不含 RTL。
核心问题
- 具身主流模型(OpenVLA/π0/GR00T)在端侧需要何种压缩组合(量化/蒸馏/减步/稀疏)?
- PTQ vs QAT 在 VLA/扩散动作头上的精度-延迟 trade-off 如何?
- INT4/INT8/FP8/NVFP4 各适用于哪些子模块(视觉编码器/VLM 主干/动作头/KV-cache)?
- 压缩流水线如何与 MLIR 编译器 + IREE 运行时 + DSA 硬件格式(ADR-007) 对齐?
- 压缩后的量化芯片诉求(内存/带宽/算力)如何量化?
2. 需求洞察(具身驱动)
2.1 具体场景/任务
- 移动抓取/装箱(Physical Intelligence π0 公开 demo;Agility Digit 仓储 tote 搬运):VLA 策略 ~30–60ms 预算,控制 50Hz–1kHz 分层。
- 叠衣物/精细操作(π0 RTC 论文;Figure Helix onboard):流匹配/扩散动作头需多步迭代,压缩须保单步能效而非只压权重。
- 工厂零件搬运(Figure BMW 试点;宇树/智元量产场景):端侧全本地,无云依赖,权重须落 ≤8GB 主存(ADR-003)。
2.2 由负载反推的硬性指标
| 指标 | 诉求 | 依据 |
|---|---|---|
| 权重 footprint | OpenVLA 7B INT4 ≈ 3.5GB;π0 3.3B INT4 ≈ 1.7GB | 01 章 + OpenVLA 论文 Table 2 |
| 控制频率 | INT4 OpenVLA ~3Hz@A5000 vs BF16 ~5Hz;8-bit 反而更慢(~1.2Hz) | OpenVLA 论文 Fig.5/Table 2 |
| 精度容忍 | OpenVLA 4-bit 离线 token 精度≈BF16, rollout 性能相近;8-bit 因延迟变慢导致性能下降 | OpenVLA Section D.4 |
| KV-cache | VLM 前缀 o_t 可 cache;π0 动作 token 每步重算 → 激活/中间态访存是压缩第二战场 | π0 论文 Appendix A-D |
| 扩散/流匹配 | π0 10 步 Euler→ RTC 用 5 步;步数减半 = 等效算力需求减半 | π0/RTC 论文 |
| 功耗 | 量化降 DRAM 搬运 → 直接降功耗;Thor NVFP4 1.1–2.3× 吞吐 vs INT4 AWQ | TensorRT Edge-LLM benchmark |
2.3 端 / 边 / 中心差异
| 形态 | 压缩策略 | 典型精度 |
|---|---|---|
| 端侧本体 | 激进 INT4/NVFP4 权重 + FP8 激活 + 步数蒸馏 + RTC | W4A8/W4A4 |
| 边缘侧 | INT8/FP8 为主,部分层 BF16;可跑更大 VLM | W8A8/W8A16 |
| 中心推理 | FP8/BF16 全精度或稀疏;吞吐优先 | W8/FP16 |