ML pe dispozitiv (on-device ML) — execuția modelelor de învățare automată direct pe dispozitivul mobil fără a trimite date către un server. Conform unui raport Google AI, 2025, peste 70% dintre utilizatori preferă aplicațiile cu on-device ML datorită confidențialității și absenței latenței de rețea. Core ML de la Apple, TensorFlow Lite de la Google și ML Kit permit rezolvarea sarcinilor de Vision, NLP, recunoaștere facială și de obiecte complet pe dispozitiv — fără internet și cu un consum minim de energie.
Puncte cheie
ML pe dispozitiv (on-device ML) este o abordare în care modelele de învățare automată sunt executate direct pe dispozitivul mobil fără a trimite date către un server la distanță. Confidențialitatea este avantajul cheie: datele utilizatorului nu părăsesc niciodată dispozitivul. Conform cercetării Google (2024), 63% dintre utilizatori refuză funcțiile ML care necesită trimiterea datelor către un server. On-device ML elimină latența rețelei, funcționează offline și reduce consumul de energie prin accelerare hardware.
On-device ML procesează datele în milisecunde în loc de secunde — esențial pentru recunoașterea facială și a obiectelor în timp real. Fără conexiune la internet necesară este un alt avantaj: funcțiile ML sunt disponibile în modul avion și în regiuni cu conectivitate instabilă. Core ML utilizează Neural Engine în cipurile Apple A12+, oferind 11 trilioane de operații pe secundă cu un consum sub 1 W. Pentru aplicațiile mobile, on-device ML a devenit standardul de facto pentru sarcinile de Vision, NLP și recunoaștere a obiectelor.
ML în aplicațiile mobile este utilizat pentru autentificare facială (Face ID), filtre AR în Snapchat și Instagram, trackere de fitness cu Pose Detection, scanare OCR în Adobe Scan și intrare predictivă în tastaturi. Modele personalizate pentru sarcini specifice sunt create prin Core ML (iOS) sau TensorFlow Lite (Android). ML Kit este potrivit pentru scenarii tipice — recunoaștere text, fețe și coduri de bare fără a fi nevoie să antrenați un model.
Core ML este framework-ul Apple pentru rularea modelelor ML pe iPhone, iPad, Mac și Apple Watch. Selectează automat accelerarea hardware optimă: Neural Engine pentru rețele neuronale pe dispozitive cu A12+ (11 TOPS), GPU pentru sarcini de procesare a imaginilor și CPU pentru calcule secvențiale. Core ML suportă formatele .mlmodel (original) și .mlmodelc (compilat). Conversia modelelor din PyTorch și TensorFlow se face prin coremltools — o bibliotecă Python care păstrează topologia și greutățile.
Create ML este aplicația Apple pentru antrenarea modelelor simple fără a scrie cod. Pentru producție se utilizează coremltools — un instrument de conversie din PyTorch, TensorFlow și scikit-learn. Coremltools suportă cuantizarea float32 → float16 și int8, paletizarea spațiului de culoare și eliminarea operațiilor redundante pentru a reduce dimensiunea modelului.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Neural Engine este un neuroprocesor specializat în cipurile Apple A12 și mai noi. 16 nuclee execută până la 11 trilioane de operații pe secundă cu un consum sub 1 W. Core ML direcționează automat calculele rețelelor neuronale către Neural Engine și pe cele compatibile GPU către Metal GPU. Dezvoltatorul nu trebuie să aleagă dispozitivul — Core ML face acest lucru prin Performance Report, analizând modelul și hardware-ul disponibil.
TensorFlow Lite (TFLite) este soluția cross-platform a Google pentru rularea modelelor ML pe Android, iOS și Linux. Modelele sunt în format .tflite și sunt create prin TFLiteConverter din ecosistemul TensorFlow. TFLite suportă cuantizarea float32 → int8, care reduce dimensiunea modelului de 4 ori menținând 97–99% acuratețe în sarcinile de clasificare. Google Play Services for TFLite actualizează automat runtime-ul fără a necesita relansarea aplicației.
TFLiteConverter este instrumentul principal pentru conversia modelelor TensorFlow în format .tflite. Cuantizarea int8 post-antrenament comprimă un model de la 300 MB la 75 MB fără acces la setul complet de date. Antrenamentul conștient de cuantizare (QAT) oferă o pierdere minimă de acuratețe — mai puțin de 1% pe ImageNet. TFLiteConverter suportă, de asemenea, tăierea grafului și eliminarea operațiilor nesuportate de runtime-ul TFLite.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(
"saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
Fără un delegat, TFLite rulează modelul pe CPU de 3–5 ori mai lent decât cu accelerare hardware. GPU Delegate utilizează OpenCL și OpenGL ES 3.1 pe Android, Core ML Delegate utilizează Neural Engine pe iOS. NNAPI Delegate folosește NPU și DSP pe Android 8.1+. XNNPACK Delegate oferă accelerare cross-platform pe CPU ARM cu optimizări pentru procesoare mobile. Pentru a selecta un delegat, utilizați TfLiteGpuDelegate.create() cu verificare null pe rezultat.
ML Kit este SDK-ul Google cu API-uri gata făcute pentru on-device ML. În aplicațiile mobile, ML Kit este utilizat pentru recunoaștere text (peste 50 de limbi, inclusiv scris de mână), Detectare Facială (468 de puncte cheie faciale), Scanare Coduri de Bare (QR, EAN-13, Code 128, PDF417, Data Matrix) și Detectare Obiecte. Toate API-urile funcționează complet pe dispozitiv fără internet. ML Kit este disponibil pe iOS și Android cu un API unificat.
Detectarea Facială returnează coordonatele conturului feței, sprâncenelor, ochilor, nasului și buzelor, precum și unghiul de înclinare a capului și starea ochilor. Măștile AR și filtrele camerei sunt cel mai popular scenariu de utilizare. Recunoașterea Textului extrage textul din fotografii cu o precizie de până la 99% pe caractere tipărite. API-ul suportă recunoaștere în timp real prin CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Scanarea Codurilor de Bare recunoaște codurile de bare în fluxul video al camerei în timp real. Detectarea Obiectelor identifică obiectele într-o imagine cu cadru delimitor și etichetă de clasă (persoană, mașină, animal). Detectarea Posturii determină 33 de puncte cheie ale corpului pentru aplicații de fitness și analiză a mișcării. Etichetarea Imaginilor returnează până la 10 etichete semantice ale imaginii — „natură”, „oraș”, „mâncare”.
Apple oferă soluții ML încorporate prin Vision și NaturalLanguage fără a instala SDK-uri terțe. Vision (VNRequest) efectuează detectarea fețelor, textului, codurilor de bare și contururilor pe dispozitiv. NaturalLanguage (NLTokenizer) oferă tokenizare, lematizare, identificare a limbii și analiză a sentimentului. Pe Android, echivalentele sunt implementate prin ML Kit (recunoaștere) și SpeechRecognizer din android.speech (vorbire). Instrumentele încorporate nu necesită descărcarea modelelor — sunt preinstalate în sistem.
Vision include VNDetectFaceRectanglesRequest (detectare fețe), VNRecognizeTextRequest (recunoaștere text), VNDetectBarcodesRequest (coduri de bare) și VNDetectHumanBodyPoseRequest (schelet). VNCoreMLRequest integrează un model Core ML personalizat în pipeline-ul Vision — de exemplu, clasificarea emoțiilor pe fețele detectate. Toate solicitările sunt executate pe Neural Engine cu latență minimă.
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 oferă NLTokenizer pentru împărțirea textului în tokeni, NLLanguageRecognizer pentru identificarea limbii (72 de limbi) și NLSentimentAnalyzer pentru analiza sentimentului textului. SFSpeechRecognizer este un API de recunoaștere a vorbirii care suportă peste 50 de limbi pe dispozitiv (iOS 13+). Necesită permisiunea SFSpeechRecognizerAuthorizationStatus înainte de utilizare. Rezultatele vin asincron prin SFSpeechRecognitionResultHandler.
Întrebări frecvente
ML pe dispozitiv (on-device ML) este o abordare în care modelele de învățare automată sunt rulate direct pe un dispozitiv mobil fără a trimite date către un server. Core ML, TensorFlow Lite și ML Kit sunt principalele framework-uri pentru on-device ML.
Core ML este framework-ul Apple pentru iOS și macOS cu accelerare pe Neural Engine. TensorFlow Lite este soluția cross-platform a Google pentru Android, iOS și Linux. Core ML oferă performanță mai bună pe dispozitive Apple, TFLite oferă versatilitate.
ML Kit rezolvă sarcini tipice de viziune computerizată și NLP: recunoaștere text, fețe, coduri de bare, obiecte și posturi corporale. Toate API-urile funcționează pe dispozitiv fără internet și nu necesită crearea propriului model.
Nu, on-device ML funcționează complet local. Modelele sunt încărcate pe dispozitiv și executate fără conexiune la internet. ML Kit oferă și versiuni API în cloud cu precizie mai mare, dar modul on-device este disponibil offline.
Pentru doar iOS, alegeți Core ML — utilizează Neural Engine și este strâns integrat cu ecosistemul Apple. Pentru proiecte cross-platform, alegeți TensorFlow Lite. Pentru sarcini tipice fără model personalizat, alegeți ML Kit cu API-uri gata făcute.
Rezumat
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.