Ministral-8B-DFK-CPT
Model Details
Model Description
Ministral-8B-DFK-CPT adalah model bahasa Indonesia yang dirancang untuk Continued Pre-Training (CPT) pada domain spesifik DFK (Disinformasi, Fitnah, Kebencian) dan Pengetahuan Umum. Model ini dibangun di atas arsitektur Ministral-3-8B-Base-2512 menggunakan framework Unsloth untuk pelatihan yang lebih cepat dan efisien dengan pendekatan LoRA (Low-Rank Adaptation).
- Developed by: aitf-komdigi
- Model type: Causal Language Model
- Base architecture: Ministral-3-8B-Base-2512
- Primary language: Indonesian (id)
- License: Apache-2.0
Training Data Composition
Dataset yang digunakan merupakan gabungan dari data spesifik DFK dan data umum (General) dalam bahasa Indonesia dengan target komposisi 80% Domain DFK dan 20% General. Berikut adalah rincian komposisi berdasarkan persentase realita dan jumlah token yang terkumpul:
| Komponen | Persentase Realita | Token Terkumpul Ministral 3 |
|---|---|---|
| Berita (DFK, Formal) | 44% | ~100.793 juta |
| Berita (DFK, Nonformal) | 19% | ~43.421 juta |
| Berita (DFK, Formal) | 6% | ~13.798 juta |
| Wikipedia (General, Formal) | 13% | ~30.166 juta |
| Wikipedia (DFK, Formal) | 10% | ~22.920 juta |
| Jurnal (General, Formal) | 7% | ~16.309 juta |
Intended Use
Direct Use (Recommended)
Model ini ditujukan untuk Continued Pre-Training, khususnya untuk:
- Adaptasi domain identifikasi konten Disinformasi, Fitnah, dan Kebencian di ruang digital Indonesia.
- Pengayaan pengetahuan konteks sosiopolitik lokal.
- Pre-adaptation sebelum dilanjutkan ke tahap Instruction Tuning atau DPO/RLHF.
Out-of-Scope Use
- Chat-oriented instruction following tanpa fine-tuning lanjutan (ini adalah model base/CPT).
How to Get Started
Load the model using HuggingFace Transformers atau Unsloth:
from unsloth import FastLanguageModel
import torch
model_id = "aitf-komdigi/KomdigiITS-8B-DFK-CPT"
model, tokenizer = FastLanguageModel.from_pretrained(
model_name=model_id,
max_seq_length=2048,
dtype=torch.bfloat16,
load_in_4bit=True,
)
input_text = "Disinformasi di Indonesia terutama menyebar lewat"
inputs = tokenizer(input_text, return_tensors="pt").to("cuda")
with torch.no_grad():
outputs = model.generate(**inputs, max_new_tokens=50, temperature=0.7)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Training Details
Training Procedure
Model dilatih menggunakan Continued Pre-Training (CPT) dengan library Unsloth.
Hyperparameters
- Precision: bf16 (mixed precision)
- Quantization: 4-bit (via Unsloth)
- Max Sequence Length: 2048
- LoRA Rank (r): 16
- LoRA Alpha: 32
- Target modules: q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
- Batch size: 16 / device
- Gradient accumulation: 4 (effective batch size = 64)
- Learning rate: 5e-5 (cosine schedule)
- Warmup steps: 100
- Epochs: 1
- Optimizer: adamw_8bit
Evaluation
Results
Berdasarkan evaluasi sebelum (baseline) dan sesudah pelatihan:
- Baseline Self-PPL (Pure DFK Test Sample): 7.7082
- Final Self-PPL (Pure DFK Test Sample): 5.8837
- Self Improvement: +23.67% (Model jauh lebih baik mengenali teks berdomain DFK)
- Wiki-ID PPL Degradation: -0.30% (Catastrophic forgetting sangat minimal terhadap bahasa umum)
Tech Stack & Hardware
- Framework: PyTorch, Unsloth, Hugging Face Transformers, TRL
- Monitoring: Weights & Biases (WandB)
- Hardware: NVIDIA RTX PRO 6000 Blackwell Server Edition