NLP

模型优化

模型剪枝、模型量化、知识蒸馏

Posted by 新宇 on April 25, 2021

一、 模型剪枝

1. 为什么要做模型剪枝

  • 大模型容易train, 小模型难train(欠拟合)
  • 受限于移动端的存储和算力,服务端随意

2. 架构图

二、知识蒸馏

1. 什么是知识蒸馏

  • train一个小模型模仿大模型的输出
  • 因为大模型的输出更丰富,用小模型输出的dist逼近大模型的dist

2. 架构图

  • 集成模型

  • 为了让student能轻易的学到teacher,需要将teacher的output拉近一点(经实验证明并没什么用)

三、参数量化

1. 参数量化流程

  • 参数聚类
  • 各类参数求平均
  • 用更少的参数表示原来的weights
  • 或者通过哈夫曼编码表示

2. 架构图

四、调整模型架构

1. FC

2. CNN

  • 又如 一个55的卷积核可以由两个33的卷积核替代,参数量减少了 55 - 23*3 = 7