encyklopedia.run.place

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.