🚀 ACIP应用于Qwen/Qwen2.5 - 7B
本模型仓库是ACIP项目的一部分,提供了[Qwen/Qwen2.5 - 7B
](https://huggingface.co/Qwen/Qwen2.5 - 7B)的可压缩版本。如需更多详情,请访问我们的[代码仓库](https://github.com/merantix - momentum/acip)。
[
🤖 GitHub |
📄 Paper |
🌐 Website
]
🚀 快速开始
只需通过from_pretrained
加载ACIP模型:
from transformers import AutoModel
model = AutoModel.from_pretrained("MerantixMomentum/acip_qwen25_7b", trust_remote_code=True)
这将下载并创建一个完全参数化的ACIP模型,该模型可以被剪枝到你期望的任何压缩率。
例如:
model.prune_model_by_score(size_ratio=0.4)
这将把model
剪枝到其原始参数数量的40%,即60%的压缩率。
ACIP的一个独特特性是,这个操作是可逆的,也就是说,你可以根据需要多次运行model.prune_model_by_score
,以评估不同大小的模型。最后,你可以执行:
model.compress()
这将丢弃可压缩线性层的所有剪枝掩码值。
现在,模型实际上已经被压缩,你应该会观察到内存使用量显著减少(如果不重新加载ACIP模型,此步骤不可逆)。
如果你愿意,你还可以运行:
model.quantize()
以节省更多内存(我们仅使用bitsandbytes
测试了4位量化,但你也可以自定义此操作)。
🚀 就是这样!现在你可以像使用🤗 transformers中的任何其他因果语言模型一样,将压缩后的模型用于推理或微调。
⚠️ 重要提示
参数size_ratio
的范围是从1.0到0.0,表示压缩后模型的大小。例如,0.4意味着模型仅保留原始参数数量的40%,而1.0表示完全不压缩。或者,你也可以在prune_model_by_score
中设置compression_rate
,这等同于size_ratio = 1.0 - compression_rate
。
📦 安装指南
要从我们的模型中心运行ACIP模型,你只需要最少的依赖项,即torch
、transformers
、peft
,如果你想对模型进行量化,还可以选择安装bitsandbytes
。
有关可通过pip安装的依赖项及其确切版本,请参阅requirements.txt(较新的版本应该也可以正常工作)。
📄 许可证
本模型根据Apache - 2.0许可证发布。
📚 详细文档
当使用或引用此模型时,请引用我们的论文:
@article{mxm2025acip,
title={Choose Your Model Size: Any Compression by a Single Gradient Descent},
author={M. Genzel, P. Putzky, P. Zhao, S. Schulze, M. Mollenhauer, R. Seidel, S. Dietzel, T. Wollmann},
year={2025},
journal={Preprint arXiv:2502.01717}
}
属性 |
详情 |
数据集 |
['allenai/c4'] |
语言 |
['中文', '英文', '法文', '西班牙文', '葡萄牙文', '德文', '意大利文', '俄文', '日文', '韩文', '越南文', '泰文', '阿拉伯文'] |
评估指标 |
['困惑度', '准确率'] |
标签 |
['acip', 'pytorch'] |
基础模型 |
Qwen/Qwen2.5 - 7B |
任务类型 |
文本生成 |
库名称 |
transformers |
许可证 |
apache - 2.0 |