Core ML — machine learning framework mula sa Apple, na-optimize para patakbuhin ang ML models nang direkta sa iOS, macOS, watchOS at tvOS device. Hindi tulad ng cloud ML services, ang Core ML ay gumagamit ng hardware accelerators ng Apple: Neural Engine, GPU at CPU, na tinitiyak ang minimal na latency sa pagproseso ng data. Ayon sa Apple Core ML Documentation (2026), sinusuportahan ng framework ang PyTorch, TensorFlow at Create ML models sa iisang .mlpackage format na may average na inference time na 5–50 ms.
Mga Pangunahing Punto
Core ML — ay isang machine learning framework na ipinakilala ng Apple sa WWDC 2017 bilang bahagi ng development ecosystem para sa iPhone, iPad, Mac, Apple Watch at Apple TV. Ang Core ML ay nagbibigay ng runtime para sa pagpapatakbo ng ML models sa device, na nag-aabstrak sa developer mula sa mga detalye ng hardware optimization. Awtomatikong pinipili ng framework ang pinakamahusay na compute engine — Neural Engine sa A12+ chips, GPU o CPU — para sa bawat operasyon ng model.
Pangunahing bentahe ng Core ML — malalim na integration sa Apple Silicon. Ang neural network operations ay isinasagawa sa dedikadong Neural Engine na hindi naglo-load sa mga pangunahing core ng processor. Ayon sa Apple (WWDC 2025), ang Core ML models ay gumagana nang 6 na beses na mas mabilis kumpara sa TensorFlow Lite sa mga katulad na Android device.
Core ML ay sumusuporta sa malawak na hanay ng machine learning tasks: image classification, object detection, semantic segmentation, natural language processing, sound analysis at tabular data. Ang framework ay gumagana sa iba't ibang uri ng models: neural networks (convolutional, recurrent, transformers), tree ensembles, linear regressions at Gaussian processes.
Core ML ay tumatanggap ng trained model sa .mlpackage format bilang input, ini-compile ito sa na-optimize na machine code para sa partikular na device at pinapatakbo ang inference sa pamamagitan ng unified API. Ang buong pipeline — mula sa pag-load ng model hanggang sa pagkuha ng resulta — ay nangangailangan ng 3–5 linya ng code sa Swift.
.mlpackage — ay isang container format, na ipinakilala ng Apple noong 2020 upang palitan ang lumang .mlmodel. Ang package ay isang directory na may JSON manifest, model file sa binary MLProgram format, metadata (author, version, description) at resources tulad ng class labels. Ayon sa Apple, binabawasan ng .mlpackage ang laki ng model ng 30–50% kumpara sa .mlmodel dahil sa optimization ng weights.
Apple Neural Engine (ANE) — dedikadong neuroprocessor na naka-embed sa Apple chips simula sa A12 Bionic (2018). Ang ANE ay nagpoproseso ng matrix operations nang sampung beses na mas efficient kaysa sa CPU sa parehong power consumption. Ang ANE performance ay lumago mula 5 TOPS sa A12 hanggang 35 TOPS sa M4 Ultra (2025), na nagpapahintulot sa pagpapatakbo ng models na may bilyong parameter. Ang ANE ay awtomatikong ginagamit para sa lahat ng Core ML models na may neural network architecture.
Mahalagang feature ng Core ML — suporta para sa quantization ng models sa FP16 at INT8 nang walang pagkawala ng accuracy. Ang quantization ay nagpapaliit ng laki ng model ng 2–4 beses at nagpapabilis ng inference ng 40–60% sa ANE. Ang Apple ay nagbibigay ng tool na Xcode Model Quantization para sa awtomatikong pagpili ng optimal precision: nilo-load ng developer ang model, tinutukoy ang pinapayagang pagkawala ng kalidad (karaniwang 0.1–0.5%), at pinipili ng Xcode ang pinakamahusay na format ng weight representation.
| Chip | TOPS (ANE) | Inference ResNet-50 | Taon |
|---|---|---|---|
| A12 Bionic | 5 | 18 ms | 2018 |
| A14 Bionic | 11 | 9 ms | 2020 |
| M1 Max | 22 | 4 ms | 2021 |
| M4 Ultra | 35 | 2 ms | 2025 |
Karamihan ng ML models ay ginagawa sa PyTorch o TensorFlow at nangangailangan ng conversion sa .mlpackage format para magamit sa Core ML. Ang Apple ay nagbibigay ng tool na coremltools — Python package para sa conversion, optimization at validation ng models.
coremltools — ay ang opisyal na tool ng Apple para sa pag-convert ng ML models. Sinusuportahan nito ang import mula sa PyTorch (sa pamamagitan ng torch.onnx o direkta), TensorFlow (SavedModel, H5, Frozen Graph) at ONNX. Pagkatapos ng conversion, maaaring i-activate ang FP16 o INT8 quantization, na nagpapaliit ng laki ng model ng 2–4 beses nang walang makabuluhang pagkawala ng accuracy.
Tingnan natin ang conversion ng isang trained PyTorch model sa Core ML format gamit ang coremltools bersyon 8.0. Ang proseso ay nangangailangan ng 2–3 hakbang sa Python.
import torch
import coremltools as ct
# Pag-load ng trained PyTorch model
model = torch.load('model.pth')
model.eval()
# Pag-trace ng model gamit ang sample input
example_input = torch.randn(1, 3, 224, 224)
traced_model = torch.jit.trace(model, example_input)
# Conversion sa Core ML .mlpackage
mlmodel = ct.convert(
traced_model,
convert_to='mlprogram',
inputs=[ct.TensorType(shape=(1, 3, 224, 224))]
)
mlmodel.save('Model.mlpackage')
Ang code ay naglo-load ng trained PyTorch model, nagsasagawa ng JIT-tracing gamit ang sample input at kino-convert ito sa mlprogram format (binary Core ML format). Ang resultang .mlpackage ay maaaring i-drag sa Xcode at agad na gamitin sa Swift code.
Pagkatapos ng conversion ng model, ang integration nito sa iOS app sa Swift ay ginagawa sa ilang linya. Awtomatikong bumubuo ang Xcode ng Swift class para sa model batay sa .mlpackage metadata.
Tingnan natin ang halimbawa ng image classification gamit ang Core ML at Vision framework. Awtomatikong kino-convert ng Vision ang imahe sa kinakailangang laki at pixel format.
import CoreML
import Vision
// Pag-load ng Core ML model
guard let model = try? VNCoreMLModel(
for: MobileNetV2.configuration.model
) else { return }
// Paglikha ng VNCoreMLRequest
let request = VNCoreMLRequest(model: model) { request, error in
guard let results = request.results
as? [VNClassificationObservation]
else { return }
// Pag-output ng top-3 predictions
for result in results.prefix(3) {
print("\(result.identifier):
\(result.confidence)")
}
}
// Pagsisimula ng image processing
let handler = VNImageRequestHandler(
url: imageURL
)
try? handler.perform([request])
Ang Swift code ay naglo-load ng MobileNetV2 model sa pamamagitan ng Vision framework, lumikha ng classification request at nagpoproseso ng resulta — array ng VNClassificationObservation objects na may class labels at confidence sa porsyento. Ang buong pipeline mula sa pag-load hanggang sa resulta ay tumatagal ng 5–50 ms depende sa model.
Para sa optimization ng startup time, ini-compile ng Core ML ang model sa unang paggamit. Ang pre-compilation (precompiled model) ay nagbabawas ng cold start mula 2–3 segundo hanggang 100–200 ms. Inirerekomenda na gawin ang model compilation sa build stage sa Xcode, hindi sa unang paglunsad ng app. Ito ay lalong mahalaga para sa apps na may maraming ML models — halimbawa, object detection + classification + NLP.
Core ML at ML Kit ay lumulutas ng mga katulad na on-device ML tasks, ngunit nakatuon sa iba't ibang ecosystem. Ang Core ML ay malalim na integrated sa Apple Silicon at sumusuporta lamang sa Apple platforms. Ang ML Kit mula sa Google ay cross-platform solution para sa Android at iOS.
| Katangian | Core ML | ML Kit |
|---|---|---|
| Platforms | iOS, macOS, watchOS, tvOS | Android, iOS |
| Ready API | Sa pamamagitan ng Vision, Natural Language | 15+ built-in na API |
| Custom models | .mlpackage (PyTorch, TF) | TFLite (sa pamamagitan ng adapter) |
| Hardware acceleration | ANE, GPU, CPU | GPU (Android), CPU |
| Dali ng pagsisimula | Nangangailangan ng model conversion | Ready API na walang Data Science |
| Performance | 2–50 ms (ANE) | 80–200 ms (CPU/GPU) |
Piliin ang Core ML kung ang iyong ecosystem ay eksklusibong Apple at kailangan mo ng maximum performance sa pamamagitan ng ANE. Kung kinakailangan ang cross-platform o ready API nang walang conversion — mas praktikal ang ML Kit.
Sa praktika, maraming proyekto ang gumagamit ng parehong frameworks: sa iOS Core ML para sa mataas na performance, at sa Android — ML Kit o TensorFlow Lite. Isang PyTorch model ay kino-convert sa .mlpackage para sa Apple at sa .tflite para sa Android, na nagpapahintulot na mapanatili ang parehong kalidad ng ML functions sa parehong platforms. Ang approach na ito ay nangangailangan ng kaunting dagdag na effort sa DevOps, ngunit nagbibigay ng maximum na audience coverage.
Sa pagpili sa pagitan ng Core ML at mga alternatibo, isaalang-alang ang gastos ng development: ang Core ML ay nangangailangan ng mas kaunting code para sa integration (3–5 linya ng Swift kumpara sa 15–20 linya sa TFLite), ngunit nangangailangan ng Mac at Xcode para sa build. Ang ML Kit, sa kabaligtaran, ay gumagana sa anumang platform, ngunit nagbibigay ng mas mababang performance sa iOS dahil sa kakulangan ng access sa Apple Neural Engine.
Mga Madalas Itanong
iOS 11+ para sa basic models, iOS 14+ para sa .mlpackage format. Para sa Apple Neural Engine, kinakailangan ang A12 Bionic chip at mas bago. Sinusuportahan ng Core ML ang lahat ng iPhone, iPad at Mac mula noong 2017.
Oo, sa pamamagitan ng tool na coremltools. Ang TensorFlow models ay kino-convert sa .mlpackage na may pagpapanatili ng accuracy. Sinusuportahan ang TensorFlow 2.x, SavedModel, H5 at Frozen Graph formats.
.mlpackage — modernong container format, isang directory na may metadata, binary MLProgram file at resources. Ito ay 2–3 beses na mas compact kaysa sa lumang .mlmodel at sumusuporta sa quantization.
Lahat ng computations ay mahigpit na ginagawa sa device. Hindi nagpapadala ang Core ML ng data sa Apple server. Ang framework ay gumagana sa airplane mode at hindi nangangailangan ng internet connection para sa inference.
Swift — pangunahing wika para sa Core ML integration sa iOS/macOS apps. Python ay ginagamit para sa model conversion sa pamamagitan ng coremltools. Objective-C ay sinusuportahan din para sa backward compatibility.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din