Model yang bagus di notebook belum tentu siap melayani pengguna. Section ini membahas jarak antara keduanya: menyimpan model dalam format produksi, menyajikannya lewat REST API, menekan latensi dengan ONNX, quantization, dan pruning, serta memantau kondisinya setelah berjalan.

# Menyimpan Model untuk Produksi

Susun artefak produksi yang lengkap: state_dict, konfigurasi arsitektur, parameter preprocessing, versi, dan metadata — lalu muat ulang seluruh paket dan buktikan prediksinya identik.

Buka →
# Model Serving

Pahami pola penyajian model — embedded library, HTTP service, batch offline — beserta aspek concurrency, latency SLO, dan health check, dibuktikan lewat server TCP mini yang melayani inference sungguhan.

Buka →
# REST API untuk Model

Bungkus model dalam REST API FastAPI: skema Pydantic memvalidasi input, endpoint POST /predict menjalankan inference, dan galat input otomatis ditolak dengan status 422 — semuanya teruji lewat TestClient.

Buka →
# Batch Inference

Serahkan throughput kepada batch: ukur perbedaan nyata kecepatan inference batch 1, 32, dan 256, pahami trade-off ukuran batch optimal, dan proses file besar secara streaming per potongan.

Buka →
# Real-Time Inference

Ukur latensi real-time dengan benar: warm-up sebelum pengukuran, lalu P50, P95, dan P99 dari 100 request nyata — beserta mengapa rata-rata menyesatkan dan bagaimana pola streaming menghasilkan jawaban bertahap.

Buka →
# ONNX dan Model Export

Bawa model keluar dari PyTorch: export graph computation ke format ONNX, jalankan inference dengan onnxruntime di CPU, dan verifikasi output yang cocok sampai ke angka terakhir.

Buka →
# Optimasi Latensi

Bedah sumber latensi jalur inference — preprocessing, model, I/O — lalu praktikkan dua pengungkit nyata di CPU dua core: pengaturan jumlah thread di PyTorch dan onnxruntime, plus graph optimization yang terbukti mempertahankan output.

Buka →
# Quantization dan Pruning

Peringkas model untuk inference: dynamic quantization int8 yang memangkas ukuran state_dict hingga 3,4 kali lipat, dan magnitude pruning 30% yang diuji dampaknya terhadap akurasi — lengkap dengan perbandingan PTQ versus QAT.

Buka →
# Inference pada CPU

Kenali kapan CPU sudah lebih dari cukup untuk inference, rangkai optimasi khas CPU — thread, quantization, onnxruntime — dan benchmark dengan metodologi yang benar: warm-up, banyak iterasi, laporan rentang.

Buka →
# Inference pada GPU

Pahami anatomi inference GPU — CUDA context, transfer memori H2D/D2H, batching, dan TF32/AMP — serta alasan GPU menjadi pilihan mahal untuk request tunggal; disertai pola kode agnostik-perangkat yang diuji nyata di CPU.

Buka →
# Monitoring Model Produksi

Awasi model yang sudah berjalan: pantau latensi, error rate, dan distribusi prediksi; bangun loop monitoring mini dengan deteksi drift sederhana yang memicu alert saat distribusi bergeser melewati ambang.

Buka →