YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Lucky Chat Experiment โ Small GPT trained on personal chat corpus
Ringkasan
Model bahasa kecil (984K total parameter, 360K non-embedding) yang dilatih dari nol di atas korpus percakapan personal (chat log Xandro-Claude, 299 percakapan, ~1.45 juta token setelah dibersihkan). Ini adalah eksperimen untuk melihat apakah model kecil bisa menangkap gaya bahasa dari korpus percakapan pribadi yang jauh lebih kecil dari korpus pretraining umum.
Arsitektur
- Decoder-only GPT (pre-norm, weight tying antara token embedding dan output head)
- d_model=96, n_layer=3, n_head=4, d_ff=384, context_length=256
- Tokenizer BPE custom, vocab_size=6500 (dilatih khusus dari korpus yang sama, byte-level)
Data training
- Sumber: chat log personal (bukan korpus umum/berita)
- 5.24MB teks setelah dibersihkan dari code block, markdown, path file
- 1,447,158 token
- Rasio token/parameter non-embedding: ~4.02
Training
- 2000 iterasi, batch size 32, context length 256, AdamW lr=3e-4
- Train loss akhir: 4.92 | Val loss akhir: 5.37
- Waktu training: ~100 detik di GPU T4 (Kaggle)
KETERBATASAN PENTING
- Model ini SANGAT KECIL dan dilatih dari korpus SANGAT KECIL dibanding model bahasa pada umumnya. Output tidak selalu koheren secara logika, meski sering benar secara tata bahasa.
- Karena rasio token/parameter yang rendah, model punya risiko mereproduksi potongan kalimat ASLI dari data training saat generate, terutama untuk prompt yang mirip dengan sesuatu di corpus asli.
- Korpus training berisi percakapan personal (termasuk topik pribadi/curhat), sehingga output model bisa mencerminkan gaya bicara dan konten spesifik dari percakapan tersebut.
- Ini murni proyek eksperimen/riset pribadi, BUKAN model produksi, bukan chatbot yang aman untuk digunakan sebagai asisten umum.
Cara pakai
Lihat model.py untuk kode arsitektur dan fungsi generate().
Load checkpoint dengan torch.load("checkpoint.pt"), ambil model_state_dict.
Load tokenizer dengan Tokenizer.from_file("tokenizer.json") dari library tokenizers (HuggingFace).
Author
Alexandro Putra Da'Gomez (Kaggle: adisad)