When is construction better than buying an off-the-shelf solution?
Companies can take different approaches to model development. From fully managed ML services to custom models. Depending on business requirements, available expertise, and design constraints, they have to make a choice: should they develop customized solutions from scratch? Or should they opt for an off-the-shelf service?
At all stages of the ML workload, a decision must be made as to how the pieces of the puzzle fit together. From data collection, preparation and visualization to design, model training and evaluation, machine learning engineers repeatedly ask the same question: Is it a custom solution, written and developed from scratch? Or will it be a ready-made service?
But when is construction better than buying an off-the-shelf solution? The main distinguishing factors between these two approaches are: pre-processing, speed of development and required expertise.
Things to consider when deciding to use ready-made machine learning models?
Pre – treatment operations
ML projects face all kinds of challenges, but perhaps the biggest challenge is the availability of training data. Lack of training information can stop a project before it even starts. Before a project even begins, it can have significant pre-processing costs for data collection, labeling data, cleaning, and pre-processing. This is a well-known trap where many ML projects fail: pretreatment ultimately consumes 80% of the allocated resources, while there are few resources left for the actual model training and evaluation.
Finished product solutions alleviate pre-treatment stresses. They are built to perform the most common functions with little configuration required. The best of them are: There are ready-made solutions at every stage of the ML workload.
On the other hand, customized implementations usually require more preprocessing. This does not mean that they must be rejected altogether: they are still required to fine-tune a particular ML stage according to the specific features of the problem to be solved. A particularly dirty data set may require special cleaning rules. At the same time, a particular set of features may require custom feature design, just as neural architectures may require small changes. In this case, custom solutions built from scratch are likely to cover all needs.
Speed of development
The solutions in stock focus on assembly and not implementation. Instead of allocating resources for clarification what should do, ML teams focus How the pieces of the different puzzle fit together. This approach allows companies, scientists, and engineers to quickly implement prototypes and proofs of a concept. Instead of inventing the wheel, ready-made solutions enable the utilization of existing information and thus save development time.
Tailor-made solutions that have been implemented from the beginning are known to be much slower at the speed of development developed. This is due to their increased need for maintenance: engineers need to figure out both what and How solution. Likewise, the more complex the solution, the more time is required with resources to ensure its scalability and usability during production. From this perspective, custom-made solutions and time use are directly proportional: the more complex the solution, the more time it takes.
Usually, however, the truth is somewhere in the middle: existing code information is renewed and adapted to the needs of the current project. Such is the case with the well-known transfer learning approach to model training.
Just as there are several layers to machine learning, ML models can be developed on many levels, from code-free interfaces to building models from scratch.
There are ready-made solutions that require little machine learning expertise. Utilizing intuitive interfaces and even drag-and-drop approaches for everyone (from business analysts to software designers) has become very easy to build and deploy some kind of machine learning model. While this simple approach to model development may work for prototyping purposes, it is unlikely to meet the requirements of production systems.
Expertise is still needed to configure, configure, and maintain ready-made solutions in production. Workarounds, code fixes, integration with various APIs, and handling deployment issues are common tasks to ensure the performance of models in production environments.
Tailor-made solutions are usually implemented at the infrastructure level and cannot be circumvented: expertise is absolutely needed. Depending on the size of the company and the project objectives, multidisciplinary teams may be needed to maintain production systems. Data researchers, ML engineers, and business analysts come together to understand the findings and maintain production models.
What you should use: an shelf or custom machine learning model?
An ML solution is built from many individual components and services that need to be assembled into a unified solution. It is never 100% custom or 100% off the shelf because different business problems require different solutions. Most often, ML-based solutions are built with a combination of the two: ready-made services to gain general insights combined with custom models to increase accuracy, and to model industry-specific data.
The trick is to know when customized solutions will be deployed from scratch and which parts of the project can take advantage of ready-made services. This largely depends on the type of problem, business requirements, available data, and general constraints in the development environment.
You may also like: