ML sur l'appareil (on-device ML) — exécution de modèles d'apprentissage automatique directement sur l'appareil mobile sans envoyer de données vers un serveur. Selon un rapport de Google AI, 2025, plus de 70 % des utilisateurs préfèrent les applications avec on-device ML en raison de la confidentialité et de l'absence de latence réseau. Core ML d'Apple, TensorFlow Lite de Google et ML Kit permettent de résoudre des tâches de Vision, NLP, reconnaissance faciale et d'objets entièrement sur l'appareil — sans Internet et avec une consommation d'énergie minimale.
Points clés
Le ML sur l'appareil (on-device ML) est une approche où les modèles d'apprentissage automatique sont exécutés directement sur l'appareil mobile sans envoyer de données vers un serveur distant. Confidentialité est l'avantage clé : les données utilisateur ne quittent jamais l'appareil. Selon une étude de Google (2024), 63 % des utilisateurs refusent les fonctions ML qui nécessitent l'envoi de données vers un serveur. On-device ML élimine la latence réseau, fonctionne hors ligne et réduit la consommation d'énergie grâce à l'accélération matérielle.
On-device ML traite les données en millisecondes au lieu de secondes — crucial pour la reconnaissance faciale et d'objets en temps réel. Aucune connexion Internet requise est un autre avantage : les fonctions ML sont disponibles en mode avion et dans les régions à connectivité instable. Core ML utilise le Neural Engine dans les puces Apple A12+, fournissant 11 billions d'opérations par seconde avec une consommation inférieure à 1 W. Pour les applications mobiles, on-device ML est devenu le standard de facto pour les tâches de Vision, NLP et reconnaissance d'objets.
Le ML dans les applications mobiles est utilisé pour l'authentification faciale (Face ID), les filtres AR dans Snapchat et Instagram, les trackers fitness avec Pose Detection, le scan OCR dans Adobe Scan et la saisie prédictive dans les claviers. Les modèles personnalisés pour des tâches spécifiques sont créés via Core ML (iOS) ou TensorFlow Lite (Android). ML Kit convient aux scénarios typiques — reconnaissance de texte, visages et codes-barres sans avoir à entraîner un modèle.
Core ML est le framework d'Apple pour exécuter des modèles ML sur iPhone, iPad, Mac et Apple Watch. Il sélectionne automatiquement l'accélération matérielle optimale : Neural Engine pour les réseaux de neurones sur les appareils avec A12+ (11 TOPS), GPU pour les tâches de traitement d'images et CPU pour les calculs séquentiels. Core ML prend en charge les formats .mlmodel (original) et .mlmodelc (compilé). La conversion de modèles depuis PyTorch et TensorFlow se fait via coremltools — une bibliothèque Python qui préserve la topologie et les poids.
Create ML est l'application d'Apple pour entraîner des modèles simples sans écrire de code. Pour la production, on utilise coremltools — un outil de conversion depuis PyTorch, TensorFlow et scikit-learn. Coremltools prend en charge la quantification float32 → float16 et int8, la palettisation de l'espace colorimétrique et la suppression des opérations redondantes pour réduire la taille du modèle.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Le Neural Engine est un neuroprocesseur spécialisé dans les puces Apple A12 et plus récentes. 16 cœurs effectuent jusqu'à 11 billions d'opérations par seconde avec une consommation inférieure à 1 W. Core ML achemine automatiquement les calculs des réseaux de neurones vers le Neural Engine et les calculs compatibles GPU vers Metal GPU. Le développeur n'a pas besoin de choisir l'appareil — Core ML le fait via Performance Report, en analysant le modèle et le matériel disponible.
TensorFlow Lite (TFLite) est la solution multiplateforme de Google pour exécuter des modèles ML sur Android, iOS et Linux. Les modèles sont au format .tflite et sont créés via TFLiteConverter de l'écosystème TensorFlow. TFLite prend en charge la quantification float32 → int8, ce qui réduit la taille du modèle par 4 tout en conservant 97–99 % de précision sur les tâches de classification. Google Play Services for TFLite met à jour automatiquement l'exécution sans nécessiter de nouvelle version de l'application.
TFLiteConverter est l'outil principal pour convertir les modèles TensorFlow au format .tflite. La quantification int8 post-entraînement compresse un modèle de 300 Mo à 75 Mo sans accès à l'ensemble complet des données. L'entraînement conscient de la quantification (QAT) offre une perte de précision minimale — moins de 1 % sur ImageNet. TFLiteConverter prend également en charge l'élagage du graphe et la suppression des opérations non supportées par l'exécution 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()
Sans délégation, TFLite exécute le modèle sur CPU 3 à 5 fois plus lentement qu'avec une accélération matérielle. GPU Delegate utilise OpenCL et OpenGL ES 3.1 sur Android, Core ML Delegate utilise Neural Engine sur iOS. NNAPI Delegate exploite NPU et DSP sur Android 8.1+. XNNPACK Delegate fournit une accélération multiplateforme sur CPU ARM avec des optimisations pour les processeurs mobiles. Pour sélectionner une délégation, utilisez TfLiteGpuDelegate.create() avec une vérification null du résultat.
ML Kit est le SDK de Google avec des API prêtes à l'emploi pour le on-device ML. Dans les applications mobiles, ML Kit est utilisé pour la reconnaissance de texte (plus de 50 langues, y compris l'écriture manuscrite), Face Detection (468 points clés du visage), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) et Object Detection. Toutes les API fonctionnent entièrement sur l'appareil sans Internet. ML Kit est disponible sur iOS et Android avec une API unifiée.
Face Detection retourne les coordonnées du contour du visage, des sourcils, des yeux, du nez et des lèvres, ainsi que l'angle d'inclinaison de la tête et l'état des yeux. Les masques AR et les filtres d'appareil photo sont le cas d'utilisation le plus populaire. Text Recognition extrait le texte des photos avec une précision allant jusqu'à 99 % sur les caractères imprimés. L'API prend en charge la reconnaissance en temps réel via CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Barcode Scanning reconnaît les codes-barres dans le flux vidéo de la caméra en temps réel. Object Detection identifie les objets dans une image avec une boîte englobante et une étiquette de classe (personne, voiture, animal). Pose Detection détermine 33 points clés du corps pour les applications de fitness et l'analyse de mouvement. Image Labeling retourne jusqu'à 10 étiquettes sémantiques d'image — « nature », « ville », « nourriture ».
Apple fournit des solutions ML intégrées via Vision et NaturalLanguage sans installer de SDK tiers. Vision (VNRequest) effectue la détection de visages, de texte, de codes-barres et de contours sur l'appareil. NaturalLanguage (NLTokenizer) fournit la tokenisation, la lemmatisation, l'identification de langue et l'analyse de sentiment. Sur Android, les équivalents sont implémentés via ML Kit (reconnaissance) et SpeechRecognizer de android.speech (parole). Les outils intégrés ne nécessitent pas de téléchargement de modèles — ils sont préinstallés dans le système.
Vision inclut VNDetectFaceRectanglesRequest (détection de visages), VNRecognizeTextRequest (reconnaissance de texte), VNDetectBarcodesRequest (codes-barres) et VNDetectHumanBodyPoseRequest (squelette). VNCoreMLRequest intègre un modèle Core ML personnalisé dans le pipeline Vision — par exemple, la classification des émotions sur les visages détectés. Toutes les requêtes sont exécutées sur le Neural Engine avec une latence minimale.
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 fournit NLTokenizer pour diviser le texte en tokens, NLLanguageRecognizer pour l'identification de la langue (72 langues) et NLSentimentAnalyzer pour l'analyse de sentiment du texte. SFSpeechRecognizer est une API de reconnaissance vocale prenant en charge plus de 50 langues sur l'appareil (iOS 13+). Nécessite l'autorisation SFSpeechRecognizerAuthorizationStatus avant utilisation. Les résultats arrivent de manière asynchrone via SFSpeechRecognitionResultHandler.
Foire aux questions
ML sur l'appareil (on-device ML) est une approche où les modèles d'apprentissage automatique sont exécutés directement sur un appareil mobile sans envoyer de données vers un serveur. Core ML, TensorFlow Lite et ML Kit sont les principaux frameworks pour le on-device ML.
Core ML est le framework d'Apple pour iOS et macOS avec accélération sur Neural Engine. TensorFlow Lite est la solution multiplateforme de Google pour Android, iOS et Linux. Core ML offre de meilleures performances sur les appareils Apple, TFLite offre la polyvalence.
ML Kit résout les tâches typiques de vision par ordinateur et NLP : reconnaissance de texte, visages, codes-barres, objets et postures corporelles. Toutes les API fonctionnent sur l'appareil sans Internet et ne nécessitent pas la création de votre propre modèle.
Non, le on-device ML fonctionne entièrement localement. Les modèles sont chargés sur l'appareil et exécutés sans connexion Internet. ML Kit propose également des versions cloud des API avec une meilleure précision, mais le mode on-device est disponible hors ligne.
Pour iOS uniquement, choisissez Core ML — il utilise le Neural Engine et est étroitement intégré à l'écosystème Apple. Pour les projets multiplateformes, choisissez TensorFlow Lite. Pour les tâches typiques sans modèle personnalisé, choisissez ML Kit avec ses API prêtes à l'emploi.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.