C10 · Modul 02
Reproduktibilitas
42 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Pilih tingkat reproduktibilitas secara sadar (bit-identik, toleransi, atau statistik) dan tulis tingkat itu di tes.
- Identitas data, konfigurasi, dan lingkungan adalah hash: SHA-256 atas byte, JSON kanonik, dan sidik paket terurut.
- Urutan baris, thread, dan reduksi di GPU mengubah digit terakhir karena penjumlahan pecahan tidak asosiatif; urutkan data secara kanonik dan patok thread.
- Resep (hash data + hash konfigurasi + sidik lingkungan) adalah identitas pelatihan; model disimpan sebagai data, bukan
pickle. - Lock file berhash dan image berdigest mengunci lingkungan; tes reproduktibilitas berjalan di proses terpisah.
Sebelum mulai
±6 jam (2 jam konsep, 3 jam latihan dan lab, 1 jam review).
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
- Modul 01 · Dari notebook ke produksiYang dipakai: model churn-v1, ML Test Score
- C2 · Modul 14 · Pipeline, reproduktibilitas, dan pelacakan eksperimenYang dipakai: pipeline,
pickleadalah program - F1 · Modul 13 · Python di komputermuYang dipakai: venv,
pip - F5 · Modul 01 · Proyek rapi dan dependensi terkunci
- F5 · Modul 02 · Docker dari nol
Hasil belajar:
- Membedakan tiga tingkat reproduktibilitas (bit-identik, numerik dalam toleransi, statistik antarbenih) dan memilih yang sepadan dengan biayanya.
- Menjelaskan dan mendemonstrasikan sumber ketidakdeterministikan: benih, urutan data, urutan reduksi bilangan pecahan (thread, reduksi atomik di GPU), keadaan bersama antarpanggilan, versi pustaka, dan lingkungan.
- Menulis
hash_berkas,hash_objek, dansidik_lingkungansesuai kontrak, lalu menyusun resep pelatihan yang identitasnya ditentukan data, konfigurasi, dan lingkungan. - Melatih ulang churn-v1 sehingga parameternya identik bit demi bit walau urutan baris masukan berbeda, dan menyimpan model sebagai data, bukan sebagai
pickle. - Mengunci lingkungan dengan lockfile berhash dan container (Lab), dengan kebiasaan rantai pasok yang defensif.
Hasil lab: platform_makmur.py bertambah hash_berkas, hash_objek, sidik_lingkungan; latih.py yang menulis artefak/model.json dan artefak/resep.json identik byte demi byte pada dua kali jalan; uv.lock atau requirements.txt berhash; Dockerfile dengan citra dasar yang dipatok.
Semua contoh diuji dengan Python 3.12 dan 3.13, numpy 2.4.6, pandas 3.0.2, dan scikit-learn 1.8.0 (_kerangka/requirements.txt). Pemeriksa menjalankan kode dengan satu thread BLAS/OpenMP (OMP_NUM_THREADS=1), seperti peramban.
Istilah di modul ini (21)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 17 contoh kode
- 7 berkas latihan + tes
- 1 berkas data
- requirements.txt
Lihat isi zip
- BACA-DULU.txt
- siap02.py
- berantakan.py
- contoh_c10_02_104.py
- contoh_c10_02_170.py
- contoh_c10_02_230.py
- contoh_c10_02_339.py
- contoh_c10_02_391.py
- contoh_c10_02_417.py
- contoh_c10_02_518.py
- contoh_c10_02_701.py
- contoh_c10_02_779.py
- contoh_c10_02_805.py
- contoh_c10_02_1045.py
- contoh_c10_02_1101.py
- contoh_c10_02_1176.py
- contoh_c10_02_1334.py
- contoh_c10_02_1600.py
- contoh_c10_02_1663.py
- contoh_c10_02_1719.py
- test_c10_02_1.py
- test_c10_02_2.py
- test_c10_02_3.py
- test_c10_02_4.py
- test_c10_02_7.py
- test_c10_02_6.py
- test_c10_02_5.py
- panel_churn.csv
- requirements.txt