Apple’s Core ML: The pros and cons

Matt Asay |
June 19, 2017

Apple’s impressive iOS machine learning technology teeters between its limits and its ease of adoption by developers.

Even as the public clouds duke it out for machine learning supremacy, Apple just changed the game. With the introduction of Core ML, Apple has moved the goalposts, pushing the benefits of machine learning into devices, thereby saving battery life and improving performance. Machine learning, in other words, isn’t some light frosting on application code.

Machine learning that just works on the devices we all use

Machine learning depends on large sets of training data. Once you’ve figured out the predictive model, you need to feed machines copious quantities of data that train them to “understand” the data and fine-tune the model. Because such training sets require so much data (and so much compute power to crunch it), machine learning has mostly been a cloud thing.

With its introduction of Core ML, however, Apple is pushing machine learning onto its devices (including, if the iPhone 8 rumors are true, an AI-dedicated chip for the upcoming smartphone). While Apple would continue to need to do the initial heavy lifting of machine learning in the cloud, there are significant benefits to pushing its machine learning models to its devices. As Apple said:

Core ML is optimized for on-device performance, which minimizes memory footprint and power consumption. Running strictly on the device ensures the privacy of user data and guarantees that your app remains functional and responsive when a network connection is unavailable.

Apple has made it exceptionally easy for developers to get started with machine learning. According to developer Matthijs Holleman, who dubs Core ML “machine learning for everyone,” the process for getting started couldn’t be more straightforward: “You simply drop the mlmodel file into your project, and Xcode will automatically generate a Swift or Objective-C wrapper class that makes it really easy to use the model.”

Just as important, the feedback loop is fast. How fast? As developer Said Ozcan gushes, “It was amazing to see the prediction results immediately without any time interval.”

That’s the good news.

Core ML is not quite the bees’ knees

There are no provisions within Core ML for model retraining or federated learning, where data collected from the field is used to improve the accuracy of the model. That’s something you would have to implement by hand, most likely by asking app users to opt in for data collection and using that data to retrain the model for a future edition of the app.