Section 17/171 menit
17. Ringkasan & Decision Guide
17. Ringkasan & Decision Guide
Pilih Teknik Berdasarkan Kebutuhan
| Kebutuhan | Teknik |
|---|---|
| Input tidak standar atau zero-copy | Custom MLFeatureProvider |
| Proses banyak sampel sekaligus | MLArrayBatchProvider + predictions(fromBatch:) |
| Tensor n-dimensional | MLMultiArray atau MLShapedArray |
| Operasi yang tidak didukung Core ML | MLCustomLayer |
| Personalisasi dari data pengguna | MLUpdateTask |
| Sequence model (RNN, autoregressive) | Stateful Models (iOS 18, MLState) |
| Multi-model pipeline | Actor-based orchestration + async let |
| Ukur performa | Instruments Core ML + os_signpost + benchmark suite |
| Protect IP model | Model encryption + download on-demand |
| Akurasi inferensi regresi | Automated regression testing vs baseline |
Performance Checklist
swift
□ Compute unit dipilih sesuai model architecture (ANE untuk conv/matmul, GPU untuk custom)
□ Model di-compile saat install/download, bukan saat first prediction
□ Input data tidak di-konversi dari UIImage jika bisa langsung dari CMSampleBuffer
□ MLMultiArray diakses via dataPointer untuk operasi bulk, bukan subscript per-elemen
□ Batch prediction digunakan untuk proses >5 sampel
□ Warmup prediction dilakukan sebelum pengukuran latency
□ Instruments Core ML dijalankan di physical device, bukan Simulator
□ Model version management: nama file menyertakan versi
Core ML memberikan abstraksi yang tepat untuk mayoritas use case ML on-device. Dimulai dari generated code, lalu optimalkan hanya setelah profiling menunjukkan bottleneck nyata. Stateful models di iOS 18 adalah fitur game-changer untuk LLM on-device — pastikan target minimum deployment sesuai sebelum adopt. Langkah selanjutnya: pelajari Vision untuk pipeline deteksi objek, dan NaturalLanguage untuk NLP pipeline yang fully on-device.