大模型技术积累——模型压缩

总:模型压缩和加速方法

蒸馏(Distillation)

知识蒸馏:使用较大的模型预测结果来知道较小的,结构简单的模型学习。这样可以减小模型复杂度,提高模型的泛化能力和推理速度。

对抗蒸馏:在知识蒸馏的基础上,通过对抗训练来提高模型的鲁棒性和抗干扰能力

剪枝(Pruning)

参数剪枝:删除模型中冗余参数,减少模型大小。原因:一般只有小部分对参数贡献较大(激活函数前一或若干层的模型参数权重分配),其余参数对模型的贡献较小或没有贡献,可以删除冗余参数。

网络剪枝:删除冗余神经元。对比参数剪枝,可以仅删除神经元,不删除对应参数

网络裁剪:对不重要的连接进行裁剪,减少计算开销

量化(Quantization)

基础量化:浮点参数转换为更小的整数或低精度浮点数,减小模型参数和内存占用,提高计算效率

模型量化:模型的权重和激活函数精度从32位浮点数减小到16位浮点或8位整型

分解(Decomposition)

低秩分解(Low-Rank):将一个较大的权重矩阵分解成几个小的权重矩阵,减少计算开销。代表成果:LoRA,QLoRA

卷积分解(CD):卷积层分为几个更小的卷积层或全连接层,减小计算开销

分:大模型与知识蒸馏

知识蒸馏模型

FitNets:使用一个较大的模型作为教师(Teacher)来指导一个较小模型(Student)的训练

Hinton蒸馏:使用一个大型模型的输出作为标签来指导小型模型的训练

Born-Again Network(BAN):使用一个已经选练好的模型来初始化一个新模型,然后使用少年数据重新训练模型

TinyBERT:使用一个大型BERT模型作为教师来指导小型BERT模型的训练

知识蒸馏及其改进方法

知识蒸馏与训练

分:模型量化

To be continue...

相关推荐

  1. AI模型压缩技术

    2024-03-17 19:40:02       53 阅读
  2. 什么是模型压缩技术

    2024-03-17 19:40:02       101 阅读
  3. 模型技术的未来

    2024-03-17 19:40:02       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 19:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 19:40:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 19:40:02       82 阅读
  4. Python语言-面向对象

    2024-03-17 19:40:02       91 阅读

热门阅读

  1. zTree做拖拽移动功能,并保存数据到数据库

    2024-03-17 19:40:02       44 阅读
  2. [AIGC] Kafka分区分配策略详解

    2024-03-17 19:40:02       68 阅读
  3. 3.17Code

    3.17Code

    2024-03-17 19:40:02      35 阅读
  4. Android/iOS APP备案:遇到的问题汇总指南!

    2024-03-17 19:40:02       45 阅读
  5. JWT原理

    JWT原理

    2024-03-17 19:40:02      35 阅读
  6. (容斥原理例题)洛谷P1287 盒子与球

    2024-03-17 19:40:02       49 阅读
  7. LeetCode350:两个数组的交集Ⅱ

    2024-03-17 19:40:02       41 阅读