ML na zařízení v mobilním vývoji: co to je, jaké frameworky a jak funguje

Autor: IT Sectr Publikováno: 2026-07-29 Doba čtení: 11 min

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í — spouštění modelů strojového učení přímo na mobilním zařízení bez serverového zpracování dat.
  • Core ML — framework Apple s hardwarovou akcelerací na Neural Engine pro iOS a macOS.
  • TensorFlow Lite — multiplatformní řešení Google s kvantizací a delegáty GPU, NNAPI a XNNPACK.
  • ML Kit — SDK s hotovými API pro rozpoznávání textu, obličejů, čárových kódů a objektů bez vytváření modelu.
  • Vision a NaturalLanguage — vestavěné ML nástroje na iOS pro analýzu obrázků a textu.

Co je ML na zařízení a proč je potřeba v mobilních aplikacích

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.

Výhody on-device ML oproti cloudovým řešením

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ů.

Hlavní scénáře on-device ML v mobilních aplikacích

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: framework Apple pro ML na zařízení na iOS

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 a coremltools

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.

python
import coremltools as ct

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

Neural Engine a hardwarová akcelerace Core ML

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: multiplatformní ML na zařízení od Google

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 a kvantizace modelů

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.

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()

TFLite Delegate: GPU, NNAPI a XNNPACK

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: hotová řešení pro ML v mobilním vývoji

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 a Text Recognition v ML Kit

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.

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

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

Barcode Scanning a Object Detection v ML Kit

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“.

Vision a NaturalLanguage: vestavěné ML nástroje na iOS a Android

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 framework: VNRequest a VNCoreMLRequest

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í.

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 a SFSpeechRecognizer na iOS

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

Co je ML na zařízení?

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.

Čím se liší Core ML od TensorFlow Lite?

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.

Jaké úlohy řeší ML Kit?

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.

Je pro on-device ML potřeba internet?

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.

Který framework zvolit pro ML v mobilním vývoji?

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í

  • ML na zařízení — spouštění modelů přímo na mobilním zařízení bez odesílání dat na server, s nulovým síťovým zpožděním.
  • Core ML — framework Apple s hardwarovou akcelerací na Neural Engine pro iOS a macOS.
  • TensorFlow Lite — multiplatformní řešení Google s int8 kvantizací a delegáty GPU, NNAPI, XNNPACK.
  • ML Kit — SDK s hotovými API pro rozpoznávání textu, obličejů a čárových kódů bez vytváření modelu.
  • Vision a NaturalLanguage — vestavěné ML nástroje na iOS bez instalace knihoven třetích stran.
  • Kvantizace zmenšuje velikost modelu 4krát s minimální ztrátou přesnosti — standard pro mobilní aplikace.
  • On-device ML je povinný standard pro aplikace s citlivými daty a offline scénáři použití.

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í.

Prodiskutovat projekt