22|模型轻量化:如何让模型运行在低配置设备上?
独行
你好,我是独行。
前面我们从 0~1 构建大模型的那节课里,最后我通过 5MB 数据训练出的模型,占用了大概 500M 的存储空间,参数量约 1.2 亿,当时为了节省时间,只简单跑了一下,这比较极端,可以说大量的参数是浪费的,这里我简单举个例子说明一下,比如公式:
经过少量数据训练后,我们只确定了 、…,后面的参数都未经过训练,所以其实是没用的。这种情况下,这个公式就有了可优化的空间,比如把 之后的全部砍掉,或者保留 之前的,之后的全部砍掉。
放在模型中,我们知道虽然参数量和训练数据量有很大关系,但是参数量还和模型网络的设计息息相关,当模型设计的层数比较深,那么也是很有可能产生浪费的情况。这种情况下,就可以对模型进行优化,优化的目标是降低模型的复杂度,包括参数量、占用空间。模型复杂度降低了,那么就可以降低资源的消耗,模型就可以运行在更低配置的设备上。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. 参数剪枝是一种优化技术,通过减少模型中的参数数量来降低复杂性和运行成本,可以选择无结构剪枝或结构剪枝,并通过定义剪枝标准和实施剪枝来实现。 2. 在PyTorch中进行参数剪枝后,需要使用prune.remove函数将掩码应用到原始权重并移除剪枝带来的额外属性,以确保剪枝效果永久化并减少模型的大小。 3. 量化是将模型中的浮点类型的权重转换为低精度(如INT8或INT16)的过程,可以减少模型的存储空间需求,并在某些硬件上加速模型的推理速度。 4. 静态量化是在模型的推理阶段将权重和激活数据从浮点数转换为低精度整数的过程,需要一个校准步骤来决定最佳的量化参数,并在量化完后进行全面的测试。 5. 动态量化主要针对模型的权重进行量化,每次输入时都会重新计算量化参数,适合对推理速度有较高要求的应用场景,且不需要重新训练模型即可实现。 6. 知识蒸馏是一种训练技术,其中一个小的模型,被叫做学生模型,学习模仿一个大的已经训练好的模型,这个模型通常叫做教师模型。通过这种方式,小模型可以在保持较高性能的同时,显著减少参数数量。 7. 参数剪枝是一种非常实用的模型轻量化技术,分为加载模型、选择剪枝策略、定义剪枝标准、实施剪枝、微调训练、评估模型几个步骤。 8. 感知训练量化是指在训练过程中应用量化效果,使模型适应量化带来的精度损失,通常能保持或仅轻微影响模型的精度。 9. 知识蒸馏的基本步骤包括训练教师模型、定义学生模型、蒸馏过程和评估学生模型。 10. 教师模型的输出通常是经过Softmax函数处理的概率分布,被叫做“软标签”,能够提供关于各个类别相对可能性的更多信息,有助于学生模型更全面地理解数据。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 大模型实战高手课》,新⼈⾸单¥59
《AI 大模型实战高手课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论