Core ML : Le Guide Complet du Machine Learning On-Device
Maîtrisez Core ML de A à Z : architecture, Create ML, conversion de modèles PyTorch/TensorFlow, intégration Vision et Natural Language, optimisation performance, et cas d'usage avancés pour iOS 26.

Environnement de test
Cet article a été rédigé et validé avec l'environnement suivant :
- Xcode 26
- Swift 6.2
- iOS 26.2 sur iPhone 15 Pro
- macOS Tahoe 26 sur MacBook Pro M4 Max
Introduction au Machine Learning On-Device
Le Machine Learning on-device représente une révolution dans la façon dont nous concevons les applications mobiles. Plutôt que d'envoyer des données vers des serveurs distants pour traitement, les modèles s'exécutent directement sur l'appareil de l'utilisateur.
Pourquoi le ML On-Device ?
Quatre avantages majeurs justifient cette approche :
Privacy by Design : Les données ne quittent jamais l'appareil. Pour des applications manipulant des informations sensibles (santé, finances, données biométriques), c'est un argument décisif. Aucune donnée ne transite par des serveurs tiers, éliminant les risques de fuite.
Latence minimale : Sans aller-retour réseau, l'inférence s'exécute en quelques millisecondes. Pour des applications temps réel comme la détection d'objets en réalité augmentée ou l'analyse vocale, cette réactivité est cruciale.
Fonctionnement offline : L'application reste pleinement fonctionnelle sans connexion internet. Que l'utilisateur soit dans un avion, un tunnel ou une zone blanche, le ML continue de fonctionner.
Réduction des coûts : Pas de serveurs d'inférence à maintenir, pas de bande passante à payer. Le coût marginal par utilisateur devient quasi nul une fois l'application déployée.
L'avantage des puces Apple Silicon
Apple a conçu son hardware pour le ML on-device. Chaque appareil moderne dispose de trois unités de calcul optimisées :
Le Neural Engine (ANE) est le composant clé. Sur les puces M4, il atteint 38 TOPS (trillions d'opérations par seconde). Pour les modèles optimisés, l'ANE offre le meilleur ratio performance/consommation énergétique.
Le GPU excelle pour les opérations matricielles massives et les modèles très larges. Il reste pertinent pour les LLM et les modèles de diffusion comme Stable Diffusion.
Le CPU sert de fallback universel et gère efficacement les petits modèles ou les opérations non supportées par l'ANE.

Écosystème Apple : CoreML vs Foundation Models vs Create ML
Apple propose plusieurs frameworks complémentaires. Voici comment choisir :
| Framework | Usage principal | Quand l'utiliser |
|---|---|---|
Core ML | Exécution de modèles ML | Modèles custom, vision, son, prédiction |
Foundation Models | LLM on-device d'Apple | Génération de texte, résumé, analyse sémantique |
Create ML | Entraînement de modèles | Création de classifieurs, détecteurs sans code Python |
Vision | Analyse d'images | Détection visages, texte, objets, poses |
Natural Language | Analyse de texte | Sentiment, entités, classification texte |
Speech | Reconnaissance vocale | Transcription, commandes vocales |
Arbre de décision : quel framework choisir ?

Architecture Core ML
Core ML est le moteur d'inférence unifié d'Apple. Il abstrait la complexité du hardware et optimise automatiquement l'exécution des modèles.
Structure d'un modèle Core ML
Un modèle Core ML existe sous deux formats :
.mlmodel : Format legacy, compilation à l'exécution. Encore supporté mais déprécié pour les nouveaux projets.
.mlpackage : Format moderne (iOS 15+). Package contenant le modèle optimisé, les métadonnées, et les assets. Compilation anticipée possible.
MLModel : le cœur du framework
MLModel encapsule toutes les informations et fonctionnalités du modèle :
MLFeatureProvider : gestion des entrées/sorties
Les données transitent via le protocole MLFeatureProvider. Vous pouvez utiliser les implémentations standard ou créer la vôtre :
MLPredictionOptions : contrôle fin de l'inférence
Compute Units et stratégies de déploiement
Le choix des compute units impacte directement les performances :
Nouveautés iOS 26 pour Core ML
iOS 26 apporte plusieurs améliorations significatives :
MLTensor : Nouveau type pour simplifier le code de "stitching" entre modèles. Plus besoin de manipuler manuellement les MLMultiArray.
Stateful Models : Support amélioré pour les modèles avec état interne (KV-cache pour LLM).
Performance optimizations : Améliorations automatiques sur iOS 26, sans modification de code.
Create ML : entraînement sans code Python
Create ML est l'outil Apple pour créer des modèles Core ML sans écrire de code Python. Disponible comme application macOS et comme framework Swift.
Create ML App : l'interface graphique
L'application Create ML (incluse avec Xcode) permet d'entraîner visuellement :
- Ouvrez Create ML depuis Xcode → Open Developer Tool → Create ML
- Créez un nouveau projet selon le type de tâche
- Importez vos données d'entraînement
- Entraînez et évaluez le modèle
- Exportez au format
.mlmodelou.mlpackage
- Exportez au format
Types de tâches supportées
Create ML couvre un large spectre de tâches ML :
| Tâche | Description | Données requises |
|---|---|---|
Image Classification | Catégoriser des images | Dossiers d'images par classe |
Object Detection | Détecter et localiser des objets | Images + annotations JSON |
Style Transfer | Appliquer un style artistique | Image de style + images de contenu |
Text Classification | Catégoriser du texte | Fichier CSV/JSON texte + label |
Word Tagging | Annoter des mots | Texte + annotations par mot |
Tabular Classification | Classifier des données tabulaires | CSV avec features + label |
Tabular Regression | Prédire une valeur numérique | CSV avec features + target |
Recommendation | Suggérer des items | Interactions utilisateur-item |
Sound Classification | Classifier des sons | Fichiers audio par classe |
Activity Classification | Classifier des mouvements | Données capteurs + labels |
Entraînement programmatique avec CreateML framework
Pour plus de contrôle, utilisez le framework CreateML :
Classification de texte
Détection d'objets
Conseils pour l'entraînement sur M4 Max
L'Apple Silicon M4 Max est idéal pour l'entraînement local :
- Mémoire unifiée : Les 128 Go de RAM partagés entre CPU et GPU permettent d'entraîner des modèles volumineux sans pagination.
- Neural Engine : Utilisé pour l'inférence durant la validation, accélérant le feedback loop.
- Optimisation thermique : Pour les entraînements longs, surveillez la température avec :
- Batch size : Sur M4 Max avec 128 Go, vous pouvez augmenter le batch size pour accélérer l'entraînement :
Import de modèles externes
La plupart des modèles ML sont entraînés en Python avec PyTorch ou TensorFlow. Core ML Tools permet de les convertir au format Core ML.
Installation de coremltools
Conversion depuis PyTorch
PyTorch est le framework le plus utilisé. La conversion s'effectue en deux étapes : traçage du modèle puis conversion.
Conversion depuis TensorFlow/Keras
“Note de compatibilité : coremltools 9.0 est officiellement testé avec TensorFlow 2.12. Les versions récentes (2.15+) présentent des incompatibilités. Recommandation : privilégiez PyTorch ou passez par ONNX pour les modèles TensorFlow récents.”
Alternative via ONNX (pour TensorFlow 2.15+) :
Conversion depuis ONNX
ONNX (Open Neural Network Exchange) est un format intermédiaire supporté par de nombreux frameworks.
Exemple avec un modèle Hugging Face
Convertissons un modèle populaire de classification d'images depuis Hugging Face :
Bonnes pratiques et pièges courants
1. Toujours mettre le modèle en mode évaluation
2. Gérer les sorties multiples (dictionnaires)
3. Attention aux opérations non supportées
Certaines opérations PyTorch n'ont pas d'équivalent Core ML. Utilisez les composite ops :
4. Vérifier la précision après conversion
Vision Framework + Core ML
Le framework Vision simplifie l'utilisation de Core ML pour l'analyse d'images. Il gère automatiquement le preprocessing et le postprocessing.
VNImageRequestHandler et VNCoreMLRequest
Détection d'objets avec Vision
Reconnaissance de texte (OCR) intégrée
Vision inclut un puissant moteur OCR sans nécessiter de modèle externe :
Détection de visages et points de repère
“Note privacy : Cette détection de visages peut être combinée avec CryptoKit pour anonymiser automatiquement les zones sensibles avant tout traitement ML. Les coordonnées sont hashées et les zones floutées, garantissant la conformité RGPD.”

Natural Language + Core ML
Le framework Natural Language offre des capacités NLP avancées, utilisables seules ou avec des modèles Core ML custom.
NLModel pour classification de texte
Analyse de sentiment native
Named Entity Recognition (NER)
Tokenisation et analyse linguistique
Speech + Core ML
Le framework Speech permet la reconnaissance vocale on-device, combinable avec Core ML pour des pipelines avancés.
Reconnaissance vocale on-device
Combinaison Speech + Natural Language
Un exemple pratique : transcrire puis analyser le sentiment d'un message vocal.
Optimisation et performance
L'optimisation des modèles Core ML est cruciale pour offrir une expérience utilisateur fluide tout en préservant la batterie.
Quantization : réduire la taille du modèle
La quantization réduit la précision des poids du modèle, diminuant drastiquement la taille et accélérant l'inférence.
Palettization : compression avancée
La palettization (iOS 17+) remplace les poids par des index vers une table de couleurs, similaire à la compression d'images.
Pruning : élagage des poids
Le pruning met à zéro les poids peu significatifs, permettant une compression supplémentaire.
Combinaison des techniques (iOS 18+)
iOS 18 permet de combiner pruning et quantization/palettization pour une compression maximale :
Benchmarking avec Instruments
Xcode Instruments permet de profiler précisément l'exécution des modèles Core ML.
Profiling sur device vs simulateur
Le simulateur ne représente pas fidèlement les performances réelles :
Trade-off : taille vs précision vs latence
Voici un guide pour choisir la bonne stratégie d'optimisation :
| Priorité | Technique recommandée | Impact |
|---|---|---|
Taille minimale | Quantization 4-bit + Pruning 50% | -90% taille, -15% précision |
Latence minimale | Quantization 8-bit + Neural Engine | -5% précision, 2-3x plus rapide |
Précision maximale | FP16 uniquement | -50% taille, précision identique |
Équilibré | Quantization 8-bit | -75% taille, -2% précision |
On-device training
Core ML permet d'entraîner et personnaliser des modèles directement sur l'appareil, sans envoyer de données vers le cloud.
MLUpdateTask : personnalisation sans cloud
Exemple : personnalisation d'un classifieur
Limites et considérations
L'entraînement on-device a des contraintes importantes :
1. Modèles supportés : Seuls les modèles marqués comme "updatable" lors de la conversion peuvent être entraînés.
2. Données limitées : L'entraînement on-device est conçu pour le fine-tuning avec peu de données (dizaines à centaines d'exemples), pas pour l'entraînement from scratch.
3. Durée de la batterie : L'entraînement consomme beaucoup d'énergie. Privilégiez les moments où l'appareil est en charge.
4. Vie privée : Les données restent sur l'appareil, mais le modèle mis à jour peut potentiellement encoder des informations sur les données d'entraînement.
Cas d'usage avancés
Santé : classification d'images médicales
L'analyse d'images médicales on-device offre une confidentialité totale des données patient.
Anonymisation de données confidentielles
Pipeline combinant Core ML (détection PII) et CryptoKit (chiffrement) pour sécuriser les logs applicatifs.
Pipeline hybride : Core ML + Foundation Models
Combinaison de Vision (OCR) et Foundation Models (iOS 26) pour analyser et résumer des documents.

“Pour aller plus loin avec Foundation Models : consultez notre article dédié Foundation Models API : Le Guide Complet pour approfondir l'utilisation des LLM on-device d'Apple.”
Pour aller plus loin
Documentation officielle Apple
- Core ML Documentation — Référence complète du framework
- Create ML Documentation — Guide d'entraînement de modèles
- Vision Framework — Analyse d'images et vidéos
- Natural Language Framework — Traitement du langage naturel
- Speech Framework — Reconnaissance vocale
Ressources de conversion
- coremltools Documentation — Guide officiel de conversion
- coremltools GitHub — Code source et issues
- ML Model Gallery — Modèles pré-entraînés Apple
Sessions WWDC recommandées
Hugging Face + Core ML
- swift-transformers — Bibliothèque Swift pour les transformers
- coreml-community — Modèles Core ML sur Hugging Face
- Blog Hugging Face - Mistral Core ML — Tutoriel LLM on-device
Articles Atelier Socle connexes
- Foundation Models API : Le Guide Complet — LLM on-device avec iOS 26
- CryptoKit : Sécurité et Chiffrement — Chiffrement des données sensibles
- Swift 6.2 : Les Nouveautés — Dernières évolutions du langage
Conclusion
Core ML est le pilier du machine learning on-device dans l'écosystème Apple. Avec iOS 26, les possibilités s'étendent encore :
- Performance : Le Neural Engine M4 et les optimisations iOS 26 offrent des performances inégalées
- Privacy : Les données restent sur l'appareil, conformément aux exigences RGPD les plus strictes
- Intégration : Vision, Natural Language et Speech s'intègrent parfaitement avec vos modèles custom
- Évolutivité : L'on-device training permet une personnalisation continue sans cloud
Que vous convertissiez un modèle PyTorch existant ou que vous entraîniez directement avec Create ML, Core ML simplifie le déploiement du ML dans vos applications iOS.
La combinaison avec Foundation Models (iOS 26) ouvre de nouvelles perspectives pour des pipelines hybrides alliant vision, texte et génération. L'avenir du ML est résolument on-device.