Create ML - Machine Learning in Swift???

Jul 11, 2018 9:06:00 AM

Create ML - Machine Learning in Swift___The news around machine learning (ML) just keeps getting better, as new and improved tools and techniques become available and more developers (not just computer science PhDs) can gain experience developing ML-based apps. The latest: Apple recently announced the release of the Create ML framework, a set of methods that developers can use to create and train ML models using Apple’s well-known Swift programming environment.

Create ML and the Evolution of Apple’s ML Offerings

Apple’s foray into the world of ML development support began over a year ago with Core ML, which enables the integration of trained ML models into iOS apps. However, the creation and training of an ML model depended on third-party tools such as IBM’s Watson Services platform. Until now, Apple has never had an end-to-end development framework for creating, training, evaluating, and deploying ML models within the Apple ecosystem.

Create ML fills that gap. What’s more, by training an ML model in the Swift Playgrounds environment, the training and evaluation steps can take place right on the developer’s local machine. There’s even a GUI interface that enables developers to train the model by dragging and dropping training data files. All of the details, such as the algorithms used and the design of the underlying artificial neural network (ANN), are hidden from the developer. Create ML includes methods for training models using image data, audio data, text, tabular data, and more.

Pros and Cons

Create ML presents both advantages and disadvantages for ML model development.

  • Pro: It’s almost pathetically easy to use. Using only a few lines of Swift code, a developer can start training a model with locally stored data.
  • Con: Most, perhaps all, standalone Mac laptop and desktop machines lack the computing horsepower to process enough data to run a meaningful training cycle. Even if the computer has access to immense storage resources, processing it all would take a prohibitively long time.
  • Pro: By keeping the model creation and training tasks within the Apple development ecosystem, the learning curve is much gentler for most developers who don’t have to learn to use any third-party ML development tools.
  • Con: By hiding the details of the ANNs and algorithms from the developer, there is no opportunity to tweak them to optimize the model.

A Solution in Search of a Problem?

Some commentators have pointed out that properly training an ML model to an acceptable performance level requires much more storage and number-crunching resources than a typical Mac (or any PC) can bring to bear. Consider object recognition in images: training a model to distinguish, for example, images containing pineapples from those not containing pineapples might require hundreds of thousands of tagged images. If those images are at a high enough resolution to be useful to the model’s image-processing algorithms, the storage requirements alone could run to hundreds of gigabytes or more, and processing all those images on a quad-core PC CPU would be painfully slow. For this reason, model training is typically done using cloud resources rather than local, standalone PCs. Thus, Create ML may be a solution in search of a problem.

However, that may be beside the point of Create ML. By making ML creation and training accessible to “average” iOS developers (here defined as those who lack specialized training or knowledge in artificial intelligence technologies), Create ML enables them to get their feet wet with ML technologies and techniques. As they become familiar and comfortable with ML, they may “graduate” to more robust tools such as TensorFlow and Watson Services, thus enabling to go from “playing around with ML” to building apps that have an acceptable performance level (read: accuracy) to address real-world needs.

In any case, a tool that simplifies ML development in the Apple ecosystem or any other can’t be a bad thing, even if the results aren’t quite good enough to power a saleable app. Machine learning is going to be an increasingly important component of everyday apps, and there will be a high demand for developers with ML experience. Create ML provides a good introduction to iOS developers who want to get in on the action.

At AndPlus, although we are already familiar with more robust ML development tools, we are intrigued by the Create ML framework and have been trying it out. We are eager to apply ML to address real-world problems that traditional programming simply can’t solve. Let’s see what ML can do for you!

Learn More!

Abdul Dremali

Written by Abdul Dremali

Head of Innovation - Abdul is currently leading research & development in Artificial Intelligence, Machine Learning and Augmented Reality at the AndPlus Innovation Lab.

Lists by Topic

see all