模型:

YeungNLP/bloomz-6b4-mt-zh

英文

项目地址: LLMPruner:大语言模型裁剪工具

LLMPruner是一个大语言模型裁剪工具,通过对大语言模型的冗余词表进行裁剪,减少模型参数量,降低显存占用,提升训练速度,并且能够保留预训练中学习到的知识。

本项目对Bloom进行词表裁剪,保留中文token和常用的英文token,词表由250880将至46145,缩减为原来的18.39%。裁剪得到的Bloom模型如下表:

裁剪模型 原模型 参数量比例
1232321 1233321 70.96%
1234321 1235321 77.13%
1236321 1237321 81.14%
1238321 1239321 86.48%
12310321 12311321 90.81%
12312321 12313321 70.96%
12314321 12315321 77.13%
12316321 12317321 81.14%
12318321 12319321 86.48%
12320321 12321321 90.81%
12322321 12323321 90.81%

使用方法:

from transformers import BloomTokenizerFast, BloomForCausalLM

tokenizer = BloomTokenizerFast.from_pretrained('YeungNLP/bloom-1b4-zh')
model = BloomForCausalLM.from_pretrained('YeungNLP/bloom-1b4-zh')
print(tokenizer.batch_decode(model.generate(tokenizer.encode('长风破浪会有时', return_tensors='pt'))))