Core ML — bu nədir, maşın öyrənmə modeli və iOS-da işləmə

Müəllif: IT Sectr Dərc olunub: 2026-03-26 Oxuma vaxtı: 8 dəq

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-ın ekosistemin bütün platformalarında on-device maşın öyrənməsi üçün freymvorkudur
  • Apple Neural Engine (ANE) 11 TOPS-a qədər performansla neyron şəbəkələrin aparat sürətləndirilməsini təmin edir
  • .mlpackage formatı modeli, metadatanı və konfiqurasiyanı bir rahat konteynerdə birləşdirir
  • Konvertasiya PyTorch və TensorFlow modellərindən coremltools Python aləti ilə həyata keçirilir
  • İnteqrasiya Vision və Natural Language ilə mürəkkəb ML boru kəmərləri yaratmağa imkan verir

Core ML nədir?

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.

Əsas imkanlar

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 necə işləyir

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 model formatı

.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

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.

Core ML performans müqayisəsi

ÇipTOPS (ANE)ResNet-50 inferensiİl
A12 Bionic518 ms2018
A14 Bionic119 ms2020
M1 Max224 ms2021
M4 Ultra352 ms2025

Modellərin Core ML-yə konvertasiyası

Ə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 aləti

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-dan konvertasiya nümunəsi

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.

python
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.

Core ML-nin iOS tətbiqinə inteqrasiyası

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.

Swift kod nümunəsi

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.

swift
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 vs ML Kit

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ətCore MLML Kit
PlatformalariOS, macOS, watchOS, tvOSAndroid, iOS
Hazır APIVision, Natural Language vasitəsilə15+ daxili API
Xüsusi modellər.mlpackage (PyTorch, TF)TFLite (adapter vasitəsilə)
Aparat sürətləndirilməsiANE, GPU, CPUGPU (Android), CPU
Başlanğıc asanlığıModel konvertasiyası tələb edirData Science olmadan hazır API
Performans2–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

Core ML-nin işləməsi üçün minimum tələblər hansılardır?

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.

Core ML TensorFlow ilə istifadə edilə bilərmi?

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 .mlmodel-dən nə ilə fərqlə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.

Core ML məlumat məxfiliyini necə emal edir?

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.

Core ML hansı proqramlaşdırma dillərini dəstəkləyir?

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ə

  • Core ML — Apple ekosisteminin bütün platformalarında Apple Neural Engine dəstəyi ilə on-device ML üçün freymvork
  • .mlpackage — modeli, metadatanı və resursları bir paketdə birləşdirən müasir konteyner formatı
  • Apple Neural Engine M4 Ultra-da 35 TOPS-a qədər performansla neyron şəbəkələrin aparat sürətləndirilməsini təmin edir
  • coremltools PyTorch, TensorFlow və ONNX modellərini Python-da üç addımda konvertasiya etməyə imkan verir
  • İnteqrasiya Vision freymvorku vasitəsilə şəkildə modeli işə salmaq üçün 5–10 sətir Swift kodu tələb edir
  • İnferens performansı model və çipdən asılı olaraq 2–50 ms təşkil edir
  • Məlumat məxfiliyi — bütün hesablamalar ciddi lokal, serverə məlumat göndərilmir

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.

Layihəni müzakirə et

Həm də oxuyun