Core ML — framework pembelajaran mesin dari Apple, dioptimalkan untuk menjalankan model ML langsung di perangkat iOS, macOS, watchOS, dan tvOS. Berbeda dengan layanan ML cloud, Core ML menggunakan akselerator perangkat keras Apple: Neural Engine, GPU, dan CPU, memastikan latensi minimal saat memproses data. Menurut Apple Core ML Documentation (2026), framework ini mendukung model PyTorch, TensorFlow, dan Create ML dalam format .mlpackage terpadu dengan waktu inferensi rata-rata 5–50 ms.
Poin Utama
Core ML — adalah framework pembelajaran mesin yang diperkenalkan oleh Apple di WWDC 2017 sebagai bagian dari ekosistem pengembangan untuk iPhone, iPad, Mac, Apple Watch, dan Apple TV. Core ML menyediakan runtime untuk menjalankan model ML di perangkat, mengabstraksi pengembang dari detail optimasi perangkat keras. Framework secara otomatis memilih mesin komputasi terbaik — Neural Engine pada chip A12+, GPU, atau CPU — untuk setiap operasi model.
Keunggulan utama Core ML — integrasi mendalam dengan Apple Silicon. Operasi jaringan saraf dijalankan pada Neural Engine khusus yang tidak membebani inti utama prosesor. Menurut Apple (WWDC 2025), model Core ML bekerja 6 kali lebih cepat dibandingkan dengan TensorFlow Lite pada perangkat Android serupa.
Core ML mendukung berbagai tugas pembelajaran mesin: klasifikasi gambar, deteksi objek, segmentasi semantik, pemrosesan bahasa alami, analisis suara, dan data tabel. Framework bekerja dengan model berbagai jenis: jaringan saraf (konvolusional, berulang, transformer), ansambel pohon, regresi linier, dan proses Gaussian.
Core ML menerima model terlatih dalam format .mlpackage sebagai masukan, mengompilasinya ke kode mesin yang dioptimalkan untuk perangkat tertentu, dan menjalankan inferensi melalui API terpadu. Seluruh pipeline — dari memuat model hingga mendapatkan hasil — membutuhkan 3–5 baris kode di Swift.
.mlpackage — adalah format wadah, diperkenalkan oleh Apple pada tahun 2020 untuk menggantikan .mlmodel yang usang. Paket tersebut merupakan direktori dengan manifes JSON, file model dalam format biner MLProgram, metadata (penulis, versi, deskripsi), dan sumber daya seperti label kelas. Menurut Apple, .mlpackage mengurangi ukuran model sebesar 30–50% dibandingkan dengan .mlmodel berkat optimalisasi bobot.
Apple Neural Engine (ANE) — neuroprosesor khusus yang tertanam di chip Apple mulai dari A12 Bionic (2018). ANE memproses operasi matriks puluhan kali lebih efisien daripada CPU dengan konsumsi daya yang sama. Performa ANE meningkat dari 5 TOPS pada A12 menjadi 35 TOPS pada M4 Ultra (2025), memungkinkan menjalankan model dengan miliaran parameter. ANE digunakan secara otomatis untuk semua model Core ML dengan arsitektur jaringan saraf.
Fitur penting Core ML — dukungan kuantisasi model ke FP16 dan INT8 tanpa kehilangan presisi. Kuantisasi mengurangi ukuran model 2–4 kali dan mempercepat inferensi 40–60% pada ANE. Apple menyediakan alat Xcode Model Quantization untuk pemilihan presisi optimal secara otomatis: pengembang memuat model, menentukan kehilangan kualitas yang diizinkan (biasanya 0.1–0.5%), dan Xcode memilih format representasi bobot terbaik.
| Chip | TOPS (ANE) | Inferensi ResNet-50 | Tahun |
|---|---|---|---|
| A12 Bionic | 5 | 18 ms | 2018 |
| A14 Bionic | 11 | 9 ms | 2020 |
| M1 Max | 22 | 4 ms | 2021 |
| M4 Ultra | 35 | 2 ms | 2025 |
Sebagian besar model ML dibuat di PyTorch atau TensorFlow dan memerlukan konversi ke format .mlpackage untuk digunakan di Core ML. Apple menyediakan alat coremltools — paket Python untuk konversi, optimalisasi, dan validasi model.
coremltools — adalah alat resmi Apple untuk mengonversi model ML. Mendukung impor dari PyTorch (melalui torch.onnx atau langsung), TensorFlow (SavedModel, H5, Frozen Graph), dan ONNX. Setelah konversi, kuantisasi FP16 atau INT8 dapat diaktifkan, yang mengurangi ukuran model 2–4 kali tanpa kehilangan presisi yang signifikan.
Mari kita lihat konversi model PyTorch terlatih ke format Core ML menggunakan coremltools versi 8.0. Prosesnya membutuhkan 2–3 langkah di Python.
import torch
import coremltools as ct
# Memuat model PyTorch terlatih
model = torch.load('model.pth')
model.eval()
# Melacak model dengan masukan contoh
example_input = torch.randn(1, 3, 224, 224)
traced_model = torch.jit.trace(model, example_input)
# Konversi ke Core ML .mlpackage
mlmodel = ct.convert(
traced_model,
convert_to='mlprogram',
inputs=[ct.TensorType(shape=(1, 3, 224, 224))]
)
mlmodel.save('Model.mlpackage')
Kode memuat model PyTorch terlatih, melakukan JIT-tracing dengan masukan contoh, dan mengonversinya ke format mlprogram (format biner Core ML). .mlpackage yang dihasilkan dapat diseret ke Xcode dan segera digunakan dalam kode Swift.
Setelah konversi model, integrasinya ke aplikasi iOS di Swift dilakukan dalam beberapa baris. Xcode secara otomatis membuat kelas Swift untuk model berdasarkan metadata .mlpackage.
Mari kita lihat contoh klasifikasi gambar menggunakan Core ML dan framework Vision. Vision secara otomatis mengonversi gambar ke ukuran dan format piksel yang diperlukan.
import CoreML
import Vision
// Memuat model Core ML
guard let model = try? VNCoreMLModel(
for: MobileNetV2.configuration.model
) else { return }
// Membuat VNCoreMLRequest
let request = VNCoreMLRequest(model: model) { request, error in
guard let results = request.results
as? [VNClassificationObservation]
else { return }
// Mengeluarkan 3 prediksi teratas
for result in results.prefix(3) {
print("\(result.identifier):
\(result.confidence)")
}
}
// Memulai pemrosesan gambar
let handler = VNImageRequestHandler(
url: imageURL
)
try? handler.perform([request])
Kode Swift memuat model MobileNetV2 melalui framework Vision, membuat permintaan klasifikasi, dan memproses hasil — array objek VNClassificationObservation dengan label kelas dan keyakinan dalam persen. Seluruh pipeline dari pemuatan hingga hasil memakan waktu 5–50 ms tergantung model.
Untuk mengoptimalkan waktu startup, Core ML mengompilasi model pada penggunaan pertama. Kompilasi awal (precompiled model) mengurangi cold start dari 2–3 detik menjadi 100–200 ms. Disarankan untuk melakukan kompilasi model pada tahap build di Xcode, bukan saat pertama kali aplikasi dijalankan. Ini sangat penting untuk aplikasi dengan beberapa model ML — misalnya, deteksi objek + klasifikasi + NLP.
Core ML dan ML Kit menyelesaikan tugas ML on-device yang serupa, tetapi ditujukan untuk ekosistem yang berbeda. Core ML terintegrasi secara mendalam dengan Apple Silicon dan hanya mendukung platform Apple. ML Kit dari Google adalah solusi lintas platform untuk Android dan iOS.
| Karakteristik | Core ML | ML Kit |
|---|---|---|
| Platform | iOS, macOS, watchOS, tvOS | Android, iOS |
| API siap pakai | Melalui Vision, Natural Language | 15+ API bawaan |
| Model khusus | .mlpackage (PyTorch, TF) | TFLite (melalui adaptor) |
| Akselerasi perangkat keras | ANE, GPU, CPU | GPU (Android), CPU |
| Kemudahan memulai | Memerlukan konversi model | API siap pakai tanpa Data Science |
| Performa | 2–50 ms (ANE) | 80–200 ms (CPU/GPU) |
Pilih Core ML jika ekosistem Anda eksklusif Apple dan Anda membutuhkan performa maksimal melalui ANE. Jika diperlukan lintas platform atau API siap pakai tanpa konversi — ML Kit akan lebih praktis.
Dalam praktiknya, banyak proyek menggunakan kedua framework: di iOS Core ML untuk performa tinggi, dan di Android — ML Kit atau TensorFlow Lite. Satu model PyTorch dikonversi ke .mlpackage untuk Apple dan ke .tflite untuk Android, memungkinkan kualitas ML yang sama di kedua platform. Pendekatan ini membutuhkan sedikit lebih banyak upaya di DevOps, tetapi memberikan cakupan audiens maksimal.
Saat memilih antara Core ML dan alternatif, pertimbangkan biaya pengembangan: Core ML membutuhkan lebih sedikit kode untuk integrasi (3–5 baris Swift dibandingkan 15–20 baris dengan TFLite), tetapi membutuhkan Mac dan Xcode untuk build. ML Kit, sebaliknya, bekerja di platform mana pun, tetapi memberikan performa lebih rendah di iOS karena kurangnya akses ke Apple Neural Engine.
Pertanyaan yang sering diajukan
iOS 11+ untuk model dasar, iOS 14+ untuk format .mlpackage. Untuk Apple Neural Engine diperlukan chip A12 Bionic dan yang lebih baru. Core ML mendukung semua iPhone, iPad, dan Mac sejak 2017.
Ya, melalui alat coremltools. Model TensorFlow dikonversi ke .mlpackage dengan mempertahankan presisi. Format TensorFlow 2.x, SavedModel, H5, dan Frozen Graph didukung.
.mlpackage — format wadah modern, berupa direktori dengan metadata, file biner MLProgram, dan sumber daya. 2–3 kali lebih ringkas dari .mlmodel lama dan mendukung kuantisasi.
Semua perhitungan dilakukan secara ketat di perangkat. Core ML tidak mengirim data ke server Apple. Framework bekerja dalam mode pesawat dan tidak memerlukan koneksi internet untuk inferensi.
Swift — bahasa utama untuk integrasi Core ML di aplikasi iOS/macOS. Python digunakan untuk konversi model melalui coremltools. Objective-C juga didukung untuk kompatibilitas mundur.
Kesimpulan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga