Indigo

Model bahasa kecil GPT-style yang dibangun dari nol (tanpa library transformers) sebagai proyek pembelajaran. Backend PyTorch; tersedia juga varian TensorFlow/Keras terpisah. Bobot disimpan dalam format aman .safetensors.

Arsitektur

Nilai default
Tipe Decoder-only transformer (pre-LN, SDPA)
Parameter ~0.81M
Layer / Head 4 / 4
Dimensi 128
Konteks 96 token
Tokenizer karakter atau BPE (--tokenizer bpe)

File penting

indigo/model.py        arsitektur GPT (attention kausal + KV-cache)
indigo/bpe.py          tokenizer BPE byte-level minimal
indigo/tokenizer.py    tokenizer karakter
train.py               training (best-checkpoint, resume penuh, split val per-file)
generate.py            generasi (top-k, top-p, repetition penalty)
out/indigo_best.safetensors   bobot terbaik + _meta.json

Cara pakai

pip install -r requirements.txt

python train.py --data data/sample.txt --steps 2000
python train.py --data data/tekskamu.txt --tokenizer bpe --vocab-size 512

python generate.py --prompt "Indigo" --max-new 300 \
  --temperature 0.8 --top-k 40 --top-p 0.9 --repetition-penalty 1.2

python train.py --init-from out/indigo_best.safetensors --steps 1000  # lanjutkan training

Generasi memakai KV-cache sehingga cepat untuk output panjang.

Penjaga kamus (kualitas ejaan)

--guard memuat kamus kata (satu kata per baris, mis. wordlist KBBI berlisensi MIT dari hf.co/datasets/Deddy/Indonesia-dataset-2023), lalu memilih kandidat generasi dengan rasio kata dikenal tertinggi โ€” menyaring ejaan tak-baku tanpa mengubah model:

python generate.py --prompt "kepekaan" --max-new 120 --guard data/kamus_id.txt

# metrik otomatis per run di manifest.json ("kamus_ratio")
python pipeline.py --tag run03 --data data/ --steps 2000 --guard data/kamus_id.txt

Kata berimbuhan dicek lewat formula morfologi: data/prefiks.txt & data/sufiks.txt (mis. dipahami โ†’ akar paham, termasuk asimilasi meny-โ†’s, pem-โ†’p). Edit kedua file itu untuk memperluas cakupan tanpa menyentuh kode.

Pipeline

pipeline.py merangkai semuanya: menyalin data lokal dan/atau menarik dataset HF, melatih, menyimpan manifest.json (statistik + konfigurasi run), lalu opsional mempromosikan checkpoint terbaik ke out/ dan mengunggahnya ke Hub.

# data lokal + dataset HF, tokenizer BPE
python pipeline.py --tag run01 --data data/tekskamu.txt --hf-dataset adyoi/indigo \
  --tokenizer bpe --vocab-size 512 --steps 900 --device cpu

# promosikan hasil terbaik ke out/ sekaligus upload ke Hub
python pipeline.py --tag run02 --data data/ --steps 2000 --finalize --push

Batasan

  • Dilatih pada data sangat kecil โ†’ output belum koheren; cocok untuk edukasi bukan produksi.
  • Gunakan checkpoint indigo_best (terpilih berdasarkan validasi), bukan checkpoint akhir.

Keamanan

Bobot disimpan sebagai .safetensors (tanpa pickle, tidak mengeksekusi kode saat dimuat). State optimizer (*_optimizer.pt) hanya untuk resume lokal โ€” jangan dibagikan.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support