| # LoRA config (proven in DriftCall) | |
| LORA_R = 16 | |
| LORA_ALPHA = 32 | |
| LORA_DROPOUT = 0.05 | |
| BASE_MODEL = "unsloth/Qwen2.5-Coder-1.5B-Instruct" | |
| def load_model(max_seq_len=2048): | |
| from unsloth import FastLanguageModel | |
| model, tokenizer = FastLanguageModel.from_pretrained( | |
| model_name=BASE_MODEL, | |
| max_seq_length=max_seq_len, | |
| load_in_4bit=False, # Standard unsloth behavior, space uses fp16/bf16 | |
| dtype="bfloat16", | |
| ) | |
| model = FastLanguageModel.get_peft_model( | |
| model, r=LORA_R, lora_alpha=LORA_ALPHA, | |
| lora_dropout=LORA_DROPOUT, | |
| target_modules=["q_proj","k_proj","v_proj","o_proj", | |
| "gate_proj","up_proj","down_proj"], | |
| bias="none", | |
| use_gradient_checkpointing="unsloth", | |
| ) | |
| return model, tokenizer | |