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.
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 ServingPahami 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 ModelBungkus 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 InferenceSerahkan 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 InferenceUkur 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 ExportBawa 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 LatensiBedah 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 PruningPeringkas 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 CPUKenali 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 GPUPahami 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 ProduksiAwasi 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 →