C10 · MLOps dan Platform ML
Menjalankan model di produksi dengan disiplin rekayasa: hasil yang bisa diulang, data dan model yang berversi, rilis yang aman, pemantauan statistik yang mendeteksi masalah sebelum pengguna merasakannya, serta biaya yang terkendali, termasuk untuk sistem berbasis LLM.
- 16 modul
- 112 latihan
- 100 istilah
Daftar modul
- 01Dari notebook ke produksiGratis7 latihan
- 02ReproduktibilitasGratis7 latihan
- 03Versi data dan artefakCoding Studio7 latihan
- 04Pelacakan eksperimenCoding Studio7 latihan
- 05Registry model dan siklus rilisCoding Studio7 latihan
- 06Fitur dan feature storeCoding Studio7 latihan
- 07Pipeline pelatihan dan pelatihan berkelanjutanCoding Studio7 latihan
- 08Pengujian sistem MLCoding Studio7 latihan
- 09CI/CD untuk modelCoding Studio7 latihan
- 10Penyajian modelCoding Studio7 latihan
- 11Rilis amanCoding Studio7 latihan
- 12Pemantauan dan *drift*Coding Studio7 latihan
- 13Insiden dan keandalanCoding Studio7 latihan
- 14Infrastruktur dan biayaCoding Studio7 latihan
- 15LLMOpsCoding Studio7 latihan
- 16Proyek akhir: Platform MakmurCoding Studio7 latihan
Modul 01–02 gratis; modul bergembok terbuka dengan Coding Studio. Lihat paket
Ada contoh atau latihan bertanda “Kerjakan di laptop”? Paket dan data C10 untuk menjalankannya di komputermu ada di panduan menjalankan kode di komputermu.
Tentang course ini
Menjalankan model di produksi dengan disiplin rekayasa: hasil yang bisa diulang, data dan model yang berversi, rilis yang aman, pemantauan statistik yang mendeteksi masalah sebelum pengguna merasakannya, serta biaya yang terkendali, termasuk untuk sistem berbasis LLM.
Course inti jalur Data & AI dan titik keluar jalur ML Engineer, sesudah C1, C2, C9, C3, dan C4. Latihannya diperiksa otomatis.
Posisi course
Kenapa course ini ada
Model yang bagus di notebook baru separuh pekerjaan. Sculley dkk. (2015) menunjukkan bahwa kode model hanya kotak kecil di tengah sistem ML; sisanya konfigurasi, data, pemantauan, penyajian, dan proses, dan di situlah utang teknis menumpuk. Kegagalan yang umum:
- tidak ada yang bisa mengulang model yang sedang berjalan di produksi;
- fitur di produksi dihitung berbeda dari saat pelatihan (training–serving skew);
- AUC turun pelan-pelan dan baru ketahuan tiga bulan kemudian;
- satu bug pipeline mengubah skala satu kolom dan model diam-diam salah;
- versi baru dirilis ke semua pengguna sekaligus dan galatnya naik;
- tagihan GPU membengkak karena pekerjaan gagal dan GPU menganggur;
- prompt LLM "diperbaiki" tanpa evaluasi, dan kualitas turun tanpa ada yang tahu.
Cara klasik di course ini: determinisme dan reproduktibilitas, penyimpanan beralamat isi (hash, manifest, seperti Git), log eksperimen append-only, siklus rilis dan persetujuan, join titik waktu untuk fitur, pengujian sistem ML (Breck dkk. 2017), uji statistik untuk keputusan rilis (uji berpasangan, uji proporsi), teori antrean untuk penyajian (hukum Little, batching), deteksi perubahan (PSI, Kolmogorov–Smirnov, CUSUM), SLO dan anggaran galat (SRE), dan pemodelan biaya. Cara modern: MLflow (tracking dan registry), DVC, feature store (Feast), FastAPI dan server model (BentoML, KServe, Triton, vLLM), GitHub Actions untuk CI/CD model, rilis shadow/canary, pemantauan (Evidently, Prometheus), Kubernetes dan GPU di cloud, dan LLMOps (versi prompt, evaluasi di CI, tracing), dengan AI sebagai rekan yang setiap usulan otomasinya diuji dengan skenario gagal.
Untuk siapa
- Course wajib: C2 Machine Learning Engineering (model churn yang dioperasikan) dan F5 Rilis (proyek rapi, lock file, Docker, Git/GitHub, GitHub Actions, tayang, rahasia, CD dan rollback). F5 adalah dasar perkakasnya; C10 hanya menambah lapisan khas ML di atasnya.
- Dianjurkan: C4 Data Engineering (SCD2 dan join titik waktu wajib untuk Modul 06; muat inkremental, orkestrasi), C9 untuk bagian GPU dan model besar, C3 untuk Modul 15 (evaluasi dan observabilitas aplikasi LLM).
- Matematika: Statistika dan Probabilitas (uji hipotesis, ekspektasi, varians; dipakai di Modul 07–13 dan 15) wajib; Aljabar Linear wajib untuk jalur ML Engineer, seperti di C2.
- Sapaan "kamu", gaya sama dengan F1, F2, F5, C1, dan C2.
Lingkungan lab
| Bagian | Di mana | Diperiksa |
|---|---|---|
Latihan Python: hash dan manifest, tracker dan registry mini (SQLite), join titik waktu, uji statistik rilis, PSI/KS/CUSUM, simulasi antrean, FastAPI + TestClient, analisis log, biaya | Peramban (Pyodide 314); pemeriksa memakai Python 3.12 dan 3.13 (_kerangka/requirements.txt, berkas bersama jalur Data & AI: numpy, pandas, scipy, statsmodels, scikit-learn, FastAPI, Pydantic, httpx) | Otomatis |
| MLflow, DVC, Docker, GitHub Actions, Kubernetes lokal (kind), Evidently, Prometheus/Grafana, vLLM | GitHub Codespaces; GPU di Colab/Kaggle | Lab "Selesai bila:" |
| Lencana Tayang (Modul 16): layanan prediksi di Render Free, dasbor di GitHub Pages, image di GHCR | Layanan gratis (syarat dicek 22 Oktober 2026) | Daftar periksa Tayang |
Alat industri tidak tersedia di peramban maupun pemeriksa: kodenya
python statis/yaml/text dan dikerjakan di Lab, sedangkan prinsipnya
ditulis sendiri dan diperiksa.
Pemeriksa memakai Python 3.12 dan 3.13; versi paket peramban disamakan dengan pemeriksa, tetapi beberapa latihan berat (Latihan 13.4, 16.3, 16.6) bisa lebih lambat atau berbeda di peramban. Bila itu terjadi, kerjakan di Codespaces.
Bagian berjudul "Di balik layar (opsional)" dan latihan bertanda "tantangan (opsional)" adalah pendalaman: boleh dilewati, dan kuis tidak mengujinya.
Waktu: ±5–6 jam per modul, ditambah ±15–20 jam proyek akhir; total ±100 jam (lencana Tayang ±3–4 jam tambahan).
Silabus (16 modul)
| # | Modul | Klasik | Modern | Proyek Platform Makmur |
|---|---|---|---|---|
| 01 | Dari notebook ke produksi | Utang teknis ML (Sculley dkk. 2015), siklus hidup model, peran, ML Test Score (Breck dkk. 2017) | Platform ML, LLMOps, agen AI dalam operasi | Audit kesiapan model churn C2 |
| 02 | Reproduktibilitas | Determinisme (benih, urutan, float tidak asosiatif, thread), lingkungan terkunci, hash isi data dan kode | Lockfile (uv/pip-tools), container (Lab) | Latih ulang yang identik |
| 03 | Versi data dan artefak | Penyimpanan beralamat isi, manifest, pohon Merkle, deduplikasi, lineage | DVC, lakeFS, Git LFS (Lab) | Versi panel churn per bulan |
| 04 | Pelacakan eksperimen | Log append-only: parameter, metrik, artefak, asal-usul; membandingkan run | MLflow Tracking (Lab), W&B | Tracker mini SQLite + MLflow |
| 05 | Registry model dan siklus rilis | Versi, tahap dan alias, persetujuan, kartu model, tanda tangan artefak | MLflow Model Registry, Sigstore sekilas | Registry mini |
| 06 | Fitur dan feature store | Kebocoran waktu, join titik waktu (C4), offline vs online, training–serving skew | Feast (Lab) | Feature store mini |
| 07 | Pipeline pelatihan dan pelatihan berkelanjutan | DAG pelatihan, cache langkah, gerbang validasi data dan model, pemicu latih ulang | Kubeflow/ZenML/Metaflow (konsep), GitHub Actions terjadwal | Pipeline latih ulang bulanan |
| 08 | Pengujian sistem ML | Tes data, tes model (invarian, arah, fungsi minimum; Ribeiro dkk. 2020), regresi metrik, tes kontrak API | pytest, CheckList | Rangkaian tes model churn |
| 09 | CI/CD untuk model | Gerbang metrik, champion vs challenger dengan uji berpasangan, artefak tak berubah, promosi | GitHub Actions, CML (konsep) | Workflow CI model (Lab) |
| 10 | Penyajian model | Batch vs online vs streaming, latensi dan throughput, hukum Little, batching dinamis (antrean), cache, cold start | FastAPI, BentoML, KServe, Triton (konsep) | Layanan prediksi + skor batch |
| 11 | Rilis aman | Shadow, canary, A/B, blue-green, rollback otomatis, analisis canary statistis | Argo Rollouts, feature flag | Analisis canary v2 dari log |
| 12 | Pemantauan dan drift | Data drift (PSI, KS, khi-kuadrat), concept drift, label terlambat, deteksi perubahan (CUSUM, Page–Hinkley), SLO model | Evidently, Prometheus/Grafana | Laporan pemantauan Juli 2026 – Februari 2027 |
| 13 | Insiden dan keandalan | SLI/SLO/anggaran galat, runbook, postmortem tanpa menyalahkan, degradasi bertahap (cadangan aturan), feedback loop | Praktik SRE | Insiden November |
| 14 | Infrastruktur dan biaya | Container dan orkestrasi (konsep), GPU vs CPU, utilisasi, autoscaling, spot, kuantisasi untuk biaya, FinOps | Kubernetes, Ray, GPU serverless (konsep) | Model biaya pelatihan dan inferensi |
| 15 | LLMOps | Prompt dan model sebagai artefak berversi, evaluasi di CI (uji McNemar), rilis dan rollback lewat alias, drift penyedia, guardrail; kapan fine-tuning (tracing dan biaya satu aplikasi: C3 Modul 15) | OpenTelemetry GenAI, Langfuse, vLLM (Lab) | Gerbang evaluasi prompt |
| 16 | Proyek akhir: Platform Makmur | Menyatukan: data berversi, pelatihan terlacak, registry, gerbang CI, penyajian, canary, pemantauan, runbook | Repo + workflow + dasbor; lencana Tayang (Render, GitHub Pages, GHCR) | Platform utuh, laporan, dan (opsional) layanan tayang |
Proyek: Platform Makmur
Model churn Warung Makmur (C2) sudah dirilis pada Juli 2026. Peserta
membangun platform di sekitarnya dan "menjalankannya" selama delapan bulan
data produksi (data/panel_churn.csv, Juli 2026 – Februari 2027): minimarket
baru di RT03/RT04 pada September (pergeseran konsep yang tidak terlihat dari
PSI), adopsi aplikasi pesan-antar yang naik pelan sejak Oktober (pergeseran
kovariat bertahap), insiden pipeline November ketika porsi_qris tercatat
×100, dan label Februari yang belum datang. Ditambah log layanan dengan rilis
canary model v2 yang lebih lambat dan lebih sering galat, catatan biaya GPU,
dan hasil evaluasi tiga versi prompt untuk fitur LLM. Kebenaran setiap
skenario diketahui, sehingga tes memeriksa apakah alat pemantauan dan
keputusan rilis menemukan masalah yang memang ada dan tidak berteriak untuk
yang tidak ada. Kontrak: proyek-platform.md.
Kerangka setiap modul
# Modul NN · Judul
> **Hasil belajar:** 3–5 kemampuan yang bisa diamati
> **Prasyarat:** modul sebelumnya / pengetahuan
> **Waktu:** ± X jam
> **Hasil lab:** apa yang dihasilkan untuk Platform Makmur
## Intinya (3–5 butir pendek)
## 1. Masalah nyata
## 2. Konsep inti
### 2.N Di balik layar (opsional): … (pendalaman; boleh dilewati, tidak diuji di kuis)
## 3. Bekerja dengan agen
### Tugas tanpa AI (cara klasik)
### Tugas dengan AI (cara modern)
### Bandingkan
## 4. Lab
### Latihan terperiksa (≥ 6; label **Tingkat:**, minimal 2 tantangan)
### Lab proyek (diakhiri "Selesai bila:")
## 5. Daftar periksa review
## 6. Red flag operasi dan kode agen
## 7. Studi kasus (skenario realistis atau Warung Makmur fiktif)
## 8. Di skala enterprise (satu paragraf)
## 9. Kuis (8–10 soal, kunci + alasan)
## Sumber (dokumentasi resmi + rujukan klasik, "dicek 18 Oktober 2026")
Aturan isi:
- Skenario berkebenaran. Tes memeriksa bahwa detektor menandai bulan dan
fitur yang benar (November
porsi_qris, aplikasi sejak Oktober), bahwa analisis canary menolak v2, bahwa gerbang prompt memilih v2 dan tidak memilih v3, dan bahwa langkah yang seharusnya idempoten memang idempoten. Kode awal yang naif (ambang tetap tanpa uji, membandingkan rata-rata tanpa pasangan, PSI dengan bin dari data baru) harus gagal. - Angka dari kode, bukan dari ingatan. Setiap angka di prosa diambil dari
contoh yang diperiksa mesin (
python+text keluaran). - Tulis sendiri dulu, lalu alat: manifest dan hash, tracker, registry, feature store, eksekutor pipeline, detektor drift, analisis canary, simulasi antrean ditulis sendiri dan diperiksa; MLflow, DVC, Feast, Evidently, Kubernetes, vLLM dipakai di Lab dengan versi yang dicek.
- Harga cloud dan GPU tidak ditulis sebagai fakta kecuali dicek di halaman resmi dengan tanggal; data latihan memakai harga ilustrasi yang diberi label jelas.
- Studi kasus: skenario operasi yang realistis (asisten tanya jawab dan biaya token, rilis manual oleh pemilik, pemeriksaan otomatis konten, pemeriksa uptime di luar Actions demi kuota), dengan tim dan angka fiktif.
- Sumber klasik bergantian: Sculley dkk. (2015) "Hidden Technical Debt in Machine Learning Systems"; Breck dkk. (2017) "The ML Test Score"; Beyer dkk. Site Reliability Engineering (2016) dan The Site Reliability Workbook (2018); Huyen Designing Machine Learning Systems (2022); Kleppmann Designing Data-Intensive Applications; Little (1961); Page (1954) CUSUM; Gama dkk. (2014) survei concept drift; Ribeiro dkk. (2020) CheckList; Mitchell dkk. (2019) "Model Cards"; Humble & Farley Continuous Delivery (2010); Kohavi, Tang & Xu (2020). Edisi dan bab diverifikasi.
- Patokan CS2023: knowledge area Artificial Intelligence (sistem ML), Software Engineering, dan Parallel and Distributed Computing.
Hubungan dengan course lain
| Course | Hubungan |
|---|---|
| F5 | Prasyarat perkakas: lock file, Docker, Git/GitHub, GitHub Actions, tayang pertama, rahasia, CD dan rollback, daftar periksa Tayang. C10 menautkan ke sana dan hanya menambah lapisan ML (gerbang model, registry, canary statistis, drift) |
| C2 | Prasyarat: model churn yang dioperasikan. PSI, pelacakan eksperimen, kartu model, penyajian FastAPI, label terlambat, dan rilis bayangan/kanari diperkenalkan di C2 Modul 14–15; pembahasan utamanya di C10 |
| C4 | SCD2 dan join titik waktu (pemiliknya C4 Modul 07; C10 Modul 06 menambah kebocoran label dan dua waktu), muat inkremental, orkestrasi |
| C1 | Uji statistik dan eksperimen untuk keputusan rilis |
| C9 | GPU, kuantisasi, inferensi model besar |
| C3 | C3 Modul 08 dan 15 memiliki evaluasi, tracing, biaya, dan latensi satu aplikasi LLM; C10 Modul 15 memiliki siklus hidup operasinya (artefak berversi, gerbang CI, rilis dan rollback, drift) |
| C5 | Agentic Engineering, course jalur Agentic Engineer (prasyarat F1, F2, F5; C3 dianjurkan). C5 merujuk C10 Modul 13 (SLO, insiden) dan Modul 15 (LLMOps) untuk mengoperasikan agen; lihat README C5 |