ValueError: предоставленный словарь состояния для слоев не содержит `bitsandbytes__*` и, возможно, других `quantized_sta ⇐ Python

Программы на Python
Anonymous
ValueError: предоставленный словарь состояния для слоев не содержит `bitsandbytes__*` и, возможно, других `quantized_sta

Сообщение Anonymous »

Мы пытаемся развернуть квантованную модель Llama 3.1 70B (от Huggingface, используя биты и байты), часть квантования работает нормально, поскольку мы проверяем правильность памяти модели, а также тестируем получение прогнозов для модели, которые также верны, проблема в том, что после сохранения квантованной модели и ее последующей загрузки мы получаем

valueError: предоставленный код состояния для слоев.0.mlp.down_proj.weight делает
не содержать биты и байты__* и, возможно, другие компоненты quantized_stats


Что мы делаем:
  • Сохраните квантованную модель, используя обычный save_pretrained(save_dir)
  • Попробуйте загрузить модель с помощью AutoModel.from_pretrained, передав save_dir и тот же quantization_config, который использовался при создании модели.
Вот код:
model_id = "meta-llama/Meta-Llama-3.1-70B-Instruct"

cache_dir = "/home/ec2-user/SageMaker/huggingface_cache"

quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
)

model_4bit = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype=torch.bfloat16,
quantization_config=quantization_config,
low_cpu_mem_usage=True,
offload_folder="offload",
offload_state_dict=True,
cache_dir=cache_dir
)

tokenizer = AutoTokenizer.from_pretrained(model_id,cache_dir=cache_dir)

pt_save_directory = "test_directory"
tokenizer.save_pretrained(pt_save_directory,)
model_4bit.save_pretrained(pt_save_directory)
## test load it

loaded_model = AutoModel.from_pretrained(pt_save_directory,
quantization_config=quantization_config
)


Подробнее здесь: https://stackoverflow.com/questions/790 ... ndbytes-an

Вернуться в «Python»