A fine-tuned version of
Qwen/Qwen3.5-0.8B optimized for instruction-following and technical Q&A regarding
Unsloth AI documentation.
1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftModel
4
5# 1. Disable cuDNN algorithm search (resolves Qwen 3.5 1D convolution kernel lookup issue)
6torch.backends.cudnn.enabled = False
7
8base_model_name = "Qwen/Qwen3.5-0.8B"
9adapter_model_name = "maghrane/Qwen-0.8B-unsloth"
10
11# 2. Load Base Model & Adapter
12tokenizer = AutoTokenizer.from_pretrained(base_model_name, trust_remote_code=True)
13base_model = AutoModelForCausalLM.from_pretrained(
14 base_model_name,
15 torch_dtype=torch.float16,
16 device_map="auto",
17 trust_remote_code=True
18)
19model = PeftModel.from_pretrained(base_model, adapter_model_name)
20
21# 3. Re-enable KV Cache & set to evaluation mode
22model.config.use_cache = True
23model.eval()
24
25# 4. Generate Response
26prompt = "What is Unsloth and what can it do?"
27formatted_prompt = f"<s>[INST] {prompt} [/INST]"
28inputs = tokenizer(formatted_prompt, return_tensors="pt").to(model.device)
29
30with torch.no_grad():
31 outputs = model.generate(
32 **inputs,
33 max_new_tokens=256,
34 do_sample=True,
35 temperature=0.7,
36 top_p=0.9,
37 repetition_penalty=1.15,
38 eos_token_id=tokenizer.eos_token_id,
39 pad_token_id=tokenizer.pad_token_id or tokenizer.eos_token_id
40 )
41
42generated_text = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)
43print(generated_text)
This model is fine-tuned for educational and documentation guidance purposes regarding local LLM fine-tuning and inference.