🎨 Mengajar LLM Bahasa Diagram “Indie”: Eksperimen Qwen2.5 x Pintora



LLM mainstream biasanya jago banget bikin diagram pakai Mermaid atau PlantUML. Tapi gimana kalau kita paksa dia belajar bahasa diagram yang niche dan jarang diketahui orang? Penulis artikel ini melakukan eksperimen menarik melatih model kecil untuk menguasai Pintora.

📉 Masalah: Model Kecil yang “Buta” Bahasa Niche

🚫 Model LLM populer (seperti GPT-4 atau Claude) bias ke bahasa diagram populer. Kalau diminta bikin diagram pakai bahasa Pintora, mereka sering halusinasi pakai sintaks PlantUML.

🤏 Penulis ingin menggunakan model kecil (<30B parameter) agar hemat sumber daya, tapi model sekecil ini biasanya tidak punya pengetahuan tentang bahasa pemrograman yang tidak populer.

📝 Tantangan terbesar: Dataset coding Pintora hampir tidak ada di internet (Github cuma punya sedikit repo), jadi tidak ada bahan untuk latihan.

🛠️ Metodologi: Synthetic Data & 2-Phase Training

🤖 Model Choice: Memilih Qwen2.5-Coder-7B karena performa coding-nya yang kuat untuk ukuran kecil.

🏭 Synthetic Data: Karena data asli langka, penulis “memeras” Gemini 3 Pro dan Claude Sonnet untuk men-generate ribuan contoh kode Pintora, lalu dibersihkan dengan script validator (hanya menyisakan kode yang valid secara sintaks).

🎓 Training: Menggunakan Unsloth untuk efisiensi memori dengan dua fase:

1. Continued Pretraining (CPT): Agar model paham sintaks dasar bahasa baru.

2. Instruction Finetune (IFT): Agar model bisa mengikuti perintah “Bikin diagram X” atau “Edit diagram Y”.

✅ Findings & Hasil

✨ 86% Akurasi: Dari 1.000 pengujian acak, model berhasil me-render 857 diagram valid. Angka yang impresif untuk dataset pelatihan yang sangat kecil (hanya ~1.500 baris).

🧠 Smart Editing: Model tidak hanya bisa membuat diagram dari nol, tapi juga sukses melakukan tugas editing (memodifikasi diagram yang sudah ada) tanpa merusak struktur kodenya.

💸 Cost Efficient: Training dilakukan di cloud GPU (A40) karena T4 tidak cukup memori, tapi teknik QLoRA membuktikan bahwa kita bisa melatih kemampuan spesifik tanpa full fine-tuning yang mahal.

💻 How to Use

📥 Model ini sudah open source! Kalian bisa download di Hugging Face (tersedia versi GGUF untuk dijalankan lokal via LM Studio/Ollama): Cari model: huytd189/pintora-coder-7b Cari dataset: huytd189/pintora-instruct

💡 Key Takeaways

🧩 Synthetic Data Works: Jika dataset asli tidak ada, gunakan LLM besar untuk membuatnya. Validasi ketat adalah kunci agar model tidak belajar dari sampah.

💪 Small Models Are Capable: Kita tidak butuh model 400B parameter untuk tugas spesifik. Model 7B dengan fine-tuning yang terarah bisa mengalahkan model raksasa dalam niche tertentu.

👇 Diskusi Yuk!

Kalian pernah punya ide gila buat fine-tuning LLM untuk bahasa atau tugas yang super spesifik/aneh? Share ide atau pengalaman kalian di kolom komentar! 👇

Sumber:
https://www.huy.rocks/everyday/12-01-2025-ai-teaching-an-llm-a-niche-diagraming-language

#LLM #FineTuning #Qwen #Pintora #MachineLearning #OpenSource #AIExperiments #DevOps #SyntheticData #Unsloth

Leave a Comment