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 (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.
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.
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 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 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.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
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 (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 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.
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 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 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 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.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
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“.
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 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.
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 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
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.
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.
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.
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.
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
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.