Core ML — Apple tərəfindən iOS, macOS, watchOS və tvOS cihazlarında birbaşa ML modellərini işə salmaq üçün optimallaşdırılmış maşın öyrənmə freymvorkudur. Bulud ML xidmətlərindən fərqli olaraq, Core ML Apple-ın aparat sürətləndiricilərindən istifadə edir: Neural Engine, GPU və CPU, məlumat emalında minimal gecikmə təmin edir. Apple Core ML Documentation (2026) məlumatına görə, freymvork PyTorch, TensorFlow və Create ML modellərini vahid .mlpackage formatında dəstəkləyir, orta inferens vaxtı 5–50 ms təşkil edir.
Əsas məqamlar
Core ML — Apple tərəfindən WWDC 2017-də iPhone, iPad, Mac, Apple Watch və Apple TV üçün inkişaf ekosisteminin bir hissəsi kimi təqdim edilmiş maşın öyrənmə freymvorkudur. Core ML cihazda ML modellərini yerinə yetirmək üçün iş vaxtı mühiti təmin edir, tərtibatçını aparat optimallaşdırma detallarından abstraksiya edir. Freymvork avtomatik olaraq hər bir model əməliyyatı üçün ən yaxşı hesablama mühərrikini — A12+ çiplərində Neural Engine, GPU və ya CPU seçir.
Əsas üstünlük Core ML — Apple Silicon ilə dərin inteqrasiyadır. Neyron şəbəkə əməliyyatları prosessorun əsas nüvələrini yükləməyən ayrılmış Neural Engine-də yerinə yetirilir. Apple-a (WWDC 2025) görə, Core ML modelləri analoji Android cihazlarında TensorFlow Lite ilə müqayisədə 6 dəfə daha sürətli işləyir.
Core ML maşın öyrənməsinin geniş spektrli tapşırıqlarını dəstəkləyir: şəkillərin təsnifatı, obyektlərin aşkarlanması, semantik seqmentasiya, təbii dilin emalı, səsin analizi və cədvəl məlumatları. Freymvork müxtəlif tip modellərlə işləyir: neyron şəbəkələr (konvolyusiya, rekurrent, transformerlər), ağac ansamblları, xətti reqressiyalar və Qauss prosesləri.
Core ML girişdə .mlpackage formatında təlim keçmiş modeli qəbul edir, onu xüsusi cihaz üçün optimallaşdırılmış maşın koduna tərtib edir və vahid API vasitəsilə inferensi işə salır. Bütün boru kəməri — modelin yüklənməsindən nəticənin alınmasına qədər — Swift-də 3–5 sətir kod tələb edir.
.mlpackage — Apple tərəfindən 2020-ci ildə köhnəlmiş .mlmodel-i əvəz etmək üçün təqdim edilmiş konteyner formatıdır. Paket JSON manifesti, MLProgram ikili formatında model faylı, metadata (müəllif, versiya, təsvir) və sinif etiketləri kimi resurslarla bir kataloqu təmsil edir. Apple-ın məlumatına görə, .mlpackage çəkilərin optimallaşdırılması hesabına model ölçüsünü .mlmodel ilə müqayisədə 30–50% azaldır.
Apple Neural Engine (ANE) — A12 Bionic-dən (2018) başlayaraq Apple çiplərinə daxil edilmiş ayrılmış neyroprosessordur. ANE matris əməliyyatlarını eyni enerji istehlakında CPU-dan on dəfələrlə daha səmərəli emal edir. ANE performansı A12-də 5 TOPS-dan M4 Ultra-da (2025) 35 TOPS-a qədər artıb, bu da milyardlarla parametrə malik modelləri işə salmağa imkan verir. ANE avtomatik olaraq neyron şəbəkə arxitekturasına malik bütün Core ML modelləri üçün istifadə olunur.
Core ML-nin vacib xüsusiyyəti — dəqiqliyi itirmədən modellərin FP16 və INT8-ə kvantlaşdırılması dəstəyidir. Kvantlaşdırma model ölçüsünü 2–4 dəfə azaldır və ANE-də inferensi 40–60% sürətləndirir. Apple optimal dəqiqliyin avtomatik seçilməsi üçün Xcode Model Quantization alətini təqdim edir: tərtibatçı modeli yükləyir, icazə verilən keyfiyyət itkisini (adətən 0.1–0.5%) göstərir və Xcode ən yaxşı çəki təmsil formatını seçir.
| Çip | TOPS (ANE) | ResNet-50 inferensi | İl |
|---|---|---|---|
| A12 Bionic | 5 | 18 ms | 2018 |
| A14 Bionic | 11 | 9 ms | 2020 |
| M1 Max | 22 | 4 ms | 2021 |
| M4 Ultra | 35 | 2 ms | 2025 |
Əksər ML modelləri PyTorch və ya TensorFlow-da yaradılır və Core ML-də istifadə üçün .mlpackage formatına konvertasiya tələb edir. Apple coremltools alətini — modellərin konvertasiyası, optimallaşdırılması və validasiyası üçün Python paketini təqdim edir.
coremltools — ML modellərinin konvertasiyası üçün Apple-ın rəsmi alətidir. PyTorch (torch.onnx vasitəsilə və ya birbaşa), TensorFlow (SavedModel, H5, Frozen Graph) və ONNX-dən idxalı dəstəkləyir. Konvertasiyadan sonra FP16 və ya INT8 kvantlaşdırmasını aktivləşdirmək olar ki, bu da model ölçüsünü əhəmiyyətli dəqiqlik itkisi olmadan 2–4 dəfə azaldır.
PyTorch təlim keçmiş modelinin coremltools versiyası 8.0 istifadə edərək Core ML formatına konvertasiyasını nəzərdən keçirək. Proses Python-da 2–3 addım çəkir.
import torch
import coremltools as ct
# Təlim keçmiş PyTorch modelinin yüklənməsi
model = torch.load('model.pth')
model.eval()
# Nümunə girişi ilə modelin izlənilməsi
example_input = torch.randn(1, 3, 224, 224)
traced_model = torch.jit.trace(model, example_input)
# Core ML .mlpackage-ə konvertasiya
mlmodel = ct.convert(
traced_model,
convert_to='mlprogram',
inputs=[ct.TensorType(shape=(1, 3, 224, 224))]
)
mlmodel.save('Model.mlpackage')
Kod təlim keçmiş PyTorch modelini yükləyir, nümunə girişi ilə JIT-tracing yerinə yetirir və onu mlprogram formatına (Core ML ikili formatı) konvertasiya edir. Alınan .mlpackage Xcode-a sürüklənib Swift kodunda dərhal istifadə edilə bilər.
Modelin konvertasiyasından sonra onun iOS tətbiqinə Swift-də inteqrasiyası bir neçə sətirdə yerinə yetirilir. Xcode .mlpackage metadatası əsasında model üçün avtomatik Swift sinfi yaradır.
Core ML və Vision freymvorkundan istifadə edərək şəkil təsnifatı nümunəsini nəzərdən keçirək. Vision avtomatik olaraq şəkli tələb olunan ölçü və piksel formatına çevirir.
import CoreML
import Vision
// Core ML modelinin yüklənməsi
guard let model = try? VNCoreMLModel(
for: MobileNetV2.configuration.model
) else { return }
// VNCoreMLRequest yaradılması
let request = VNCoreMLRequest(model: model) { request, error in
guard let results = request.results
as? [VNClassificationObservation]
else { return }
// Top-3 proqnozun çıxarılması
for result in results.prefix(3) {
print("\(result.identifier):
\(result.confidence)")
}
}
// Şəkil emalının işə salınması
let handler = VNImageRequestHandler(
url: imageURL
)
try? handler.perform([request])
Swift kodu MobileNetV2 modelini Vision freymvorku vasitəsilə yükləyir, təsnifat sorğusu yaradır və nəticəni — sinif etiketləri və faizlə əminlik ilə VNClassificationObservation obyektləri massivini emal edir. Yükləmədən nəticəyə qədər bütün boru kəməri modeldən asılı olaraq 5–50 ms çəkir.
İşəsalma vaxtının optimallaşdırılması üçün Core ML modeli ilk istifadədə tərtib edir. İlkin tərtib (precompiled model) soyuq başlanğıcı 2–3 saniyədən 100–200 ms-ə qədər azaldır. Modelin tərtibini tətbiqin ilk işə salınmasında deyil, Xcode-da quruluş mərhələsində yerinə yetirmək tövsiyə olunur. Bu, xüsusilə bir neçə ML modeli olan tətbiqlər üçün vacibdir — məsələn, obyekt deteksiyası + təsnifat + NLP.
Core ML və ML Kit oxşar on-device ML tapşırıqlarını həll edir, lakin müxtəlif ekosistemlərə yönəlmişdir. Core ML Apple Silicon ilə dərin inteqrasiya olunub və yalnız Apple platformalarını dəstəkləyir. Google-dan ML Kit Android və iOS üçün çarpaz platforma həllidir.
| Xüsusiyyət | Core ML | ML Kit |
|---|---|---|
| Platformalar | iOS, macOS, watchOS, tvOS | Android, iOS |
| Hazır API | Vision, Natural Language vasitəsilə | 15+ daxili API |
| Xüsusi modellər | .mlpackage (PyTorch, TF) | TFLite (adapter vasitəsilə) |
| Aparat sürətləndirilməsi | ANE, GPU, CPU | GPU (Android), CPU |
| Başlanğıc asanlığı | Model konvertasiyası tələb edir | Data Science olmadan hazır API |
| Performans | 2–50 ms (ANE) | 80–200 ms (CPU/GPU) |
Ekosisteminiz yalnız Apple-dırsa və ANE vasitəsilə maksimum performansa ehtiyacınız varsa Core ML seçin. Çarpaz platforma və ya konvertasiya olmadan hazır API tələb olunarsa — ML Kit daha praktik olacaq.
Praktikada bir çox layihə hər iki freymvorkdan istifadə edir: iOS-da Core ML yüksək performans üçün, Android-də isə ML Kit və ya TensorFlow Lite. Vahid PyTorch modeli Apple üçün .mlpackage və Android üçün .tflite formatına konvertasiya olunur ki, bu da hər iki platformada eyni ML funksionallığını qorumağa imkan verir. Bu yanaşma DevOps-da bir az daha çox səy tələb edir, lakin maksimum auditoriya əhatəsini təmin edir.
Core ML və alternativlər arasında seçim edərkən inkişaf xərcini nəzərə alın: Core ML inteqrasiya üçün daha az kod tələb edir (TFLite-də 15–20 sətirə qarşı 3–5 sətir Swift), lakin quruluş üçün Mac və Xcode tələb edir. ML Kit isə əksinə, hər platformada işləyir, lakin Apple Neural Engine-ə giriş olmaması səbəbindən iOS-da daha az performans verir.
Tez-tez verilən suallar
iOS 11+ əsas modellər üçün, iOS 14+ .mlpackage formatı üçün. Apple Neural Engine-in işləməsi üçün A12 Bionic və daha yeni çip tələb olunur. Core ML 2017-ci ildən etibarən bütün iPhone, iPad və Mac-ləri dəstəkləyir.
Bəli, coremltools aləti vasitəsilə. TensorFlow modelləri dəqiqliyi qoruyaraq .mlpackage-ə konvertasiya olunur. TensorFlow 2.x, SavedModel, H5 və Frozen Graph formatları dəstəklənir.
.mlpackage — müasir konteyner formatı, metadata, MLProgram ikili faylı və resurslarla bir kataloqu təmsil edir. Köhnə .mlmodel-dən 2–3 dəfə daha yığcamdır və kvantlaşdırmanı dəstəkləyir.
Bütün hesablamalar ciddi şəkildə cihazda yerinə yetirilir. Core ML Apple serverinə məlumat göndərmir. Freymvork təyyarə rejimində işləyir və inferens üçün internet bağlantısı tələb etmir.
Swift — Core ML-nin iOS/macOS tətbiqlərinə inteqrasiyası üçün əsas dildir. Python coremltools vasitəsilə modellərin konvertasiyası üçün istifadə olunur. Objective-C də geriyə uyğunluq üçün dəstəklənir.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun