Views
No views yet
| Model | Size | Method | Train Loss | Eval Loss | Training Time |
|---|---|---|---|---|---|
| 0.5B-QLoRA-v1 | 0.5B | QLoRA | 0.448 | 0.2998 | 49s |
| 0.5B-LoRA-v1 | 0.5B | LoRA | 0.496 | 0.3665 | 70s |
| 0.5B-Full-v1 | 0.5B | Full | 0.461 | 0.3636 | 121s |
| 3B-QLoRA-v1 | 3B | QLoRA | 0.396 | 0.2521 | 14min |
| Parameter | Value |
|---|---|
| Base Model | Qwen/Qwen2.5-3B-Instruct |
| Fine-tuning Method | QLoRA (4-bit quantization + LoRA) |
| Quantization | 4-bit (bitsandbytes) |
| LoRA Rank | 64 |
| LoRA Alpha | 128 |
| LoRA Dropout | 0.05 |
| Learning Rate | 1e-4 |
| Epochs | 3 |
| Batch Size | 1 (effective: 16) |
| Max Sequence Length | 1024 |
| Precision | BF16 |
| Total Parameters | 3.2B |
| Trainable Parameters | 119.7M (3.7%) |
| Hardware | NVIDIA RTX 5070 (8GB VRAM) |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model = AutoModelForCausalLM.from_pretrained(
4 "Alamori/GoldenNet-Qwen2.5-3B-QLoRA-v1",
5 device_map="auto",
6 torch_dtype="auto"
7)
8tokenizer = AutoTokenizer.from_pretrained("Alamori/GoldenNet-Qwen2.5-3B-QLoRA-v1")
9
10# Classification example
11correspondence = """جمهورية العراق
12وزارة التربية
13العدد: 1234/ت/2025
14
15إلى/ السيد مدير عام التعليم المحترم
16
17م/ طلب تعيين معلمين
18
19نرجو الموافقة على تعيين 50 معلماً.
20
21مع التقدير"""
22
23instruction = "صنّف المراسلة الحكومية التالية إلى إحدى الفئات: طلب، شكوى، تقرير، إعلام، استفسار، دعوة، تعميم، إحالة. أجب بصيغة JSON."
24
25messages = [{"role": "user", "content": f"{instruction}\n\n{correspondence}"}]
26text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
27inputs = tokenizer(text, return_tensors="pt").to(model.device)
28
29outputs = model.generate(**inputs, max_new_tokens=256, temperature=0.1)
30print(tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True))