Creating a successful machine learning model is extremely difficult and expensive. Providing the model as a service to other businesses may recoup part of the cost.
Making the World Better, One Small Model at a Time
After some time in the field of machine learning, nearly everyone realizes that accurate models are terribly hard to make. As we shall see, creating APIs out of these models may be the natural conclusion of business involvement in machine learning because it creates additional sources of revenue.
Even relatively simple classification models can take a substantial amount of time to produce if there are no publicly available labeled data sets. Acquiring the data, labeling the entities, and feeding it to the machine model is just a small part of the process. Additionally, most models are not highly accurate for a significant amount of time due to concept drift.
Building more complex models that classify and predict set values by using regression is out of the question for most businesses. Such models might only be within the scope of those most dedicated to machine learning. For the majority of businesses, creating models that can understand human languages will be completely out of the question due to the high resource costs.
Natural Partitioning of Models
The natural partitioning process is a response to the high costs arising from machine learning model production. Two of the primary drawbacks of all current machine learning models are that they are data-inefficient (requiring considerable amounts of data) and fragile (suitable for a very narrow range of tasks). Thus, IT-based businesses are often forced to restrict their machine learning ambitions by tackling smaller, more pressing tasks.
I’ve worked on a project that fell into the trap of ambition. We were attempting to improve public data acquisition through machine learning but had to reduce our target to parsing due to the insurmountable amount of data required for other parts of the process. Then we had to reduce our goal to a specific type of page. After some time, we finally restricted the type of website as well. All this led to a working model, but we quickly realized that we either needed to expand our team significantly or change our goals. The latter seemed to make more business sense.
I think most businesses will go through much of the same. At the current state of the industry, businesses not focused on purely ML applications will probably develop only small-scale solutions that solve key challenges in a particular field. However, these smaller solutions can still have widespread use, they just need to be shared.
Models into APIs
The idea is already out there. Open AI finished the development of GPT-3 (a complex machine learning model that can understand and work with any language task, including creating perfectly readable long-form content) and created an API for access to the model.
Open AI is one of the largest machine learning and artificial intelligence research companies, so it’s not surprising that they would be able to create something universally useful. Turning such a machine learning model into an API is an obvious conclusion, but how about smaller models? Is there good reason to turn them into APIs?
Most businesses indirectly apply the Pareto principle to machine learning model development. Due to the inherent difficulty, finding small, common, high-maintenance problems to solve with machine learning becomes the natural route as resource constraints simply cannot allow for more leeway.
This means that not only is the development of machine learning models naturally partitioned among businesses due to complexity, but the models target recurring industry problems that may be of use to other businesses.
APIs into Solutions
Luckily, to integrate machine learning models into regular day-to-day business processes we don’t need to have some Skynet-level AI take care of every other process. Machine learning model integration can happen incrementally. Of course, over time the incremental approach will lead to many moving parts made from machine learning models. These models might not seem very useful because they will be solving niche problems for specific industries.
However, I think we would be making a grievous mistake assuming that any reasonably accurate model has no scientific or business application. No matter how small the model is, training it is still resource intensive.
For example, to get to a decent level of accuracy in supervised learning, thousands (or tens of thousands) of labeled data points are needed. These labels will usually have to be assigned manually by in-house teams or by contracting outside help. Going through thousands or tens of thousands of identical data points is bound to become boring and painful. Either way, there is a significant cost assigned to the acquisition of data.
Machine learning woes don’t end with training the model. Even assuming that no errors were made in training and everything works perfectly, eventually we will experience concept drift. To continue making accurate predictions as data changes over time, the model should change as well. Concept drift means that all models must be constantly maintained in a continual process instead of being a solution with a clear endpoint.
Therefore, we should always be looking at the possibility of an API. Most machine learning applications will solve small but common and painful industry-related issues, but these solutions come at a significant price. Recouping a part of the price is possible by providing the model as a service to other businesses.
We need to accept the fact that machine learning models will, in most cases, not be “done and dusted.” At some point, updating and maintaining the models will become a necessity. Thus, the end goal should be to develop machine learning models and turn them into APIs as a long-term service. Whether they should be priced or free is up to the businesses producing them, but keeping them private is simply restricting progress in nearly every field of business and science.