Want to implement machine learning at your enterprise, but don’t have the full-stack AI teams that Google and Amazon do?
AutoML refers to techniques and tools which automate parts of the machine learning process, ranging from data collection and cleaning, to model development and testing, to production deployment and scaling. While the umbrella term does refer to a wide array of functionality, it’s most commonly used to refer to automated model selection and / or hyperparameter optimization.
Producing a successful enterprise-scale machine learning or data product is a huge challenge and requires specialized skillsets. That’s why AutoML solutions have become increasingly popular in recent months.
While AutoML does make aspects of the machine learning process easier, there is also a ton of hype and misinformation about what AutoML can and cannot do.
If this series is useful for you, you can subscribe to receive more enterprise AI education.
How does ML development differ from traditional software development?
Traditional software development:
Traditional software development involves human engineers designing, implementing, and maintaining features. A typical software development lifecycle (SDLC) might look like this:
- starts with defining functional requirements for a product;
- follows with the development of viable prototypes based on the specified requirements;
- includes QA testing of the best candidate;
- proceeds with the deployment of the final product and continuous maintenance.
Over time, these systems typically become very complex with multiple interdependencies and integrations. Manual management and update of different components can result in inconsistencies and bugs.
Machine learning models:
Machine learning model development is a significantly more iterative and less predictable process than traditional software development since the models learn from data rather than specific human instruction. Some of the biggest challenges in machine learning include identifying what appropriate performance targets for a project should be, how to gather and prepare the right data, and how to iterate if your model performance is not meeting your requirements.
In contrast to traditional software, machine learning models:
- extrapolate important features and patterns in data and leverage mathematical models based on these insights;
- are defined by machine learning methods rather than human-written code;
- can be updated with additional functionality by simply re-training with new data;
- include possible benefits like ease of management, increased homogeneity, and higher portability;
- can be too complex for humans to comprehend how they work (i.e., black box) and contain unintended behavior or biases.
Traditional software development is not going away, but it’s critical to understand how ML development differs.
What AutoML Can Do?
AutoML solutions can help companies automate a part of the machine learning process. The steps that can be automated with AutoML include:
- Data preparation: data cleaning, transforming, normalizing.
- Feature engineering: engineering new features from the existing ones when it makes sense, selecting features to include into the model.
- Algorithm selection: selecting the model that works best with available data.
- Hyperparameter optimization: tuning the most important hyperparameters for each model.
- Model deployment: putting the best-performing model into action.
It’s quite rare that one AutoML solution automates all these steps – usually, the focus is on either model selection or model deployment.
And finally, there is one thing that AutoML definitely cannot do – it never replaces domain expertise.
So, what AutoML solutions are available now?
Here are free, open-source AutoML frameworks and tools:
Here are AutoML tools which offer both free and paid tiers:
And here we’ve gathered paid, enterprise AutoML solutions:
Did you enjoy this AutoML overview? Subscribe below to receive our regular industry updates.
Here’s a Deep Dive on How to Evaluate AutoML for Model Development
As a beginner, you may not know how to evaluate the plethora of AutoML options on the market. Rachel Thomas, fast.ai co-founder has a great series of articles that will help you develop a framework for considering the pros and cons of common AutoML approaches, with a focus on model development and architecture search.
Before you can understand what AutoML does and evaluate AutoML solutions, you need to understand what ML engineers actually do to produce enterprise-scale data products.
Thomas uses the term AutoML to refer to automated model selection and hyperparameter tuning. In this article, she highlights different approaches to neural architecture search specifically and suggests that not all problems require entirely new models developed.
Rather than develop brand new models for each new problem you want to solve with machine learning, Thomas contends that everyday practitioners can use transfer learning as opposed to computationally expensive neural architecture search.
Enjoy this article? Sign up for more enterprise AI education.
We’ll let you know when we release more educational articles covering different enterprise AI topics.