--- base_model: Qwen/Qwen3-1.7B library_name: peft license: apache-2.0 language: - id - en pipeline_tag: text-generation tags: - qwen3 - satri-1b - lora - dare-ties - indonesian --- # SATRI-1B — Hasil Fine-tuning Qwen3-1.7B (DARE-TIES Merge 4 Spesialis) - **Pembuat**: Satri (`PILUSATRIO`) - **Model Dasar**: [`Qwen/Qwen3-1.7B`](https://huggingface.co/Qwen/Qwen3-1.7B) (Apache-2.0) - **Jenis File**: Adapter LoRA (PEFT) — **bukan model penuh**. Butuh base `Qwen3-1.7B` untuk dipakai. - **Koleksi 4 Adapter Spesialis**: [`PILUSATRIO/satri-1b-adapters`](https://huggingface.co/PILUSATRIO/satri-1b-adapters) ## Apa Ini Sebenarnya? Repo ini berisi **satu adapter LoRA hasil merge** dari 4 adapter spesialis (masing-masing di-training terpisah) memakai metode **DARE-TIES Merge (density = 0.5)**: - `spec_A` — Bahasa Indonesia, Sejarah & Sastra Nusantara - `spec_B` — Penalaran Matematika, Logika & Sains (CoT) - `spec_C` — Pemrograman Python/SQL & Desain Web - `spec_D` — Pemanggilan Tool & Integrasi RAG Base model asli **tidak diubah**; semua "pengetahuan" ditambahkan lewat bobot LoRA (r=16, α=16) di atas `Qwen/Qwen3-1.7B`. ## Cara Pakai (Benar) Adapter ini harus dimuat di atas base model: ```python from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel base = "Qwen/Qwen3-1.7B" tok = AutoTokenizer.from_pretrained(base) model = AutoModelForCausalLM.from_pretrained(base, device_map="auto") model = PeftModel.from_pretrained(model, "PILUSATRIO/satri-1b") msgs = [{"role": "user", "content": "Siapa proklamator kemerdekaan Indonesia?"}] q = tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True) out = model.generate(**tok(q, return_tensors="pt").to(model.device), max_new_tokens=128) print(tok.decode(out[0], skip_special_tokens=True)) ``` ## Evaluasi (Jujur — Sampel Kecil) > ⚠️ **Baca ini dulu.** Evaluasi di bawah memakai **set privat yang sangat kecil (15 soal DEV, 16 soal TEST)**. Ini **bukan benchmark standar** dan **tidak bisa dibandingkan langsung** dengan hasil di paper/model lain. Angkanya **indikatif saja**, bukan klaim akurasi sesungguhnya. Skor 100% di set 15 soal artinya benar 15/15 — dengan sampel sekecil itu, 1 soal = 6,6%. | Gugus | Qwen3-1.7B (base) | SATRI-1B (merge ini) | | :--- | :--- | :--- | | Set DEV (15 soal) | 66,7% (10/15) | 100% (15/15) | | Set TEST (16 soal) | 62,5% (10/16) | 93,8% (15/16) | Kedua model diuji pada soal yang sama. Peningkatan kelihatan, tapi **karena sampelnya kecil, angka ini belum tentu akurat** — dibutuhkan benchmark yang lebih besar untuk klaim yang serius. ## Batasan (Sejujurnya) - Ini **LoRA merge eksperimen**, bukan model yang dioptimalkan untuk production. - Basis `Qwen3-1.7B` (1,7 miliar parameter) tetaplah model kecil — untuk tugas sulit ia terbatas. - Belum diuji pada benchmark publik besar (MMLU, IndoNLU, dll). ## Lisensi & Kredit - Base model: `Qwen/Qwen3-1.7B` — Apache-2.0. - Adapter ini: Apache-2.0. - Dibuat oleh Satri (`PILUSATRIO`). Teknis: QLoRA + PEFT + DARE-TIES merge.