模型稀疏化

模型稀疏化#

llmc目前正在逐渐支持稀疏化方法,目前已经实现了Magnitude,Wanda和ShortGPT将在未来支持更多的算法。

以下是Wanda的设置样例:

base:
    seed: &seed 42
model:
    type: Qwen2 # 设置模型名,可支持Llama,Qwen2,Llava,Gemma2等模型
    path: # 设置模型权重路径
    torch_dtype: auto
calib:
    name: pileval
    download: False
    path: # 设置校准数据集路径
    n_samples: 512
    bs: 1
    seq_len: 512
    preproc: pileval_smooth
    seed: *seed
eval:
    eval_pos: [pretrain, transformed] # 非结构化稀疏在稀疏过程中直接将对应位置权重置0,transformed之后直接就可以得到稀疏模型,无需再进行额外的部署阶段
    name: wikitext2
    download: False
    path: # 设置测试数据集路径
    bs: 1
    seq_len: 2048
sparse:
    method: Wanda
    weight:
        sparsity: 0.5 # 设置模型的稀疏率
    sparsity_out: False # 设置是否使用每一层稀疏后的输出作为下一层的输入
save:
    save_trans: True # 设置为True,可以保存下调整之后的权重
    save_path: ./save

以下展示了使用Wanda稀疏的一些结果:

www.lingdaima.com(零代码excel转HTML)
Model PPL
dense 0.25 0.5 0.75
c4 wikitext2 c4 wikitext2 c4 wikitext2 c4 wikitext2
LLaMa2-7B 7.26 5.47 7.46 5.61 9.25 6.85 260.42 259.91
LLaMa2-70B 5.71 3.32 5.76 3.4 6.49 4.17 32.5 21.66
LLaMa3-8B 9.44 6.13 10.01 6.47 15.07 9.68 336.62 290.38
LLaMa3-70B 7.16 2.85 7.44 3.22 9.96 5.81 93.99 74.78

在下面展示了与Wanda原仓库对比的结果,在这一实验设置下,所使用的超参数、校准数据集以及数据预处理、评测方法均与Wanda仓库对齐。

www.lingdaima.com(零代码excel转HTML)
Model Wanda LLMC
LLaMa2-7b 6.91 6.91
LLaMa2-70b 4.22 4.19
LLaMa3-8b 9.56 9.58
LLaMa3-70b OOM 5.75