Deploy Core ML Models

Safely control the delivery process of your machine learning models with the Core ML Model Deployment dashboard. You can develop and deploy your models independent of the app release cycle, group and manage models more efficiently, and target model updates to specific device populations. Core ML Model Deployment can also keep models encrypted not only on user devices, but also throughout the entire deployment process.

Independent model updates

Store, manage, and deploy your models through iCloud. Your apps periodically and transparently retrieve updates to the models as they become available, which means you don’t need to redistribute your app just to get new models into users’ hands.

Model collections

Update models individually or in groups. A model collection comprises a single compiled model or a set of related models that you group together to manage and deploy them efficiently. Model collections can be useful, for instance, when you have an app feature that leverages multiple ML models. You can place all of the relevant models for that feature into a collection and, when you want to update the feature, you can update all of the models in the collection simultaneously. When you deploy a collection, the deployment keeps all models together and delivers them to your app as a single group.

Model archives

A Core ML model archive is a compiled model package created by using Xcode model utilities, then uploading the package into a model collection’s deployment using the Core ML Model Deployment dashboard.

Targeted deployments

You can define rules for delivering models so that each user gets only the models they need. For example, you can instruct Core ML Model Deployment to deliver model updates only to iPad devices or only to users in a particular region. Categorize your rules in the following ways:

  • Language code
  • Device class
  • Operating system
  • Operating system version
  • Region code


Model encryption allows you to encrypt your model at source before Core ML Model Deployment delivers the encrypted bits to user devices. Tell Xcode to encrypt your model at build time or use a key to encrypt the model archive when you generate it. Once it’s encrypted, the compiled model stays encrypted in transit and at rest on the user's device.

Get started with your models

Core ML Model Deployment dashboard

Sign in to the Core ML Model Deployment dashboard and create a new model collection. Give the model collection a name and description, and then provide an identifier for each model in the collection.

View the dashboard

Generating a model archive

Create an archive file that contains a compiled model that you upload to a model collection’s deployment.

Read the article

Creating and deploying a model collection

Send models to users’ devices without submitting an app update.

Read the article