🚀 ACIP应用于Qwen/Qwen2.5 - 3B
本模型仓库是ACIP项目的一部分,提供了Qwen/Qwen2.5 - 3B
的可压缩版本。如需更多详情,请访问我们的代码仓库。
[
🤖 GitHub |
📄 论文 |
🌐 网站
]
🚀 快速开始
只需通过from_pretrained
加载ACIP模型:
from transformers import AutoModel
model = AutoModel.from_pretrained("MerantixMomentum/acip_qwen25_3b", 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}
}
属性 |
详情 |
支持语言 |
中文、英文、法文、西班牙文、葡萄牙文、德文、意大利文、俄文、日文、韩文、越南文、泰文、阿拉伯文 |
评估指标 |
困惑度、准确率 |
标签 |
acip、pytorch |
基础模型 |
Qwen/Qwen2.5 - 3B |
任务类型 |
文本生成 |
库名称 |
transformers |
数据集 |
allenai/c4 |
许可证 |
apache - 2.0 |