Core ML
Core ML to framework opracowany przez firmę Apple umożliwiający integrację modeli uczenia maszynowego (uczenia maszynowego) w aplikacjach działających na systemach iOS, macOS, watchOS oraz tvOS. Dzięki Core ML deweloperzy mogą wykorzystywać modele sztucznej inteligencji (sztuczna inteligencja) bezpośrednio na urządzeniach, co pozwala na przetwarzanie danych w trybie offline, z zachowaniem wysokiej wydajności i niskiego zużycia energii.
Historia
Framework został zaprezentowany po raz pierwszy podczas konferencji WWDC w 2017 roku jako część systemu iOS 11. W kolejnych latach (m.in. w 2018, 2019 oraz 2020) Apple systematycznie rozszerzało możliwości Core ML, wprowadzając wsparcie dla nowych formatów modeli, optymalizacje pod kątem Silnika Neuronowego oraz integrację z narzędziami takimi jak Xcode i Swift.
Architektura i komponenty
Model
Core ML przyjmuje modele opisane w jednym z kilku wspieranych formatów, m.in.: .mlmodel, ONNX, TensorFlow Lite oraz Caffe2. Modele są konwertowane do postaci binarnej zoptymalizowanej pod konkretne procesory Apple, w tym CPU, GPU oraz dedykowany Neural Engine.
Silnik wykonawczy
Silnik Core ML (framework CoreML.framework) zarządza wczytywaniem, kompilacją oraz wykonywaniem modeli. W zależności od dostępnego sprzętu, framework automatycznie wybiera najefektywniejszą ścieżkę wykonawczą, wykorzystując m.in. Accelerate dla CPU oraz Metal dla GPU.
API programistyczne
Programiści korzystają z wysokopoziomowych API w językach Swift i Objective‑C. Framework generuje klasy bazujące na strukturze modelu, co pozwala na wywołanie predykcji przy pomocy prostych metod, np.: model.prediction(input:).
Obsługiwane formaty modeli
- .mlmodel – natywny format Apple, najczęściej używany po konwersji w Xcode.
- ONNX – otwarty format wymiany modeli.
- TensorFlow Lite – lekka wersja TensorFlow.
- Caffe2 – starszy framework sieci neuronowych.
- Create ML – narzędzie Apple umożliwiające trenowanie modeli bezpośrednio na macOS.
Integracja z platformą Apple
Core ML jest ściśle zintegrowany z ekosystemem Apple:
- iOS – predykcje w aplikacjach mobilnych, np. rozpoznawanie obrazów, tłumaczenia tekstu czy analizę dźwięku.
- macOS – wsparcie dla aplikacji desktopowych, w tym narzędzi analitycznych i kreatywnych.
- watchOS – modele lekkie pozwalają na przetwarzanie danych biometrycznych w czasie rzeczywistym.
- tvOS – wykorzystywane w rekomendacjach treści i analizie zachowań użytkowników.
Przykładowe zastosowania
Core ML jest używany w licznych aplikacjach:
- Rozpoznawanie twarzy i emocji w aplikacjach Zdjęcia i FaceTime.
- Transkrypcja mowy w Siri oraz w aplikacjach do notatek.
- Detekcja obiektów w aplikacjach AR (rozszerzona rzeczywistość) z wykorzystaniem ARKit.
- Analiza zdrowia i aktywności w aplikacji HealthKit.
Rozwój i przyszłość
Apple kontynuuje rozwój Core ML, wprowadzając nowe funkcje takie jak customizacja modeli w locie, wsparcie dla większych sieci neuronowych oraz lepsze narzędzia do profilowania wydajności (Instruments). Z planowaną integracją z Apple Silicon oraz dalszą optymalizacją pod Neural Engine, framework ma stać się jeszcze bardziej wydajny i dostępny także dla deweloperów spoza ekosystemu Apple.
Powiązane technologie
Warto także zapoznać się z innymi technologiami używanymi obok Core ML:
- Create ML – narzędzie do trenowania modeli na macOS.
- TensorFlow i PyTorch – popularne frameworki do uczenia modeli przed ich konwersją do Core ML.
- Metal – niskopoziomowe API graficzne wykorzystywane do przyspieszania obliczeń.
- Accelerate – biblioteka numeryczna przyspieszająca operacje matematyczne.
- Swift – język programowania rekomendowany do pracy z Core ML.