AI开发平台MODELARTS-剪枝:模型剪枝

时间:2025-01-20 11:05:27

模型剪枝

可以在Huggingface开源社区获取需剪枝的模型权重或者获得业务上已预训练好的模型权重,通过AscendModelNano工具进行FASP剪枝。
CUDA_VISIBLE_DEVI CES =0 python3 -m model_nano.prune_llama \  
 --model $MODEL_FILE \  
 --dataset $DATASET \  
 --nsamples $SAMPLE \ 
 --sparsity $SPARSITY \ 
 --save $SAVE_DIR \  
 --seed 0 \  
 --memory_efficient \ 
 --eval

参数介绍:

  • model:必选,要进行压缩的原始模型地址
  • save:必选,压缩后模型的保存的地址
  • dataset:可选,压缩模型所用的校准数据,可选范围["wikitext2","c4"],默认wikitext2。
  • nsamples:可选,压缩模型所用的校准数据样本数量,默认128。
  • seed:可选,随机数种子。
  • sparsity:可选,剪枝稀疏度,稀疏度越大剪枝压缩率越高,默认0.1。
  • memory_efficient:可选,优化剪枝过程中的显存使用,推荐传入。
  • eval:可选,是否进行压缩后模型的PPL评估。如果输入此参数,在wikitext2以及c4数据上进行PPL计算。

具体的代码示例如下。

GPU=0
SPARSITY=0.1
MODEL="llama-3-8b"
SAMPLE=128
DATASET="wikitext2" 
MODEL_FILE="/mnt/models/$MODEL" SAVE_DIR="/mnt/save_models/${MODEL}_${SPARSITY}_${DATASET}_n${SAMPLE}"  
CUDA_VISIBLE_DEVICES=$GPU 
python3 -m model_nano.prune_llama \
  --model $MODEL_FILE \
  --dataset $DATASET \
  --nsamples $SAMPLE \
  --sparsity $SPARSITY \
  --save $SAVE_DIR \
  --seed 0 \
  --memory_efficient \
  --eval
support.huaweicloud.com/bestpractice-modelarts/modelarts_llm_infer_91213.html