I am trying to use the bitsandbytes library for 4-bit quantization in my model loading function, but I keep encountering an ImportError. The error message says, "Using bitsandbytes 4-bit quantization requires the latest version of bitsandbytes," even though I have already installed version 0.45.3.
I have confirmed that bitsandbytes is installed by running pip show bitsandbytes, and it shows the correct version. I have also tried upgrading it using pip install -U bitsandbytes, but the error persists. Additionally, I have imported bitsandbytes at the beginning of my script (import bitsandbytes as bnb), yet the issue continues.
Is there any other configuration or setup I need to follow to resolve this issue? Any suggestions on how to get this working would be greatly appreciated!
here is my code where i am using it:
def get_model(model = CFG.model_name):
print('\nDownloading model: ', model, '\n\n')
if model == 'wizardlm':
model_repo = 'TheBloke/wizardLM-7B-HF'
tokenizer = AutoTokenizer.from_pretrained(model_repo)
bnb_config = bnb.BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_use_double_quant=True,
)
model = AutoModelForCausalLM.from_pretrained(
model_repo,
quantization_config = bnb_config,
device_map = 'auto',
low_cpu_mem_usage = True
)
max_len = 1024
elif model == 'llama2-7b-chat':
model_repo = 'daryl149/llama-2-7b-chat-hf'
tokenizer = AutoTokenizer.from_pretrained(model_repo, use_fast=True)
bnb_config = BitsAndBytesConfig(
load_in_4bit = True,
bnb_4bit_quant_type = "nf4",
bnb_4bit_compute_dtype = torch.float16,
bnb_4bit_use_double_quant = True,
)
model = AutoModelForCausalLM.from_pretrained(
model_repo,
quantization_config = bnb_config,
device_map = 'auto',
low_cpu_mem_usage = True,
trust_remote_code = True
)
max_len = 2048
elif model == 'llama2-13b-chat':
model_repo = 'daryl149/llama-2-13b-chat-hf'
tokenizer = AutoTokenizer.from_pretrained(model_repo, use_fast=True)
bnb_config = BitsAndBytesConfig(
load_in_4bit = True,
bnb_4bit_quant_type = "nf4",
bnb_4bit_compute_dtype = torch.float16,
bnb_4bit_use_double_quant = True,
)
model = AutoModelForCausalLM.from_pretrained(
model_repo,
quantization_config = bnb_config,
device_map = 'auto',
low_cpu_mem_usage = True,
trust_remote_code = True
)
max_len = 2048 # 8192
elif model == 'mistral-7B':
model_repo = 'mistralai/Mistral-7B-v0.1'
tokenizer = AutoTokenizer.from_pretrained(model_repo)
bnb_config = BitsAndBytesConfig(
load_in_4bit = True,
bnb_4bit_quant_type = "nf4",
bnb_4bit_compute_dtype = torch.float16,
bnb_4bit_use_double_quant = True,
)
model = AutoModelForCausalLM.from_pretrained(
model_repo,
quantization_config = bnb_config,
device_map = 'auto',
low_cpu_mem_usage = True,
)
max_len = 1024
else:
print("Not implemented model (tokenizer and backbone)")
return tokenizer, model, max_len
and where the error is coming from:
tokenizer, model, max_len = get_model(model = CFG.model_name)
I tried installing and upgrading the bitsandbytes library to the latest version (0.45.3) using the following command:
pip install -U bitsandbytes After this, I checked that the library was installed correctly by running:
pip show bitsandbytes I expected that after upgrading, the error related to the 4-bit quantization would be resolved, and the model loading function would work properly without raising an ImportError. However, despite upgrading and confirming the installation, I still encounter the same error:
ImportError: Using bitsandbytes 4-bit quantization requires the latest version of bitsandbytes
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744800067a4594437.html
评论列表(0条)