详细内容或原文请订阅后点击阅览
模型压缩:使您的机器学习模型更轻,更快
深入研究修剪,量化,蒸馏和其他技术,以使您的神经网络更加有效,更易于部署。邮政模型压缩:使您的机器学习模型更轻松,更快地出现在数据科学方面。
来源:走向数据科学无论您是准备面试还是在工作中构建机器学习系统,模型压缩已经成为必备技能。在LLM的时代,模型越来越大,围绕压缩这些模型的挑战使它们在轻型机器上更加高效,更小和可用。
在本文中,我将介绍每个ML从业者应该理解和掌握的四种基本压缩技术。我探索修剪,量化,低级别的分解和知识蒸馏,每种都具有独特的优势。我还将为每种方法添加一些最小的Pytorch代码样本。
知识蒸馏希望您喜欢这篇文章!
模型修剪
修剪可能是最直观的压缩技术。这个想法非常简单:随机删除网络的一些权重,或者删除“不太重要”的权重。当然,当我们谈论在神经网络中“删除”权重时,这意味着将权重设置为零。
删除“不太重要”的 将权重设置为零结构化与非结构化修剪
让我们从一个简单的启发式式开始:去除小于阈值的权重。
简单的启发式\ [w’_ {ij} = \ begin {case} w_ {ij}&\ text {if} | w_ {ij} | \ ge \ theta_0 \\ 0&\ text {if} | w_ {ij} | <\ theta_0 \ end {case} \]
当然,这不是理想的选择,因为我们需要找到一种方法来找到适合我们问题的门槛!一种更实用的方法是删除一层中最小幅度(规范)的特定权重的指定比例。一层实施修剪的常用方法有2种:
找到正确的阈值 最小的幅度m
n