Section 6/171 menit
6. Core ML: Custom Model di Device
6. Core ML: Custom Model di Device
Konsep Singkat
Core ML adalah runtime ML on-device Apple. Kamu bring-your-own-model dari PyTorch, TensorFlow, ONNX, Hugging Face — convert via coremltools → .mlpackage.
Detail lengkap di coreml-guide.md + coreml-deep-dive.md.
Kekuatan Spesifik
- Task-specific: kamu kontrol penuh — model yang dilatih untuk task spesifik biasanya lebih akurat dari LLM general di task itu, dengan size ratusan kali lebih kecil.
- Latency rendah: model klasifikasi image kecil bisa run <20ms di Neural Engine.
- Device support luas: iOS 11+ semua device.
- Privasi total: data tidak pernah keluar.
Kekurangan
- Butuh ML pipeline: training, evaluasi, conversion, deployment — ini infrastructure ML team, bukan iOS dev sendirian.
- Model maintenance: model statis. Update = release app baru (atau pakai
MLUpdateTaskuntuk on-device fine-tuning). - App size: model 50-500MB lazim. Pakai on-demand resource atau streaming kalau besar.
Pattern Penggunaan
swift
// coreml: Klasifikasi image
import CoreML
import Vision
let model = try VNCoreMLModel(for: MyClassifier(configuration: .init()).model)
let request = VNCoreMLRequest(model: model) { request, error in
guard let results = request.results as? [VNClassificationObservation] else { return }
let top = results.first
print("Class: \(top?.identifier ?? "?"), confidence: \(top?.confidence ?? 0)")
}
let handler = VNImageRequestHandler(cgImage: image)
try handler.perform([request])
Kapan Core ML = Pilihan Terbaik
- Kamu punya ML team / data untuk train model task-specific.
- Task adalah pattern recognition spesifik (deteksi medical, kualitas produk, gaya tulisan tangan, dll).
- Latency sangat penting (camera realtime, audio realtime).
- Compliance memaksa data tidak keluar device.