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 MLUpdateTask untuk 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.