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 (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.
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.
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 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 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.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
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 (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 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.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(
"saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
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 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 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.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
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”.
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 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.
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 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
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.
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ść.
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.
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.
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
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.