Instructions to use adyoi/indigo.tf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use adyoi/indigo.tf with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://adyoi/indigo.tf") - Notebooks
- Google Colab
- Kaggle
| Indigo adalah model bahasa kecil yang dibangun dari nol. | |
| Model ini dilatih dengan PyTorch murni tanpa pustaka tambahan. | |
| Arsitektur Indigo berupa transformer decoder sederhana. | |
| Setiap blok transformer memuat perhatian kausal dan jaringan saraf. | |
| Perhatian kausal membuat model hanya melihat token masa lalu. | |
| Token masa lalu dipakai untuk memprediksi token berikutnya. | |
| Prediksi token berikutnya adalah inti dari pemodelan bahasa. | |
| Pemodelan bahasa bisa dipakai untuk membuat teks baru. | |
| Teks baru dihasilkan token demi token secara berurutan. | |
| Urutan token ditentukan oleh distribusi probabilitas model. | |
| Probabilitas model dipelajari dari data latih. | |
| Data latih berupa kumpulan teks biasa dalam berkas txt. | |
| Berkas teks dibaca lalu diubah menjadi deret angka. | |
| Deret angka tersebut menjadi masukan bagi jaringan saraf. | |
| Jaringan saraf belajar dengan menurunkan fungsi kerugian. | |
| Fungsi kerugian dihitung menggunakan cross entropy. | |
| Cross entropy mengukur selisih prediksi dengan jawaban sebenarnya. | |
| Jawaban sebenarnya adalah token yang muncul pada data asli. | |
| Data asli dibagi menjadi data latih dan data validasi. | |
| Data validasi dipakai untuk memantau kemajuan pelatihan. | |
| Pelatihan berjalan selama ribuan langkah kecil. | |
| Setiap langkah memperbarui bobot model sedikit demi sedikit. | |
| Bobot model diperbarui oleh optimizer AdamW. | |
| Optimizer menurunkan kerugian dengan gradien turun. | |
| Gradien dihitung lewat propagasi balik otomatis dari PyTorch. | |
| Propagasi balik meneruskan kesalahan ke setiap lapisan. | |
| Lapisan pertama adalah lapisan penyematan token. | |
| Penyematan token mengubah angka menjadi vektor padat. | |
| Vektor padat digabung dengan penyematan posisi. | |
| Penyematan posisi memberi tahu urutan kata dalam kalimat. | |
| Kalimat panjang dipotong menjadi jendela tetap. | |
| Jendela tetap disebut block size atau konteks. | |
| Konteks dibatasi agar perhatian tetap efisien. | |
| Perhatian menghitung hubungan antar token dalam konteks. | |
| Hubungan antar token membentuk pemahaman sederhana. | |
| Pemahaman ini tumbuh seiring bertambahnya langkah latih. | |
| Langkah latih dicatat beserta nilai kerugiannya. | |
| Nilai kerugian yang menurun menandakan model belajar. | |
| Model yang sudah belajar bisa menyimpan checkpoint. | |
| Checkpoint berisi bobot, konfigurasi, dan kosakata. | |
| Kosakata Indigo berupa karakter unik dari data. | |
| Tokenizer karakter mengubah huruf menjadi angka sederhana. | |
| Angka sederhana mudah dipahami tanpa pustaka eksternal. | |
| Tanpa pustaka eksternal proyek tetap ringan dan jelas. | |
| Proyek ringan cocok untuk belajar dari dasar. | |
| Dasar yang kuat memudahkan eksperimen lanjutan. | |
| Eksperimen bisa berupa penambahan lapisan atau kepala perhatian. | |
| Kepala perhatian tambahan menangkap pola yang lebih beragam. | |
| Pola beragam menghasilkan teks yang lebih koheren. | |
| Teks koheren adalah tujuan akhir dari pelatihan ini. | |