[CORE ML][IOS|MACOS] ML Model Deployment Questions

Can one perform model inference on the model deployment page? Or is this just a step in the deployment process to the device? 

Next, does this model storage count towards any of the various storage quotas? 

Does the encrypted ML model get decrypted every time it needs to perform an inference operation on device? Just curious about what's actually is happening on the user's device here.

Finally, is this model deployment process the same for macOS 11?
Answered by Vision Pro Engineer in 614779022
Hi @conradwt. Let me tackle these one at a time.

Can one perform model inference on the model deployment page? Or is this just a step in the deployment process to the device? 

I'm not sure which page you're referring to. If you're referring to https://ml.developer.apple.com, that is a step in the deployment process. Developers bring their pre-trained models here and configure for downloading to devices.

Next, does this model storage count towards any of the various storage quotas? 

Model collections are downloaded and placed into your app's container, so it does associate with those quotas. Downloading collections will also be network attributed to your application.

Does the encrypted ML model get decrypted every time it needs to perform an inference operation on device? Just curious about what's actually is happening on the user's device here.

The model gets decrypted into memory on-demand mostly at the model load time.

Finally, is this model deployment process the same for macOS 11?

Yes, the process is the same.

I believe the model gets decrypted when you instantiate it, and the decrypted version stays in memory until the MLModel object is released or the app is terminated. So it doesn't get decrypted on every single inference operation (that would be very inefficient) but it does get decrypted every time it is loaded.

Hi @conradwt. Let me tackle these one at a time.

Can one perform model inference on the model deployment page? Or is this just a step in the deployment process to the device? 

I'm not sure which page you're referring to. If you're referring to https://ml.developer.apple.com, that is a step in the deployment process. Developers bring their pre-trained models here and configure for downloading to devices.

Next, does this model storage count towards any of the various storage quotas? 

Model collections are downloaded and placed into your app's container, so it does associate with those quotas. Downloading collections will also be network attributed to your application.

Does the encrypted ML model get decrypted every time it needs to perform an inference operation on device? Just curious about what's actually is happening on the user's device here.

The model gets decrypted into memory on-demand mostly at the model load time.

Finally, is this model deployment process the same for macOS 11?

Yes, the process is the same.

Additionally regarding quotas, using Core ML Model Deployment does not count towards your use of CloudKit storage quotas. Service availability and pricing are subject to change.
[CORE ML][IOS|MACOS] ML Model Deployment Questions
 
 
Q