4. 模型压缩基础

医学影像模型在边缘设备上部署时,最直接的矛盾是:模型精度往往依赖较大的参数量和计算量,而边缘端的显存、算力、功耗和散热都非常有限。模型压缩的目标不是单纯把模型变小,而是在可接受的精度损失内,降低存储占用、内存带宽和推理延迟。剪枝、量化、知识蒸馏、低秩分解是四条最常用的技术路线,它们作用于模型的不同层面,适配的任务类型也各不相同。

四条路线的核心思想

剪枝的核心假设是:训练好的网络中大量权重或通道对最终输出的贡献很小,去掉它们不会显著影响精度。结构化剪枝直接删除整个卷积通道或注意力头,能真实减少计算量,对边缘部署最友好;非结构化剪枝只把个别权重置零,稀疏矩阵在通用硬件上往往无法加速,除非推理框架支持稀疏计算。剪枝通常需要“训练—剪枝—微调”的迭代,微调阶段用原任务损失恢复精度。

量化把浮点权重和激活映射到低位宽整数,例如 FP32 到 INT8。它同时压缩模型体积(约 4 倍)并利用整数运算提升吞吐。训练后量化(PTQ)只需少量校准数据,适合快速验证;量化感知训练(QAT)在训练中模拟量化误差,精度更稳,适合对精度敏感的分割任务。医学影像中,CT 的 HU 值、MRI 的强度分布动态范围差异大,量化校准集必须覆盖真实扫描的灰度分布,否则截断误差会集中在病灶区域。

知识蒸馏让一个小模型(学生)模仿大模型(教师)的输出分布。教师提供的“软标签”包含类别间相似性信息,比硬标签更适合医学影像中边界模糊、类别不均衡的场景。蒸馏的收益不依赖特定硬件,但需要教师模型和额外训练开销,适合已有高性能大模型、需要派生轻量版本的场合。

低秩分解把大权重矩阵近似为两个小矩阵的乘积,例如把卷积核按空间或通道维度做 CP、Tucker 或 SVD 分解。它适合参数冗余度高、通道间相关性强的层,但对已经紧凑的深度可分离卷积收益有限,且分解后常需重新训练。

模型压缩四路线与医学影像任务适配 原始 FP32 模型 高精度 · 高算力 剪枝 删通道 / 权重 结构化 → 真加速 量化 FP32 → INT8 PTQ / QAT 知识蒸馏 教师软标签 学生小模型 低秩分解 SVD / CP / Tucker 矩阵近似乘积 医学影像任务适配原则 分类任务 优先:量化 + 剪枝 全局特征鲁棒,INT8 精度损失小 蒸馏可辅助小骨干网络收敛 检测任务 优先:结构化剪枝 + 量化 回归头对量化敏感,需保留高精度分支 小目标召回率是核心验收指标 分割任务 优先:QAT + 知识蒸馏 逐像素输出对量化误差最敏感 边界 Dice 下降需重点监控 组合策略:先剪枝减冗余 → 再量化降位宽 → 蒸馏恢复精度 → 低秩分解压缩特定层

医学影像任务的适配原则

分类任务对全局语义敏感,对局部像素误差容忍度较高,因此量化加剪枝的组合通常能取得较好的压缩比。例如把 ResNet-50 类骨干用于肺炎 X 光分类,INT8 量化后 Top-1 精度下降常在 0.5% 以内,结构化剪枝去掉 30% 通道后微调即可恢复。蒸馏在这里更多用于把大骨干的能力迁移到 MobileNet 级别的小骨干上。

检测任务同时包含分类分支和边界框回归分支。回归头对数值精度更敏感,量化时如果把整个网络统一压到 INT8,小目标的定位误差会明显放大。更稳妥的做法是保留回归头为 FP16 或 INT16,只对骨干和特征金字塔做 INT8 量化;剪枝时优先剪骨干的冗余通道,避免剪掉负责小目标的高分辨率特征通道。验收时不能只看 mAP,还要单独统计小目标召回率。

分割任务要求逐像素输出,量化误差会直接体现在边界上。以肝脏肿瘤分割为例,PTQ 后 Dice 可能从 0.89 掉到 0.85,边界区域出现锯齿;改用 QAT 并把边界损失纳入训练目标,通常能把 Dice 拉回 0.88 以上。蒸馏对分割尤其有效,因为教师的软标签在病灶边界处提供了概率渐变信息,学生模型能学到更平滑的边界。低秩分解适合压缩分割网络中通道数很大的解码器卷积层,但分解后必须重新微调,否则边界精度损失较大。

一个可执行的压缩决策流程

实际工程中不建议一次性叠加所有方法,而应按“先量化验证、再剪枝、后蒸馏恢复”的顺序逐步推进,每一步都保留可回退的检查点。下面给出一个可直接参考的参数与验收表,数值为示例假设,需按实际数据集和硬件调整。

步骤 操作 示例参数 观察指标 通过标准(示例)
1 PTQ 量化骨干 INT8,校准集 500 张 Dice / mAP / Top-1 下降 ≤ 1%
2 结构化剪枝 剪 25% 通道,微调 20 epoch 参数量、延迟、精度 延迟降 ≥ 20%,精度恢复至基线 99%
3 QAT 微调 学习率 1e-4,边界损失加权 2.0 边界 Dice、Hausdorff 边界 Dice ≥ 基线 97%
4 知识蒸馏 温度 T=4,α=0.7 学生模型精度 恢复至剪枝前 98% 以上
量化校准集必须来自真实扫描分布,不能只用公开数据集或合成图像;剪枝后若某层通道被大量删除,应检查该层是否承担了特定解剖结构的特征提取,必要时对该层设置剪枝保护。
不要在没有验证集监控的情况下连续叠加剪枝和量化。医学影像中,精度下降往往集中在病灶边界和小目标区域,整体指标可能掩盖局部失效。每次压缩后都应单独评估边界 Dice、小目标召回率等任务相关指标。

低秩分解在医学影像中更适合作为补充手段,用于压缩参数量特别大的全连接层或解码器卷积层。它的优势是压缩比可解析计算,缺点是分解后通常需要重新训练,且对已经使用深度可分离卷积的轻量网络收益有限。实际选型时,可以先用剪枝和量化拿到主要收益,再对剩余的大层尝试低秩分解。

四条路线并非互斥。一个典型的边缘分割部署方案是:先用结构化剪枝去掉 20%~30% 的冗余通道,再用 QAT 把骨干和大部分卷积压到 INT8,最后用知识蒸馏从原始大模型恢复边界精度。整个流程的关键不是追求最大压缩比,而是在目标硬件的延迟、内存约束下,找到精度与效率的平衡点,并用任务相关的指标验证每一步是否达标。