3. 医疗推理模型压缩基础
医疗边缘推理部署的核心矛盾在于:模型精度要求高,而边缘设备的算力、内存带宽和功耗预算有限。模型压缩是缓解这一矛盾的主要手段,但医疗场景对精度损失极为敏感——一个被压缩模型在普通图像分类上掉 1% 准确率可能无关紧要,但在肺结节良恶性判断或心电图异常检测中,1% 的精度损失可能对应大量漏诊。因此,理解剪枝、量化、知识蒸馏三类方法在医疗模型上的适用边界,比单纯掌握压缩工具更重要。
三类压缩方法的本质差异
剪枝通过移除模型中贡献较小的权重、通道或层来减少参数量和计算量。结构化剪枝直接删除整个卷积通道或注意力头,能获得真实的延迟下降;非结构化剪枝只把权重置零,稀疏矩阵在通用边缘硬件上往往无法转化为实际加速。医疗模型常使用 3D CNN 处理 CT/MRI 体积数据,通道剪枝对这类模型效果显著,但需注意:某些通道可能专门响应微小钙化点或低对比度病灶,剪掉后模型对早期病变的敏感度会骤降。
量化把 FP32 权重和激活映射到 INT8 或更低比特。它带来的收益最直接:模型体积缩小约 4 倍,内存带宽需求同步下降,在支持 INT8 的 NPU 或 DSP 上推理速度可提升 2~4 倍。量化分为训练后量化(PTQ)和量化感知训练(QAT)。PTQ 实现简单,但对医疗模型中动态范围大的激活(如 CT 值 HU 范围可达 -1024~3071)容易产生较大误差;QAT 在训练中模拟量化噪声,精度保持更好,但需要重新训练,成本更高。
知识蒸馏让小型学生模型模仿大型教师模型的输出分布或中间特征。医疗场景中,教师模型可以是高精度但推理慢的多模态融合模型,学生模型则是单模态轻量网络。蒸馏的关键在于温度参数 T 和损失权重 α 的设置:T 过大时软标签过于平滑,学生难以学到教师对困难样本的判别边界;T 过小时退化为硬标签训练,蒸馏收益消失。
医疗场景下的精度-延迟权衡实践
实际部署中,单一压缩方法往往不够。一个典型的肺结节检测模型压缩流程可以这样组织:先对原始 FP32 模型做结构化通道剪枝,剪枝率从 20% 开始逐步提升,每剪一次在验证集上评估敏感度和特异度,直到敏感度下降超过 1.5% 时停止;然后对剪枝后模型做 QAT INT8 量化,量化校准集必须覆盖不同扫描仪、不同层厚和不同对比剂方案的数据,否则量化参数会偏向某一分布;最后如果延迟仍不达标,再训练一个更小的学生模型,用剪枝量化后的模型作为教师进行蒸馏。
这里有一个容易被忽视的问题:剪枝和量化都会改变模型输出的置信度分布。医疗模型通常需要输出校准后的概率用于临床决策,压缩后必须重新做温度缩放或 Platt 校准。否则模型可能仍然给出高置信度预测,但实际错误率已经上升,这种“过度自信”在医疗场景中比精度下降本身更危险。
参数选择与判断依据
剪枝率的选择不能只看整体精度。建议按以下顺序判断:先看敏感度(召回率)是否低于临床要求下限,再看特异度是否可接受,最后看校准误差(ECE)是否小于 0.05。量化比特数的选择取决于硬件支持:如果边缘芯片只支持 INT8,就不要考虑 INT4;如果支持混合精度,可以对第一层和最后一层保持 FP16,中间层用 INT8,这样精度损失通常能控制在 0.5% 以内。
知识蒸馏中,温度 T 的经验范围是 2~10。医疗分类任务类别少但样本难,T 取 3~5 较合适;分割任务输出空间大,T 可以取 5~8。损失权重 α 通常设为 0.3~0.7,教师模型越可靠,α 可以越大。如果教师模型本身在某个亚组上表现差,蒸馏会把这种偏差放大,因此蒸馏前必须审计教师模型的亚组表现。
| 压缩方法 | 典型压缩比 | 精度损失(医疗任务) | 延迟收益 | 主要风险 |
|---|---|---|---|---|
| 结构化剪枝 | 2~4× | 0.5~2% | 中(依赖硬件) | 小病灶通道被误剪 |
| PTQ INT8 | 4× | 1~3% | 高 | HU 值溢出、校准偏差 |
| QAT INT8 | 4× | 0.2~0.8% | 高 | 需重新训练,成本高 |
| 知识蒸馏 | 5~10× | 2~5% | 高 | 教师偏差传递 |
| 剪枝+QAT | 8~12× | 1~2.5% | 很高 | 误差累积、校准失效 |
最后需要强调:压缩不是一次性动作,而是需要与部署环境联合验证的迭代过程。在目标边缘设备上实测延迟时,要区分冷启动和稳态推理,医疗设备通常要求冷启动延迟也满足临床节拍。如果压缩后模型在目标芯片上的实际延迟没有下降,说明该压缩方法没有匹配硬件特性,应换用结构化剪枝或换芯片,而不是继续加大压缩率。