ML na uređaju u mobilnom razvoju: šta je to, koji frejmvorci i kako radi

Аутор: IT Sectr Објављено: 2026-07-29 Време читања: 11 мин

ML na uređaju (on-device ML) — izvršavanje modela mašinskog učenja direktno na mobilnom uređaju bez slanja podataka na server. Prema izveštaju Google AI, 2025, više od 70% korisnika preferira aplikacije sa on-device ML zbog privatnosti i odsustva kašnjenja mreže. Core ML od Apple-a, TensorFlow Lite od Google-a i ML Kit omogućavaju rešavanje Vision, NLP, prepoznavanja lica i objekata u potpunosti na uređaju — bez interneta i sa minimalnom potrošnjom energije.

Glavne tačke

  • ML na uređaju — pokretanje modela mašinskog učenja direktno na mobilnom uređaju bez serverske obrade podataka.
  • Core ML — Apple-ov frejmvork sa hardverskim ubrzanjem na Neural Engine za iOS i macOS.
  • TensorFlow Lite — Google-ovo višeplatformsko rešenje sa kvantizacijom i delegatima GPU, NNAPI i XNNPACK.
  • ML Kit — SDK sa gotovim API-jima za prepoznavanje teksta, lica, barkodova i objekata bez kreiranja modela.
  • Vision i NaturalLanguage — ugrađeni ML alati na iOS-u za analizu slika i teksta.

Šta je ML na uređaju i zašto je potreban u mobilnim aplikacijama

ML na uređaju (on-device ML) je pristup u kome se modeli mašinskog učenja izvršavaju direktno na mobilnom uređaju bez slanja podataka na udaljeni server. Privatnost je ključna prednost: korisnički podaci nikada ne napuštaju uređaj. Prema Google istraživanju (2024), 63% korisnika odbija ML funkcije koje zahtevaju slanje podataka na server. On-device ML eliminiše kašnjenje mreže, radi van mreže i smanjuje potrošnju energije zahvaljujući hardverskom ubrzanju.

Prednosti on-device ML u odnosu na cloud rešenja

On-device ML obrađuje podatke u milisekundama umesto sekundi — kritično za prepoznavanje lica i objekata u realnom vremenu. Bez potrebe za internet konekcijom je još jedna prednost: ML funkcije su dostupne u režimu rada u avionu i u regionima sa nestabilnom vezom. Core ML koristi Neural Engine u čipovima Apple A12+, obezbeđujući 11 biliona operacija u sekundi sa potrošnjom manjom od 1 W. Za mobilne aplikacije, on-device ML je postao de facto standard za Vision, NLP i prepoznavanje objekata.

Glavni scenariji on-device ML u mobilnim aplikacijama

ML u mobilnim aplikacijama se koristi za autentifikaciju licem (Face ID), AR filtere u Snapchat-u i Instagram-u, fitnes trackere sa Pose Detection, OCR skeniranje u Adobe Scan-u i prediktivni unos u tastaturama. Prilagođeni modeli za specifične zadatke se kreiraju putem Core ML (iOS) ili TensorFlow Lite (Android). ML Kit je pogodan za tipične scenarije — prepoznavanje teksta, lica i barkodova bez potrebe za obučavanjem modela.

Core ML: Apple-ov frejmvork za ML na uređaju na iOS-u

Core ML je Apple-ov frejmvork za izvršavanje ML modela na iPhone, iPad, Mac i Apple Watch. Automatski bira optimalno hardversko ubrzanje: Neural Engine za neuronske mreže na uređajima sa A12+ (11 TOPS), GPU za zadatke obrade slika i CPU za sekvencijalna izračunavanja. Core ML podržava formate .mlmodel (originalni) i .mlmodelc (kompajlirani). Konverzija modela iz PyTorch i TensorFlow se vrši putem coremltools — Python biblioteke koja čuva topologiju i težine.

Create ML i coremltools

Create ML je Apple-ova aplikacija za obučavanje jednostavnih modela bez pisanja koda. Za produkciju se koristi coremltools — alat za konverziju iz PyTorch, TensorFlow i scikit-learn. Coremltools podržava kvantizaciju float32 → float16 i int8, paletizaciju prostora boja i uklanjanje suvišnih operacija za smanjenje veličine modela.

python
import coremltools as ct

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

Neural Engine i hardversko ubrzanje Core ML

Neural Engine je specijalizovani neuroprocesor u čipovima Apple A12 i novijim. 16 jezgara izvršava do 11 biliona operacija u sekundi sa potrošnjom manjom od 1 W. Core ML automatski usmerava izračunavanja neuronskih mreža na Neural Engine, a GPU-kompatibilna na Metal GPU. Programer ne mora da bira uređaj — Core ML to radi putem Performance Report-a, analizirajući model i dostupni hardver.

TensorFlow Lite: Google-ovo višeplatformsko ML na uređaju

TensorFlow Lite (TFLite) je Google-ovo višeplatformsko rešenje za izvršavanje ML modela na Android, iOS i Linux. Modeli su u .tflite formatu i kreiraju se putem TFLiteConverter-a iz TensorFlow ekosistema. TFLite podržava kvantizaciju float32 → int8, što smanjuje veličinu modela 4 puta uz zadržavanje 97–99% tačnosti na zadacima klasifikacije. Google Play Services for TFLite automatski ažurira runtime bez ponovnog objavljivanja aplikacije.

TFLiteConverter i kvantizacija modela

TFLiteConverter je glavni alat za konverziju TensorFlow modela u .tflite format. Post-trenažna int8 kvantizacija komprimuje model sa 300 MB na 75 MB bez pristupa celom skupu podataka. Kvantizaciono-svesno obučavanje (QAT) daje minimalan gubitak tačnosti — manje od 1% na ImageNet. TFLiteConverter takođe podržava orezivanje grafa i uklanjanje operacija koje ne podržava 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 Delegati: GPU, NNAPI i XNNPACK

Bez delegata, TFLite izvršava model na CPU 3–5 puta sporije nego sa hardverskim ubrzanjem. GPU Delegate koristi OpenCL i OpenGL ES 3.1 na Androidu, Core ML Delegate koristi Neural Engine na iOS-u. NNAPI Delegate koristi NPU i DSP na Android 8.1+. XNNPACK Delegate pruža višeplatformsko ubrzanje na ARM CPU sa optimizacijama za mobilne procesore. Za izbor delegata koristite TfLiteGpuDelegate.create() sa proverom null na rezultatu.

ML Kit: gotova rešenja za ML u mobilnom razvoju

ML Kit je Google-ov SDK sa gotovim API-jima za on-device ML. U mobilnim aplikacijama, ML Kit se koristi za prepoznavanje teksta (50+ jezika, uključujući rukopis), Face Detection (468 ključnih tačaka lica), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) i Object Detection. Svi API-ji rade u potpunosti na uređaju bez interneta. ML Kit je dostupan na iOS-u i Androidu sa jedinstvenim API-jem.

Face Detection i Text Recognition u ML Kit-u

Face Detection vraća koordinate konture lica, obrva, očiju, nosa i usana, kao i ugao nagiba glave i stanje očiju. AR maske i filteri kamere su najpopularniji scenario korišćenja. Text Recognition izdvaja tekst sa fotografija sa tačnošću do 99% na štampanim karakterima. API podržava prepoznavanje u realnom vremenu putem 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 u ML Kit-u

Barcode Scanning prepoznaje barkodove u video toku kamere u realnom vremenu. Object Detection identifikuje objekte na slici sa graničnim okvirom i oznakom klase (osoba, automobil, životinja). Pose Detection određuje 33 ključne tačke tela za fitnes aplikacije i analizu pokreta. Image Labeling vraća do 10 semantičkih oznaka slike — „priroda“, „grad“, „hrana“.

Vision i NaturalLanguage: ugrađeni ML alati na iOS-u i Androidu

Apple pruža ugrađena ML rešenja putem Vision i NaturalLanguage bez instaliranja SDK-ja trećih strana. Vision (VNRequest) vrši detekciju lica, teksta, barkodova i kontura na uređaju. NaturalLanguage (NLTokenizer) pruža tokenizaciju, lematizaciju, identifikaciju jezika i analizu sentimenta. Na Androidu, ekvivalenti su implementirani putem ML Kit (prepoznavanje) i SpeechRecognizer iz android.speech (govor). Ugrađeni alati ne zahtevaju preuzimanje modela — oni su preinstalirani u sistemu.

Vision frejmvork: VNRequest i VNCoreMLRequest

Vision uključuje VNDetectFaceRectanglesRequest (detekcija lica), VNRecognizeTextRequest (prepoznavanje teksta), VNDetectBarcodesRequest (barkodovi) i VNDetectHumanBodyPoseRequest (skelet). VNCoreMLRequest integriše prilagođeni Core ML model u Vision pipeline — na primer, klasifikaciju emocija na detektovanim licima. Svi zahtevi se izvršavaju na Neural Engine sa minimalnim kašnjenjem.

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-u

NaturalLanguage pruža NLTokenizer za podelu teksta na tokene, NLLanguageRecognizer za identifikaciju jezika (72 jezika) i NLSentimentAnalyzer za analizu sentimenta teksta. SFSpeechRecognizer je API za prepoznavanje govora koji podržava 50+ jezika na uređaju (iOS 13+). Zahteva dozvolu SFSpeechRecognizerAuthorizationStatus pre upotrebe. Rezultati stižu asinhrono putem SFSpeechRecognitionResultHandler-a.

Često postavljana pitanja

Šta je ML na uređaju?

ML na uređaju (on-device ML) je pristup u kome se modeli mašinskog učenja pokreću direktno na mobilnom uređaju bez slanja podataka na server. Core ML, TensorFlow Lite i ML Kit su glavni frejmvorci za on-device ML.

Kako se Core ML razlikuje od TensorFlow Lite-a?

Core ML je Apple-ov frejmvork za iOS i macOS sa ubrzanjem na Neural Engine. TensorFlow Lite je Google-ovo višeplatformsko rešenje za Android, iOS i Linux. Core ML nudi bolje performanse na Apple uređajima, TFLite nudi svestranost.

Koje zadatke rešava ML Kit?

ML Kit rešava tipične zadatke računarskog vida i NLP: prepoznavanje teksta, lica, barkodova, objekata i položaja tela. Svi API-ji rade na uređaju bez interneta i ne zahtevaju kreiranje sopstvenog modela.

Da li je internet potreban za on-device ML?

Ne, on-device ML radi potpuno lokalno. Modeli se učitavaju na uređaj i izvršavaju bez internet konekcije. ML Kit takođe nudi cloud verzije API-ja sa većom tačnošću, ali on-device režim je dostupan van mreže.

Koji frejmvork izabrati za ML u mobilnom razvoju?

Za samo iOS, izaberite Core ML — koristi Neural Engine i usko je integrisan sa Apple ekosistemom. Za višeplatformske projekte, izaberite TensorFlow Lite. Za tipične zadatke bez prilagođenog modela, izaberite ML Kit sa gotovim API-jima.

Sažetak

  • ML na uređaju — pokretanje modela direktno na mobilnom uređaju bez slanja podataka na server, sa nultim kašnjenjem mreže.
  • Core ML — Apple-ov frejmvork sa hardverskim ubrzanjem na Neural Engine za iOS i macOS.
  • TensorFlow Lite — Google-ovo višeplatformsko rešenje sa int8 kvantizacijom i delegatima GPU, NNAPI, XNNPACK.
  • ML Kit — SDK sa gotovim API-jima za prepoznavanje teksta, lica i barkodova bez kreiranja modela.
  • Vision i NaturalLanguage — ugrađeni ML alati na iOS-u bez instaliranja biblioteka trećih strana.
  • Kvantizacija smanjuje veličinu modela 4 puta uz minimalan gubitak tačnosti — standard za mobilne aplikacije.
  • On-device ML je obavezan standard za aplikacije sa osetljivim podacima i scenarijima korišćenja van mreže.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту