參考消息電子版手機(jī)版網(wǎng)站優(yōu)化方法
摘要:
量化方案基于AutoGPTQ,提供了Int4量化模型,其中包括Qwen-7B-Chat和Qwen-14B-Chat。更新承諾在模型評估效果幾乎沒有損失的情況下,降低存儲要求并提高推理速度。量化是指將模型權(quán)重和激活的精度降低以節(jié)省存儲空間并提高推理速度的過程。AutoGPTQ是一種專有量化工具。Int4是指4位整數(shù)量化,與傳統(tǒng)的8位量化相比,可以進(jìn)一步減少存儲要求。
如何使用Int4量化模型
在開始使用前,請先保證滿足要求(如torch 2.0及以上,transformers版本為4.32.0及以上,等等),并安裝所需安裝包:
pip install auto-gptq optimum
【Auto-GPT 】
AutoGPTQ將能夠作為一個可擴(kuò)展、靈活的量化后端,支持所有類似GPTQ的方法,并自動量化由Pytorch編寫的LLM。說白了就是讓模型能夠輕量化。
┏ (゜ω゜)=??傳送門==>GitHub - PanQiWei/AutoGPTQ: An easy-to-use LLMs quantization package with user-friendly apis, based on GPTQ algorithm.
https://huggingface.co/blog/zh/gptq-integration
問題:ModuleNotFoundError: No module named 'optimum.gptq'的處理方法
在python環(huán)境下使用如下代碼,查看是否安裝這個模塊
import pkg_resourcestry:pkg_resources.get_distribution('optimum')print('optimum is installed.')# Check if gptq is installed under optimumtry:pkg_resources.get_distribution('optimum.gptq')print('gptq is installed under optimum.')except pkg_resources.DistributionNotFound:print('gptq is not installed under optimum.')
except pkg_resources.DistributionNotFound:print('optimum is not installed.')
我這里返回了
optimum is installed.
gptq is not installed under optimum.
看來,我是安裝了【optimum】這個模塊,但是下面的【gptq】沒有安裝
通過pip list指令,我也找到所裝的optimum版本
Optimum 是 Transformers 的擴(kuò)展,它提供了一組性能優(yōu)化工具,可以在目標(biāo)硬件上以最高效率訓(xùn)練和運(yùn)行模型。
【解決方法】
刪除,從Git上clone下(clone地址==>https://github.com/huggingface/optimum),再安裝optimum。這次通過在clone的本地路徑下,通過指令【python setup.py install】去安裝。發(fā)現(xiàn)optimum文件夾下有了gptq這個模塊
離線運(yùn)行一下量化后的模型
首先還是將模型文件下載到本地,用YOURPATH去保存你的模型文件所在的相對路徑。
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfigYOURPATH = 'models/Qwen-7B-Chat-Int'
# name = 'Qwen/Qwen-7B-Chat-Int'
tokenizer = AutoTokenizer.from_pretrained(YOURPATH, local_files_only=True,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(YOURPATH, local_files_only=True, device_map="auto", trust_remote_code=True).eval()