模型压缩与优化技术

技术作用原理简介典型工具 / 框架
剪枝(Pruning)减少不重要的参数或神经元删除权重值小或不活跃的连接PyTorch、SparseML、NNI
蒸馏(Distillation)小模型学习大模型行为大模型作为“老师”,训练小模型 mimic 其输出Huggingface distilBERT、TinyBERT
量化(Quantization)减少模型位数,提高运行速度将浮点数(FP32)转为 INT8/INT4/二值bitsandbytes、ONNX、TensorRT、BQNN
结构优化(Architecture Tuning)用更少计算实现更好效果更轻量的网络设计:MobileNet、EfficientNet、DistilBERTNAS、LiteTransformer
LoRA / Adapter / Prefix Tuning微调参数量极少插入少量可训练模块,冻结主干PEFT、HuggingFace
KV缓存 & 推理优化提高推理速度、节省显存Transformer中缓存历史Key/Value,避免重复计算vLLM、FlashAttention
张量并行 / Pipeline并行 / 混合并行实现多卡训练按层/维度拆分参数并行训练DeepSpeed、Megatron-LM、Colossal-AI
MII / Triton / ONNX Runtime模型服务优化专为推理部署优化计算图和运行效率Triton Inference Server、ONNX、TorchScript

几个重点术语:

1. 🔪 剪枝(Pruning)

  • 比喻:把一棵树剪掉不常用的枝条

  • 方式:

    • 结构剪枝:剪掉某些神经元/通道(提升推理速度)

    • 非结构剪枝:剪掉小权重值(稀疏化,但可能不提升速度)

  • 应用:模型部署到算力受限设备(移动端、IoT)

2. 🧪 蒸馏(Knowledge Distillation)

  • 比喻:学生学习老师的“思考过程”而不是仅仅数据标签

  • 教师模型输出 soft label(概率分布),学生模型学习它

  • 好处:小模型也能达到接近大模型效果

3. 🎚️ 量化(Quantization)

  • 将 FP32 → INT8 / INT4 / 二值化

  • 显著减少模型大小和推理延迟

  • 需要注意精度损失,常和 QAT(Quantization Aware Training)结合使用