🚀 ACIP應用於meta - llama/Llama - 3.1 - 8B
本模型倉庫是ACIP項目的一部分,提供了meta-llama/Llama-3.1-8B
的可壓縮版本。如需更多詳情,請訪問我們的代碼倉庫。
🚀 快速開始
只需通過from_pretrained
加載ACIP模型:
from transformers import AutoModel
model = AutoModel.from_pretrained("MerantixMomentum/acip_llama31_8b", 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(較新的版本應該也可以正常工作)。
📄 許可證
本模型根據llama3.1許可證發佈。
📚 詳細文檔
引用
在使用或引用此模型時,請引用我們的論文:
@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}
}
模型信息
屬性 |
詳情 |
許可證 |
llama3.1 |
數據集 |
['allenai/c4'] |
支持語言 |
['en', 'de', 'fr', 'it', 'pt', 'hi', 'es', 'th'] |
評估指標 |
['perplexity', 'accuracy'] |
標籤 |
['acip', 'pytorch'] |
基礎模型 |
meta-llama/Llama-3.1-8B |
任務類型 |
文本生成 |
庫名稱 |
transformers |