ML na zařízení (on-device ML) — provádění modelů strojového učení přímo na mobilním zařízení bez odesílání dat na server. Podle zprávy Google AI, 2025 preferuje více než 70 % uživatelů aplikace s on-device ML kvůli soukromí a absenci síťových zpoždění. Core ML od Apple, TensorFlow Lite od Google a ML Kit umožňují řešit úlohy Vision, NLP, rozpoznávání obličejů a objektů zcela na zařízení — bez internetu a s minimální spotřebou energie.
Hlavní body
ML na zařízení (on-device ML) je přístup, při kterém se modely strojového učení spouštějí přímo na mobilním zařízení bez odesílání dat na vzdálený server. Soukromí je klíčová výhoda: uživatelská data neopouštějí zařízení. Podle výzkumu Google (2024) 63 % uživatelů odmítá ML funkce, které vyžadují odesílání dat na server. On-device ML eliminuje síťová zpoždění, funguje offline a snižuje spotřebu energie díky hardwarové akceleraci.
On-device ML zpracovává data v milisekundách místo sekund — kriticky důležité pro rozpoznávání obličejů a objektů v reálném čase. Absence internetového připojení je další výhoda: ML funkce jsou dostupné v režimu letadlo a v regionech s nestabilním připojením. Core ML využívá Neural Engine v čipech Apple A12+, což poskytuje 11 bilionů operací za sekundu při spotřebě méně než 1 W. Pro mobilní aplikace se on-device ML stal de facto standardem v úlohách Vision, NLP a rozpoznávání objektů.
ML v mobilních aplikacích se používá pro autentizaci obličejem (Face ID), AR filtry v Snapchatu a Instagramu, fitness trackery s Pose Detection, OCR skenování v Adobe Scan a prediktivní zadávání textu v klávesnicích. Vlastní modely pro specifické úlohy se vytvářejí přes Core ML (iOS) nebo TensorFlow Lite (Android). ML Kit je vhodný pro typické scénáře — rozpoznávání textu, obličejů a čárových kódů bez nutnosti trénovat model.
Core ML je framework Apple pro spouštění ML modelů na iPhone, iPad, Mac a Apple Watch. Automaticky vybírá optimální hardwarovou akceleraci: Neural Engine pro neuronové sítě na zařízeních s A12+ (11 TOPS), GPU pro úlohy zpracování obrázků a CPU pro sekvenční výpočty. Core ML podporuje formáty .mlmodel (původní) a .mlmodelc (zkompilovaný). Konverze modelů z PyTorch a TensorFlow se provádí přes coremltools — Python knihovnu, která zachovává topologii a váhy.
Create ML je aplikace Apple pro trénování jednoduchých modelů bez psaní kódu. Pro produkci se používá coremltools — nástroj pro konverzi z PyTorch, TensorFlow a scikit-learn. Coremltools podporuje kvantizaci float32 na float16 a int8, paletizaci barevného prostoru a odstraňování nadbytečných operací pro zmenšení velikosti modelu.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Neural Engine je specializovaný neuroprocesor v čipech Apple A12 a novějších. 16 jader provádí až 11 bilionů operací za sekundu při spotřebě méně než 1 W. Core ML automaticky směruje výpočty neuronových sítí na Neural Engine a GPU-kompatibilní na Metal GPU. Vývojář nemusí vybírat zařízení — Core ML to dělá pomocí Performance Report, analyzujícího model a dostupný hardware.
TensorFlow Lite (TFLite) je multiplatformní řešení Google pro spouštění ML modelů na Android, iOS a Linux. Modely mají formát .tflite a vytvářejí se přes TFLiteConverter z ekosystému TensorFlow. TFLite podporuje kvantizaci float32 na int8, což zmenšuje velikost modelu 4krát při zachování 97–99 % přesnosti u klasifikačních úloh. Google Play Services for TFLite automaticky aktualizuje runtime bez nutnosti přeinstalace aplikace.
TFLiteConverter je hlavní nástroj pro konverzi TensorFlow modelů do formátu .tflite. Post-tréninková int8 kvantizace zkomprimuje model z 300 MB na 75 MB bez přístupu k celé datové sadě. Kvantizačně uvědomělé trénování (QAT) dává minimální ztrátu přesnosti — méně než 1 % na ImageNet. TFLiteConverter také podporuje ořezávání grafu a odstraňování operací nepodporovaných 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 delegáta TFLite provádí model na CPU 3–5krát pomaleji než s hardwarovou akcelerací. GPU Delegate používá OpenCL a OpenGL ES 3.1 na Android, Core ML Delegate — Neural Engine na iOS. NNAPI Delegate využívá NPU a DSP na Android 8.1+. XNNPACK Delegate poskytuje multiplatformní akceleraci na ARM CPU s optimalizacemi pro mobilní procesory. Pro výběr delegáta použijte TfLiteGpuDelegate.create() s kontrolou výsledku na null.
ML Kit je SDK od Google s hotovými API pro on-device ML. V mobilních aplikacích se ML Kit používá pro rozpoznávání textu (50+ jazyků včetně ručně psaného), Face Detection (468 klíčových bodů obličeje), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) a Object Detection. Všechna API fungují zcela na zařízení bez internetu. ML Kit je dostupný na iOS a Android s jednotným API.
Face Detection vrací souřadnice kontury obličeje, obočí, očí, nosu a rtů, stejně jako úhel náklonu hlavy a stav očí. AR masky a filtry v kameře jsou nejoblíbenějším scénářem použití. Text Recognition extrahuje text z fotografií s přesností až 99 % u tištěných znaků. API podporuje rozpoznávání v reálném čase přes CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Barcode Scanning rozpoznává čárové kódy ve videostreamu z kamery v reálném čase. Object Detection identifikuje objekty na obrázku s bounding boxem a štítkem třídy (člověk, auto, zvíře). Pose Detection určuje 33 klíčových bodů těla pro fitness aplikace a analýzu pohybu. Image Labeling vrací až 10 sémantických štítků obrázku — „příroda“, „město“, „jídlo“.
Apple poskytuje vestavěná ML řešení přes Vision a NaturalLanguage bez instalace SDK třetích stran. Vision (VNRequest) provádí detekci obličejů, textu, čárových kódů a kontur na zařízení. NaturalLanguage (NLTokenizer) — tokenizaci, lematizaci, určení jazyka a analýzu sentimentu. Na Androidu jsou ekvivalenty implementovány přes ML Kit (rozpoznávání) a SpeechRecognizer z android.speech (řeč). Vestavěné nástroje nevyžadují stahování modelů — jsou předinstalované v systému.
Vision zahrnuje VNDetectFaceRectanglesRequest (detekce obličejů), VNRecognizeTextRequest (rozpoznávání textu), VNDetectBarcodesRequest (čárové kódy) a VNDetectHumanBodyPoseRequest (kostra). VNCoreMLRequest integruje vlastní Core ML model do pipeline Vision — například klasifikaci emocí na detekovaných obličejích. Všechny požadavky se provádějí na Neural Engine s minimální latencí.
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 poskytuje NLTokenizer pro rozdělení textu na tokeny, NLLanguageRecognizer pro určení jazyka (72 jazyků) a NLSentimentAnalyzer pro analýzu sentimentu textu. SFSpeechRecognizer — API pro rozpoznávání řeči s podporou 50+ jazyků na zařízení (iOS 13+). Před použitím je vyžadováno povolení SFSpeechRecognizerAuthorizationStatus. Výsledky přicházejí asynchronně přes SFSpeechRecognitionResultHandler.
Často kladené otázky
ML na zařízení (on-device ML) je přístup, při kterém se modely strojového učení spouštějí přímo na mobilním zařízení bez odesílání dat na server. Core ML, TensorFlow Lite a ML Kit jsou hlavní frameworky pro on-device ML.
Core ML je framework Apple pro iOS a macOS s akcelerací na Neural Engine. TensorFlow Lite je multiplatformní řešení od Google pro Android, iOS a Linux. Core ML nabízí lepší výkon na zařízeních Apple, TFLite — univerzálnost.
ML Kit řeší typické úlohy počítačového vidění a NLP: rozpoznávání textu, obličejů, čárových kódů, objektů a póz těla. Všechna API fungují na zařízení bez internetu a nevyžadují vytvoření vlastního modelu.
Ne, on-device ML funguje zcela lokálně. Modely se načtou do zařízení a spouštějí se bez internetového připojení. ML Kit také nabízí cloudové verze API s vyšší přesností, ale on-device režim je dostupný offline.
Pro iOS-only zvolte Core ML — využívá Neural Engine a je úzce integrován s ekosystémem Apple. Pro multiplatformní projekty — TensorFlow Lite. Pro typické úlohy bez vlastního modelu — ML Kit s hotovými API.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.