ML στη συσκευή (on-device ML) — εκτέλεση μοντέλων μηχανικής μάθησης απευθείας στην κινητή συσκευή χωρίς αποστολή δεδομένων σε διακομιστή. Σύμφωνα με έκθεση της Google AI, 2025, πάνω από το 70% των χρηστών προτιμούν εφαρμογές με on-device ML λόγω απορρήτου και απουσίας καθυστέρησης δικτύου. Το Core ML της Apple, το TensorFlow Lite της Google και το ML Kit επιτρέπουν την επίλυση εργασιών Vision, NLP, αναγνώρισης προσώπων και αντικειμένων εξ ολοκλήρου στη συσκευή — χωρίς διαδίκτυο και με ελάχιστη κατανάλωση ενέργειας.
Κύρια σημεία
Το ML στη συσκευή (on-device ML) είναι μια προσέγγιση όπου τα μοντέλα μηχανικής μάθησης εκτελούνται απευθείας στην κινητή συσκευή χωρίς αποστολή δεδομένων σε απομακρυσμένο διακομιστή. Το απόρρητο είναι το βασικό πλεονέκτημα: τα δεδομένα χρήστη δεν εγκαταλείπουν ποτέ τη συσκευή. Σύμφωνα με έρευνα της Google (2024), το 63% των χρηστών απορρίπτει λειτουργίες ML που απαιτούν αποστολή δεδομένων σε διακομιστή. Το On-device ML εξαλείφει την καθυστέρηση δικτύου, λειτουργεί εκτός σύνδεσης και μειώνει την κατανάλωση ενέργειας μέσω επιτάχυνσης υλικού.
Το On-device ML επεξεργάζεται δεδομένα σε χιλιοστά του δευτερολέπτου αντί για δευτερόλεπτα — κρίσιμο για την αναγνώριση προσώπων και αντικειμένων σε πραγματικό χρόνο. Καμία απαίτηση σύνδεσης στο διαδίκτυο είναι ένα άλλο πλεονέκτημα: οι λειτουργίες ML είναι διαθέσιμες σε λειτουργία πτήσης και σε περιοχές με ασταθή συνδεσιμότητα. Το Core ML χρησιμοποιεί το Neural Engine σε τσιπ Apple A12+, παρέχοντας 11 τρισεκατομμύρια λειτουργίες ανά δευτερόλεπτο με κατανάλωση κάτω από 1 W. Για εφαρμογές κινητών, το on-device ML έχει γίνει το de facto πρότυπο για εργασίες Vision, NLP και αναγνώρισης αντικειμένων.
Το ML σε εφαρμογές κινητών χρησιμοποιείται για έλεγχο ταυτότητας προσώπου (Face ID), φίλτρα AR στο Snapchat και Instagram, ιχνηλάτες γυμναστικής με Pose Detection, σάρωση OCR στο Adobe Scan και προγνωστική είσοδο σε πληκτρολόγια. Προσαρμοσμένα μοντέλα για συγκεκριμένες εργασίες δημιουργούνται μέσω Core ML (iOS) ή TensorFlow Lite (Android). Το ML Kit είναι κατάλληλο για τυπικά σενάρια — αναγνώριση κειμένου, προσώπων και γραμμωτών κωδίκων χωρίς εκπαίδευση μοντέλου.
Το Core ML είναι το πλαίσιο της Apple για εκτέλεση μοντέλων ML σε iPhone, iPad, Mac και Apple Watch. Επιλέγει αυτόματα τη βέλτιστη επιτάχυνση υλικού: Neural Engine για νευρωνικά δίκτυα σε συσκευές με A12+ (11 TOPS), GPU για εργασίες επεξεργασίας εικόνας και CPU για σειριακούς υπολογισμούς. Το Core ML υποστηρίζει μορφές .mlmodel (αρχική) και .mlmodelc (μεταγλωττισμένη). Η μετατροπή μοντέλων από PyTorch και TensorFlow γίνεται μέσω coremltools — μιας βιβλιοθήκης Python που διατηρεί την τοπολογία και τα βάρη.
Το Create ML είναι η εφαρμογή της Apple για εκπαίδευση απλών μοντέλων χωρίς σύνταξη κώδικα. Για παραγωγή χρησιμοποιείται το coremltools — ένα εργαλείο μετατροπής από PyTorch, TensorFlow και scikit-learn. Το Coremltools υποστηρίζει κβάντιση float32 → float16 και int8, παλετοποίηση χρωματικού χώρου και αφαίρεση περιττών λειτουργιών για μείωση του μεγέθους του μοντέλου.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Το Neural Engine είναι ένας εξειδικευμένος νευροεπεξεργαστής σε τσιπ Apple A12 και νεότερα. 16 πυρήνες εκτελούν έως και 11 τρισεκατομμύρια λειτουργίες ανά δευτερόλεπτο με κατανάλωση κάτω από 1 W. Το Core ML κατευθύνει αυτόματα τους υπολογισμούς νευρωνικών δικτύων στο Neural Engine και τους συμβατούς με GPU στο Metal GPU. Ο προγραμματιστής δεν χρειάζεται να επιλέξει συσκευή — το Core ML το κάνει μέσω του Performance Report, αναλύοντας το μοντέλο και το διαθέσιμο υλικό.
Το TensorFlow Lite (TFLite) είναι η διαπλατφορμική λύση της Google για εκτέλεση μοντέλων ML σε Android, iOS και Linux. Τα μοντέλα είναι σε μορφή .tflite και δημιουργούνται μέσω TFLiteConverter από το οικοσύστημα TensorFlow. Το TFLite υποστηρίζει κβάντιση float32 → int8, η οποία μειώνει το μέγεθος του μοντέλου 4 φορές διατηρώντας 97–99% ακρίβεια σε εργασίες ταξινόμησης. Το Google Play Services for TFLite ενημερώνει αυτόματα τον χρόνο εκτέλεσης χωρίς επανέκδοση της εφαρμογής.
Το TFLiteConverter είναι το κύριο εργαλείο μετατροπής μοντέλων TensorFlow σε μορφή .tflite. Η κβάντιση int8 μετά την εκπαίδευση συμπιέζει ένα μοντέλο από 300 MB σε 75 MB χωρίς πρόσβαση στο πλήρες σύνολο δεδομένων. Η εκπαίδευση με επίγνωση κβάντισης (QAT) δίνει ελάχιστη απώλεια ακρίβειας — λιγότερο από 1% στο ImageNet. Το TFLiteConverter υποστηρίζει επίσης κλάδεμα γράφου και αφαίρεση λειτουργιών που δεν υποστηρίζονται από τον χρόνο εκτέλεσης 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()
Χωρίς εκπρόσωπο, το TFLite εκτελεί το μοντέλο στην CPU 3–5 φορές πιο αργά από ό,τι με επιτάχυνση υλικού. Ο εκπρόσωπος GPU χρησιμοποιεί OpenCL και OpenGL ES 3.1 σε Android, ο εκπρόσωπος Core ML χρησιμοποιεί Neural Engine σε iOS. Ο εκπρόσωπος NNAPI αξιοποιεί NPU και DSP σε Android 8.1+. Ο εκπρόσωπος XNNPACK παρέχει διαπλατφορμική επιτάχυνση σε ARM CPU με βελτιστοποιήσεις για κινητούς επεξεργαστές. Για επιλογή εκπροσώπου, χρησιμοποιήστε το TfLiteGpuDelegate.create() με έλεγχο null στο αποτέλεσμα.
Το ML Kit είναι το SDK της Google με έτοιμα API για on-device ML. Σε εφαρμογές κινητών, το ML Kit χρησιμοποιείται για αναγνώριση κειμένου (50+ γλώσσες, συμπεριλαμβανομένης της χειρόγραφης), ανίχνευση προσώπου (468 βασικά σημεία προσώπου), σάρωση γραμμωτού κώδικα (QR, EAN-13, Code 128, PDF417, Data Matrix) και ανίχνευση αντικειμένων. Όλα τα API λειτουργούν εξ ολοκλήρου στη συσκευή χωρίς διαδίκτυο. Το ML Kit είναι διαθέσιμο σε iOS και Android με ενοποιημένο API.
Η ανίχνευση προσώπου επιστρέφει τις συντεταγμένες του περιγράμματος του προσώπου, των φρυδιών, των ματιών, της μύτης και των χειλιών, καθώς και τη γωνία κλίσης της κεφαλής και την κατάσταση των ματιών. Μάσκες AR και φίλτρα κάμερας είναι το πιο δημοφιλές σενάριο χρήσης. Η αναγνώριση κειμένου εξάγει κείμενο από φωτογραφίες με ακρίβεια έως 99% σε τυπωμένους χαρακτήρες. Το API υποστηρίζει αναγνώριση σε πραγματικό χρόνο μέσω CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Η σάρωση γραμμωτού κώδικα αναγνωρίζει γραμμωτούς κώδικες στη ροή βίντεο της κάμερας σε πραγματικό χρόνο. Η ανίχνευση αντικειμένων αναγνωρίζει αντικείμενα σε μια εικόνα με πλαίσιο οριοθέτησης και ετικέτα κλάσης (άτομο, αυτοκίνητο, ζώο). Η ανίχνευση στάσης καθορίζει 33 βασικά σημεία του σώματος για εφαρμογές γυμναστικής και ανάλυσης κίνησης. Η επισήμανση εικόνας επιστρέφει έως και 10 σημασιολογικές ετικέτες εικόνας — "φύση", "πόλη", "φαγητό".
Η Apple παρέχει ενσωματωμένες λύσεις ML μέσω Vision και NaturalLanguage χωρίς εγκατάσταση SDK τρίτων. Vision (VNRequest) εκτελεί ανίχνευση προσώπων, κειμένου, γραμμωτών κωδίκων και περιγραμμάτων στη συσκευή. NaturalLanguage (NLTokenizer) παρέχει tokenization, lemmatization, αναγνώριση γλώσσας και ανάλυση συναισθήματος. Στο Android, τα αντίστοιχα υλοποιούνται μέσω ML Kit (αναγνώριση) και SpeechRecognizer από android.speech (ομιλία). Τα ενσωματωμένα εργαλεία δεν απαιτούν λήψη μοντέλων — είναι προεγκατεστημένα στο σύστημα.
Το Vision περιλαμβάνει VNDetectFaceRectanglesRequest (ανίχνευση προσώπου), VNRecognizeTextRequest (αναγνώριση κειμένου), VNDetectBarcodesRequest (γραμμωτοί κώδικες) και VNDetectHumanBodyPoseRequest (σκελετός). VNCoreMLRequest ενσωματώνει ένα προσαρμοσμένο μοντέλο Core ML στη διοχέτευση Vision — για παράδειγμα, ταξινόμηση συναισθημάτων σε ανιχνευμένα πρόσωπα. Όλα τα αιτήματα εκτελούνται στο Neural Engine με ελάχιστη καθυστέρηση.
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 παρέχει NLTokenizer για διαίρεση κειμένου σε tokens, NLLanguageRecognizer για αναγνώριση γλώσσας (72 γλώσσες) και NLSentimentAnalyzer για ανάλυση συναισθήματος κειμένου. Το SFSpeechRecognizer είναι ένα API αναγνώρισης ομιλίας που υποστηρίζει 50+ γλώσσες στη συσκευή (iOS 13+). Απαιτεί άδεια SFSpeechRecognizerAuthorizationStatus πριν από τη χρήση. Τα αποτελέσματα έρχονται ασύγχρονα μέσω SFSpeechRecognitionResultHandler.
Συχνές ερωτήσεις
ML στη συσκευή (on-device ML) είναι μια προσέγγιση όπου τα μοντέλα μηχανικής μάθησης εκτελούνται απευθείας σε μια κινητή συσκευή χωρίς αποστολή δεδομένων σε διακομιστή. Τα Core ML, TensorFlow Lite και ML Kit είναι τα κύρια πλαίσια για on-device ML.
Core ML είναι το πλαίσιο της Apple για iOS και macOS με επιτάχυνση στο Neural Engine. Το TensorFlow Lite είναι η διαπλατφορμική λύση της Google για Android, iOS και Linux. Το Core ML προσφέρει καλύτερη απόδοση σε συσκευές Apple, το TFLite προσφέρει ευελιξία.
Το ML Kit λύνει τυπικές εργασίες υπολογιστικής όρασης και NLP: αναγνώριση κειμένου, προσώπων, γραμμωτών κωδίκων, αντικειμένων και στάσεων σώματος. Όλα τα API λειτουργούν στη συσκευή χωρίς διαδίκτυο και δεν απαιτούν δημιουργία δικού σας μοντέλου.
Όχι, το on-device ML λειτουργεί εξ ολοκλήρου τοπικά. Τα μοντέλα φορτώνονται στη συσκευή και εκτελούνται χωρίς σύνδεση στο διαδίκτυο. Το ML Kit προσφέρει επίσης εκδόσεις API cloud με υψηλότερη ακρίβεια, αλλά η λειτουργία on-device είναι διαθέσιμη εκτός σύνδεσης.
Για αποκλειστικά iOS, επιλέξτε Core ML — χρησιμοποιεί το Neural Engine και είναι στενά ενσωματωμένο με το οικοσύστημα Apple. Για διαπλατφορμικά έργα, επιλέξτε TensorFlow Lite. Για τυπικές εργασίες χωρίς προσαρμοσμένο μοντέλο, επιλέξτε ML Kit με έτοιμα API.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.