| | --- |
| | base_model: unsloth/Qwen2.5-7B-Instruct |
| | tags: |
| | - education |
| | - indonesia |
| | - exam-generator |
| | - kurikulum-merdeka |
| | - text-generation-inference |
| | - transformers |
| | - unsloth |
| | - qwen2 |
| | license: apache-2.0 |
| | language: |
| | - id |
| | - en |
| | --- |
| | datasets: |
| | - DimasMP3/Indo-Elementary-School-Exams (custom) |
| | metrics: |
| | - eval_loss: 0.6869 |
| | --- |
| | |
| | # ๐ Qwen2.5-7B-Indo-Exam-Generator-16bit |
| | |
| | [<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200" align="right"/>](https://github.com/unslothai/unsloth) |
| | |
| | **Developed by:** [Dimas Maulana Putra (DimasMP3)](https://github.com/DimasMP3) |
| | **Model Type:** Specialized Fine-Tuned for Indonesian Elementary Education |
| | **Training Status:** Optimal @ Step 500 (Eval Loss: 0.686) |
| | |
| | --- |
| | |
| | ## ๐ Overview |
| | **Qwen2.5-Indo-Exam-Generator** adalah model bahasa yang telah di-finetuning secara khusus untuk menjawab tantangan dunia pendidikan di Indonesia. Model ini dilatih menggunakan dataset berkualitas tinggi sebanyak **4.500+ soal sekolah dasar** yang disesuaikan dengan **Kurikulum Merdeka**. |
| | |
| | Model ini bukan sekadar AI umum; ia dirancang untuk berperan sebagai **Guru Digital** yang mampu menghasilkan soal ujian (pilihan ganda) lengkap dengan kunci jawaban dan pembahasan yang akurat. |
| | |
| | ### โจ Key Features |
| | - ๐ฎ๐ฉ **Native Indonesian Support:** Memahami istilah pendidikan lokal (IPAS, HOTS, Kurikulum Merdeka). |
| | - ๐ **Structured Output:** Konsisten dalam menghasilkan format Soal, Opsi (A-D), Kunci, dan Pembahasan. |
| | - ๐ง **RAG Ready:** Dioptimalkan untuk bekerja dengan sistem *Retrieval-Augmented Generation* (pgvector/Drizzle). |
| | - ๐ **High Precision:** Fine-tuned dalam format 16-bit untuk akurasi logika yang tajam. |
| | |
| | --- |
| | |
| | ## ๐ Training Results (WandB Metrics) |
| | Training dilakukan dengan pengawasan ketat terhadap *Validation Loss* untuk mencegah halusinasi: |
| | |
| | | Metric | Value | |
| | | :--- | :--- | |
| | | **Best Step** | 500 | |
| | | **Validation Loss** | **0.6869** | |
| | | **Training Loss** | 0.3204 | |
| | | **Epoch** | 2.43 | |
| | |
| | > **Note:** Berhenti otomatis via *Early Stopping* di Step 650 untuk memastikan bobot terbaik (Step 500) yang tersimpan. |
| | |
| | --- |
| | |
| | ## ๐ ๏ธ Tech Stack |
| | Model ini lahir dari perpaduan teknologi mutakhir: |
| | - **Base Model:** `unsloth/Qwen2.5-7B-Instruct` |
| | - **Fine-tuning Tool:** [Unsloth](https://github.com/unslothai/unsloth) (2x faster training) |
| | - **Framework:** Huggingface TRL & Transformers |
| | - **Optimization:** LoRA (Rank 128) |
| | |
| | --- |
| | |
| | ## ๐ Cara Penggunaan (Inference) |
| | |
| | ```python |
| | from unsloth import FastLanguageModel |
| | import torch |
| | |
| | model, tokenizer = FastLanguageModel.from_pretrained( |
| | model_name = "DimasMP3/Qwen2.5-7B-Indo-Exam-Generator-16bit", |
| | max_seq_length = 2048, |
| | load_in_4bit = True, |
| | ) |
| | |
| | prompt = """<|im_start|>system |
| | Anda adalah Guru SD yang ahli. Buatlah soal pilihan ganda berdasarkan konteks materi ini.<|im_end|> |
| | <|im_start|>user |
| | Topik: Ekosistem Laut |
| | Konteks: Terumbu karang adalah tempat tinggal ikan.<|im_end|> |
| | <|im_start|>assistant |
| | """ |
| | |
| | # Generate Output... |