💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
# 剪枝 * [1 原因](#1原因) * [2 步骤](#2步骤) * [3 方法](#3方法) ## 1原因 研究表明网络中很多连接都是接近0或者冗余的,如何对这些参数进行稀疏就变的很有意义。如下图所示是SVD分解的算法性能对比。SVD分解可以从模型压缩和提高运算速度两个方面进行优化。 但是并不是只要剪枝就一定会提高运算速度。原因是如果剪枝过于随机,并不能有效提升运算速度。所以需要结构化剪枝(structured pruning)。 ## 2步骤 剪枝一般需要如下图左的三个步骤:先在原始的网络结构下训练网络,然后通过设置一个阈值,把一些权值较小的连接进行剪枝,重新训练权重,对训练好的模型再剪枝,再重新训练,直到满足设定条件为止。 ## 3方法 - **说明**: 简化网络主要考虑结构剪枝。还有一个概念是结构化剪枝。虽然仅有一字之差,但是结构剪枝和结构化剪枝是两个不同的概念。结构剪枝是指对网络结构进行修剪,而结构化剪枝是属于结构剪枝的一种具体方法,指按照特定的结构(相对于随机)进行剪枝。 - 结构剪枝一共有3种方法: 第一种方法是稀疏连接,本来一个网络里有很多连接的,其基本思想是去除不重要的连接,让这个连接变稀疏。虽然它可以减少网络的模型大小,但是不一定能够减少网络的运行时间。 第二种就是张量分解的方法,就是把一个卷积网络参数矩阵通过张量分解,用它的低秩特性做逼近。 第三种是channel 剪枝,就是训练好一个网络后,简单粗暴的把一些channel 去掉。 # 表格示例 p ap map tp fp <table> <tr> <th width=10%, bgcolor=yellow >参数</th> <th width=40%, bgcolor=yellow>详细解释</th> <th width="50%", bgcolor=yellow>备注</th> </tr> <tr> <td bgcolor=#eeeeee> -l </td> <td> use a long listing format </td> <td> 以长列表方式显示(显示出文件/文件夹详细信息) </td> </tr> <tr> <td bgcolor=#00FF00>-t </td> <td> sort by modification time </td> <td> 按照修改时间排序(默认最近被修改的文件/文件夹排在最前面) </td> <tr> <td bgcolor=rgb(0,10,0)>-r </td> <td> reverse order while sorting </td> <td> 逆序排列 </td> </tr> </table>