Core ML Training and Personalization
Two different ways to train a Core ML model that developers often mix up: Create ML trains a new model from your data, and MLUpdateTask adapts a model you've already shipped to each user's data, on their device.
When to Use
Use this skill when you're:
- Training an image, sound, text, or tabular model without writing a training loop
- Choosing between the Create ML app and the
CreateMLframework - Making each user's copy of a model adapt to their own data, on-device
- Planning on-device personalization for a model you converted to
.mlpackage, whichMLUpdateTaskcan't update
Example Prompts
Questions you can ask your assistant that will draw from this skill:
- "How do I train an image classifier from a folder of labeled photos?"
- "Can I train a Create ML model on iPhone, or only on a Mac?"
- "How do I personalize my model on the user's device with their data?"
- "Why can't I use
MLUpdateTaskwith my converted PyTorch model?" - "Training freezes my app's UI. How do I run it without blocking?"
What This Skill Provides
- Create ML – The app and the
CreateMLframework, the model types each supports, and which ones train on iOS, iPadOS, and visionOS as well as macOS - Programmatic training – Data sources, exporting a
.mlmodel, and the async training session that keeps a long run off the main thread - On-device personalization – How
MLUpdateTaskretrains a deployed model's last layers on a user's data and saves the result - The NN-spec limitation – Why
MLUpdateTaskonly updates NeuralNetwork-format models, not the ML Program (.mlpackage) models modern conversion produces, and what that means before you build a pipeline - A boundary table – How Create ML,
MLUpdateTask, Foundation Models adapters, and model conversion differ
Documentation Scope
This page documents the coreml-training skill (in the axiom-ai suite), which your assistant loads when you train or personalize a Core ML model. Training a custom adapter for Apple's built-in language model is a different toolchain, covered by foundation-models-adapters.
Related
- ios-ml – The hub that routes Core ML work to conversion, compression, training, and deployment
- training-paths – Choosing among Create ML,
MLUpdateTask, adapters, and the other training toolchains before you build - coreml-conversion – Converting a model you trained elsewhere instead of training it with Create ML
- coreml-compression – Shrinking a trained model before you ship it
Resources
WWDC: 2018-703, 2019-430, 2019-704, 2021-10037, 2024-10183
Docs: /createml, /createml/mlimageclassifier, /coreml/mlupdatetask, /coreml/mlupdatecontext