🚀 ACIP应用于jeffwan/llama-7b-hf
本模型仓库是ACIP项目的一部分,提供了jeffwan/llama-7b-hf
的可压缩版本。如需更多详情,请访问我们的代码仓库。
🚀 快速开始
只需通过from_pretrained
加载ACIP模型:
from transformers import AutoModel
model = AutoModel.from_pretrained("MerantixMomentum/acip_llama1_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(较新的版本应该也可以正常工作)。
📄 许可证
许可证继承自基础模型jeffwan/llama-7b-hf。
📚 详细文档
引用信息
当使用或引用此模型时,请引用我们的论文:
@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 |
基础模型 |
jeffwan/llama-7b-hf |
库名称 |
transformers |