Spaces:
Sleeping
Sleeping
import torch | |
from unsloth import FastLanguageModel | |
def load_model(model_name, max_seq_length, dtype, load_in_4bit, device_map): | |
try: | |
model, tokenizer = FastLanguageModel.from_pretrained( | |
model_name=model_name, | |
max_seq_length=max_seq_length, | |
dtype=dtype, | |
load_in_4bit=load_in_4bit, | |
device_map=device_map, | |
) | |
return model, tokenizer | |
except Exception as e: | |
raise RuntimeError(f"Failed to load model {model_name}: {e}") | |
def configure_peft_model(model, target_modules, lora_alpha=16, lora_dropout=0, random_state=3407, use_rslora=False): | |
try: | |
peft_model = FastLanguageModel.get_peft_model( | |
model=model, | |
target_modules=target_modules, | |
lora_alpha=lora_alpha, | |
lora_dropout=lora_dropout, | |
bias="none", | |
use_gradient_checkpointing="unsloth", | |
random_state=random_state, | |
use_rslora=use_rslora, | |
loftq_config=None, | |
) | |
return peft_model | |
except Exception as e: | |
raise RuntimeError(f"Failed to configure PEFT model: {e}") | |