Training a machine learning model on a Mac hasn’t been easy. There are open source frameworks that run on a Mac CPU. But trying to accelerate training with a GPU meant using Nvidia hardware most likely on a Linux box.
With Create ML, Apple isn’t aiming for parity with these data science packages. Create ML takes the tangle of algorithmic detail that comes with machine learning and encapsulates it away. The result is an astonishingly simple training environment that is hardware-accelerated for the Mac.
Drag your training data in then drag your trained model out using three lines of Swift.
import CreateMLUI
let builder = MLImageClassifierBuilder()
builder.showInLiveView()
This reminds me of the iPod. Late to the party when it was introduced to the market in 2001, that didn’t stop it from becoming a success. Apple has a knack for targeting technology that is locked behind a “chain of pain”. Remove that pain and the technology becomes accessible to a wider group of people. It’s a strategy that runs deep in the Apple play book.
“Any time you have a device that is hard to use, but has a high potential for usage, you raise just huge flags for Steve Jobs. It’s like waving a red flag in front of a bull. All of a sudden he sees something and says, wait a minute, if we do this really right, we can own it.”
What do we loose when algorithmic detail disappears from a machine learning environment? For a lot of data scientists those details are where the opportunity for innovation is. In a community that lives on the bleeding edge, a few percentage points of accuracy is a big deal.
To be clear, Metal Performance Shaders also offer training capabilities. There is customization and gradients galore at that level of detail if that’s your cup of tea. Core ML is Apple’s deployment engine for machine learning and also offers customization.
For many developers though, bleeding-edge accuracy is not the goal. Just being able take my own data and easily go from zero to any kind of accuracy in the ninety percent range is an astonishing development. For many applications, developing a custom model is now reduced to an exercise of gathering and grooming training data. The machine learning technology itself is no longer a barrier.
Less training detail in Create ML also means more room for Apple to experiment under the hood. It’s a separation of concerns between applications and machine learning that will likely prove useful - particularly when you consider Apple’s ability to innovate and optimize its lineup of hardware.