Views
No views yet
| Parameter | Value |
|---|---|
| Base model | mistralai/Mistral-7B-v0.1 |
| Method | QLoRA (4-bit NF4 quantization) |
| LoRA rank (r) | 16 |
| LoRA alpha | 16 |
| LoRA dropout | 0.1 |
| Target modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| Dataset | tatsu-lab/alpaca (~51K examples) |
| Epochs | 3 |
| Learning rate | 1e-4 |
| Batch size | 4 (gradient accumulation 4, effective 16) |
| Optimizer | paged_adamw_8bit |
| Precision | bfloat16 |
| GPU | NVIDIA RTX 3090 (24GB) |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5# Load base model in 4-bit
6from transformers import BitsAndBytesConfig
7
8bnb_config = BitsAndBytesConfig(
9 load_in_4bit=True,
10 bnb_4bit_quant_type="nf4",
11 bnb_4bit_compute_dtype=torch.bfloat16,
12)
13
14base_model = AutoModelForCausalLM.from_pretrained(
15 "mistralai/Mistral-7B-v0.1",
16 quantization_config=bnb_config,
17 device_map="auto",
18)
19
20# Load tokenizer and resize embeddings
21tokenizer = AutoTokenizer.from_pretrained("Beybars/mistral-7b-qlora-sft")
22base_model.resize_token_embeddings(len(tokenizer))
23
24# Load adapter
25model = PeftModel.from_pretrained(base_model, "Beybars/mistral-7b-qlora-sft")
26
27# Generate
28prompt = "### Instruction:\nExplain quantum computing in simple terms.\n\n### Response:\n"
29inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
30outputs = model.generate(**inputs, max_new_tokens=256, temperature=0.7, top_p=0.9)
31print(tokenizer.decode(outputs[0], skip_special_tokens=True))| Metric | Value |
|---|---|
| Final training loss | ~1.05 |
| Final eval loss | ~1.10 |
| Gradient norm | Stable ~0.5–0.6 |
| Training time | ~15 hours (3 epochs) |