ML na urządzeniu w rozwoju mobilnym: co to jest, jakie frameworki i jak działa

Autor: IT Sectr Opublikowano: 2026-07-29 Czas czytania: 11 min

ML na urządzeniu (on-device ML) — wykonywanie modeli uczenia maszynowego bezpośrednio na urządzeniu mobilnym bez wysyłania danych na serwer. Według raportu Google AI, 2025, ponad 70% użytkowników preferuje aplikacje z on-device ML ze względu na prywatność i brak opóźnień sieciowych. Core ML od Apple, TensorFlow Lite od Google i ML Kit pozwalają rozwiązywać zadania Vision, NLP, rozpoznawania twarzy i obiektów w całości na urządzeniu — bez Internetu i przy minimalnym zużyciu energii.

Najważniejsze

  • ML na urządzeniu — uruchamianie modeli uczenia maszynowego bezpośrednio na urządzeniu mobilnym bez przetwarzania danych po stronie serwera.
  • Core ML — framework Apple z akceleracją sprzętową na Neural Engine dla iOS i macOS.
  • TensorFlow Lite — wieloplatformowe rozwiązanie Google z kwantyzacją i delegatami GPU, NNAPI i XNNPACK.
  • ML Kit — SDK z gotowymi API do rozpoznawania tekstu, twarzy, kodów kreskowych i obiektów bez tworzenia modelu.
  • Vision i NaturalLanguage — wbudowane narzędzia ML na iOS do analizy obrazów i tekstu.

Co to jest ML na urządzeniu i dlaczego jest potrzebny w aplikacjach mobilnych

ML na urządzeniu (on-device ML) to podejście, w którym modele uczenia maszynowego są wykonywane bezpośrednio na urządzeniu mobilnym bez wysyłania danych na zdalny serwer. Prywatność to kluczowa zaleta: dane użytkownika nigdy nie opuszczają urządzenia. Według badań Google (2024), 63% użytkowników odrzuca funkcje ML, które wymagają wysyłania danych na serwer. On-device ML eliminuje opóźnienia sieciowe, działa offline i zmniejsza zużycie energii dzięki akceleracji sprzętowej.

Zalety on-device ML nad rozwiązaniami chmurowymi

On-device ML przetwarza dane w milisekundach zamiast sekund — krytyczne dla rozpoznawania twarzy i obiektów w czasie rzeczywistym. Brak konieczności połączenia internetowego to kolejna zaleta: funkcje ML są dostępne w trybie samolotowym i w regionach z niestabilnym połączeniem. Core ML wykorzystuje Neural Engine w chipach Apple A12+, zapewniając 11 bilionów operacji na sekundę przy zużyciu energii poniżej 1 W. Dla aplikacji mobilnych on-device ML stał się standardem de facto w zadaniach Vision, NLP i rozpoznawania obiektów.

Główne scenariusze on-device ML w aplikacjach mobilnych

ML w aplikacjach mobilnych jest używany do uwierzytelniania twarzą (Face ID), filtrów AR w Snapchacie i Instagramie, trackerów fitness z Pose Detection, skanowania OCR w Adobe Scan i predykcyjnego wprowadzania tekstu w klawiaturach. Niestandardowe modele dla konkretnych zadań są tworzone przez Core ML (iOS) lub TensorFlow Lite (Android). ML Kit nadaje się do typowych scenariuszy — rozpoznawania tekstu, twarzy i kodów kreskowych bez konieczności uczenia modelu.

Core ML: framework Apple do ML na urządzeniu na iOS

Core ML to framework Apple do uruchamiania modeli ML na iPhone, iPad, Mac i Apple Watch. Automatycznie wybiera optymalną akcelerację sprzętową: Neural Engine dla sieci neuronowych na urządzeniach z A12+ (11 TOPS), GPU dla zadań przetwarzania obrazu i CPU dla obliczeń sekwencyjnych. Core ML obsługuje formaty .mlmodel (oryginalny) i .mlmodelc (skompilowany). Konwersja modeli z PyTorch i TensorFlow odbywa się przez coremltools — bibliotekę Python zachowującą topologię i wagi.

Create ML i coremltools

Create ML to aplikacja Apple do uczenia prostych modeli bez pisania kodu. Do produkcji używa się coremltools — narzędzia do konwersji z PyTorch, TensorFlow i scikit-learn. Coremltools obsługuje kwantyzację float32 → float16 i int8, paletyzację przestrzeni kolorów i usuwanie zbędnych operacji w celu zmniejszenia rozmiaru modelu.

python
import coremltools as ct

model = ct.convert(
    "resnet50.mlmodel",
    source="pytorch",
    convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")

Neural Engine i akceleracja sprzętowa Core ML

Neural Engine to wyspecjalizowany neuroprocesor w chipach Apple A12 i nowszych. 16 rdzeni wykonuje do 11 bilionów operacji na sekundę przy zużyciu energii poniżej 1 W. Core ML automatycznie kieruje obliczenia sieci neuronowych do Neural Engine, a kompatybilne z GPU do Metal GPU. Deweloper nie musi wybierać urządzenia — Core ML robi to przez Performance Report, analizując model i dostępny sprzęt.

TensorFlow Lite: wieloplatformowy ML na urządzeniu od Google

TensorFlow Lite (TFLite) to wieloplatformowe rozwiązanie Google do uruchamiania modeli ML na Android, iOS i Linux. Modele mają format .tflite i są tworzone przez TFLiteConverter z ekosystemu TensorFlow. TFLite obsługuje kwantyzację float32 → int8, która zmniejsza rozmiar modelu 4 razy przy zachowaniu 97–99% dokładności w zadaniach klasyfikacji. Google Play Services for TFLite automatycznie aktualizuje runtime bez konieczności ponownego wydawania aplikacji.

TFLiteConverter i kwantyzacja modeli

TFLiteConverter to główne narzędzie do konwersji modeli TensorFlow do formatu .tflite. Kwantyzacja int8 po treningu kompresuje model z 300 MB do 75 MB bez dostępu do pełnego zbioru danych. Trening świadomy kwantyzacji (QAT) daje minimalną utratę dokładności — poniżej 1% na ImageNet. TFLiteConverter obsługuje również przycinanie grafu i usuwanie operacji nieobsługiwanych przez TFLite runtime.

python
import tensorflow as tf

converter = tf.lite.TFLiteConverter.from_saved_model(
    "saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()

Delegaty TFLite: GPU, NNAPI i XNNPACK

Bez delegata TFLite wykonuje model na CPU 3–5 razy wolniej niż z akceleracją sprzętową. GPU Delegate używa OpenCL i OpenGL ES 3.1 na Android, Core ML Delegate używa Neural Engine na iOS. NNAPI Delegate wykorzystuje NPU i DSP na Android 8.1+. XNNPACK Delegate zapewnia wieloplatformową akcelerację na ARM CPU z optymalizacjami dla procesorów mobilnych. Aby wybrać delegata, użyj TfLiteGpuDelegate.create() z kontrolą null wyniku.

ML Kit: gotowe rozwiązania dla ML w rozwoju mobilnym

ML Kit to SDK od Google z gotowymi API do on-device ML. W aplikacjach mobilnych ML Kit jest używany do rozpoznawania tekstu (50+ języków, w tym pisma odręcznego), Face Detection (468 kluczowych punktów twarzy), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) i Object Detection. Wszystkie API działają w całości na urządzeniu bez Internetu. ML Kit jest dostępny na iOS i Android z jednolitym API.

Face Detection i Text Recognition w ML Kit

Face Detection zwraca współrzędne konturu twarzy, brwi, oczu, nosa i ust, a także kąt pochylenia głowy i stan oczu. Maski AR i filtry aparatu to najpopularniejszy scenariusz użycia. Text Recognition wyodrębnia tekst ze zdjęć z dokładnością do 99% na drukowanych znakach. API obsługuje rozpoznawanie w czasie rzeczywistym przez CameraX.

kotlin
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)

recognizer.process(image)
    .addOnSuccessListener { result ->
        result.textBlocks.forEach { block ->
            println(block.text)
        }
    }

Barcode Scanning i Object Detection w ML Kit

Barcode Scanning rozpoznaje kody kreskowe w strumieniu wideo z kamery w czasie rzeczywistym. Object Detection identyfikuje obiekty na obrazie z ramką ograniczającą i etykietą klasy (osoba, samochód, zwierzę). Pose Detection określa 33 kluczowe punkty ciała dla aplikacji fitness i analizy ruchu. Image Labeling zwraca do 10 semantycznych etykiet obrazu — „natura”, „miasto”, „jedzenie”.

Vision i NaturalLanguage: wbudowane narzędzia ML na iOS i Android

Apple zapewnia wbudowane rozwiązania ML przez Vision i NaturalLanguage bez instalowania SDK stron trzecich. Vision (VNRequest) wykonuje wykrywanie twarzy, tekstu, kodów kreskowych i konturów na urządzeniu. NaturalLanguage (NLTokenizer) zapewnia tokenizację, lematyzację, identyfikację języka i analizę sentymentu. Na Android odpowiedniki są zaimplementowane przez ML Kit (rozpoznawanie) i SpeechRecognizer z android.speech (mowa). Wbudowane narzędzia nie wymagają pobierania modeli — są preinstalowane w systemie.

Vision framework: VNRequest i VNCoreMLRequest

Vision zawiera VNDetectFaceRectanglesRequest (wykrywanie twarzy), VNRecognizeTextRequest (rozpoznawanie tekstu), VNDetectBarcodesRequest (kody kreskowe) i VNDetectHumanBodyPoseRequest (szkielet). VNCoreMLRequest integruje niestandardowy model Core ML z potokiem Vision — na przykład klasyfikację emocji na wykrytych twarzach. Wszystkie żądania są wykonywane na Neural Engine z minimalnym opóźnieniem.

swift
let request = VNRecognizeTextRequest { request, error in
    guard let observations = request.results
        as? [VNRecognizedTextObservation] else { return }
    for observation in observations {
        let topCandidate = observation
            .topCandidates(1).first
        print(topCandidate?.string as? String ?? "")
    }
}

let handler = VNImageRequestHandler(
    cgImage: image, options: [:]
)
try? handler.perform([request])

NaturalLanguage i SFSpeechRecognizer na iOS

NaturalLanguage udostępnia NLTokenizer do dzielenia tekstu na tokeny, NLLanguageRecognizer do identyfikacji języka (72 języki) i NLSentimentAnalyzer do analizy sentymentu tekstu. SFSpeechRecognizer to API rozpoznawania mowy obsługujące 50+ języków na urządzeniu (iOS 13+). Wymaga zgody SFSpeechRecognizerAuthorizationStatus przed użyciem. Wyniki przychodzą asynchronicznie przez SFSpeechRecognitionResultHandler.

Często zadawane pytania

Co to jest ML na urządzeniu?

ML na urządzeniu (on-device ML) to podejście, w którym modele uczenia maszynowego są uruchamiane bezpośrednio na urządzeniu mobilnym bez wysyłania danych na serwer. Core ML, TensorFlow Lite i ML Kit to główne frameworki do on-device ML.

Czym Core ML różni się od TensorFlow Lite?

Core ML to framework Apple dla iOS i macOS z akceleracją na Neural Engine. TensorFlow Lite to wieloplatformowe rozwiązanie Google dla Android, iOS i Linux. Core ML oferuje lepszą wydajność na urządzeniach Apple, TFLite oferuje wszechstronność.

Jakie zadania rozwiązuje ML Kit?

ML Kit rozwiązuje typowe zadania wizji komputerowej i NLP: rozpoznawanie tekstu, twarzy, kodów kreskowych, obiektów i pozycji ciała. Wszystkie API działają na urządzeniu bez Internetu i nie wymagają tworzenia własnego modelu.

Czy do on-device ML potrzebny jest Internet?

Nie, on-device ML działa całkowicie lokalnie. Modele są ładowane na urządzenie i wykonywane bez połączenia internetowego. ML Kit oferuje również wersje API w chmurze z wyższą dokładnością, ale tryb on-device jest dostępny offline.

Który framework wybrać do ML w rozwoju mobilnym?

Dla wyłącznie iOS wybierz Core ML — używa Neural Engine i jest ściśle zintegrowany z ekosystemem Apple. Dla projektów wieloplatformowych wybierz TensorFlow Lite. Dla typowych zadań bez niestandardowego modelu wybierz ML Kit z gotowymi API.

Podsumowanie

  • ML na urządzeniu — uruchamianie modeli bezpośrednio na urządzeniu mobilnym bez wysyłania danych na serwer, z zerowym opóźnieniem sieciowym.
  • Core ML — framework Apple z akceleracją sprzętową na Neural Engine dla iOS i macOS.
  • TensorFlow Lite — wieloplatformowe rozwiązanie Google z kwantyzacją int8 i delegatami GPU, NNAPI, XNNPACK.
  • ML Kit — SDK z gotowymi API do rozpoznawania tekstu, twarzy i kodów kreskowych bez tworzenia modelu.
  • Vision i NaturalLanguage — wbudowane narzędzia ML na iOS bez instalowania bibliotek stron trzecich.
  • Kwantyzacja zmniejsza rozmiar modelu 4 razy z minimalną utratą dokładności — standard dla aplikacji mobilnych.
  • On-device ML to obowiązkowy standard dla aplikacji z poufnymi danymi i scenariuszami offline.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt