Which Machine Learning technologies should we choose from among the wide array of solutions in order to improve the performance of our assembly line? Stepwise has developed advanced business software multiple times. During one of these projects, we had the opportunity to test two ML technologies: Vertex AI and Python locally. Let’s sum up our comparison.
These days, programmers and engineers have such a plethora of solutions for processing, analysing and presenting data, as well as for integrating, implementing and optimising Machine Learning models, that they often have difficulty in choosing the best option. When the search for such solutions abounds with a huge number of products, an extensive experience in Data Science and Machine Learning projects is necessary to be able to select the best technologies.
Case study
The Stepwise team worked on part of a project connected with assembly line improvements. Our priority was to create a functional prediction algorithm for the optimal configuration of a given machine. The task was challenging as the machines required tens of configurations at the same time.
After analysing the customer’s needs, as well as the production process, the source of data and the operation of the selected machines, we decided to test two technologies. For the stage of training, testing and implementing the Machine Learning model, we chose Python executed locally and Vertex AI in Google Cloud infrastructure.
Selected Machine Learning technologies
Python
Python is one of the most popular programming languages in Data Science. With multiple libraries available, e.g. Numpy, Scikit-learn and TensorFlow, the language is easy and a great asset in creating complex Machine Learning algorithms. Programmers can use tools such as Jupyter Notebook to facilitate comfortable programming and testing. For programming ML algorithms, we could also use other languages, e.g. Java, JavaScript or R.
Why did we choose Python?
- straightforward, coherent, and easy to learn,
- a huge number of available libraries,
- likeability, large community, and access to ready-made solutions,
- a lot of useful ML repositories,
- relatively easy integration with other languages/technologies
Vertex AI
Vertex AI combines Machine Learning services and Google Cloud Platform (GCP) into one environment for effective ML project creation and management. This technology provides tools at every stage of Machine Learning, as well as for different levels of advancement. Other suppliers suggest similar technologies, e.g. Amazon Web Services (AWS) provides SageMaker, and Azure recommends its own alternative – Azure ML.
Why did we choose Vertex AI?
- easy and intuitive operation,
- comfortable data analysis, processing and import to the cloud by means of JupyterLab or API,
- basic analysis of selected datasets without using code,
- model training with AutoML to speed up initial work and allow identifying models in standard cases without creating any code,
- possibility to train our own model (as Python code or Docker image),
- automatic selection of hyperparameters of a model – easier and faster work,
- a trained model can be downloaded or shared for further use,
- possibility of making a single query of the model or predictions for a set of queries,
- easier control over an experiment in Vertex AI pipeline,
- possibility to check results for particular experiments, history of launches and results,
- pipeline components exchange data, which can be extremely time-saving,
- FeatureStore with easy access to current data – useful in multiteam projects.
Vertex AI and Python locally – comparison
Using Vertex AI and Python technologies, we developed functional software for data processing and predicting optimal results.
The first conclusion drawn from the comparison of these Machine Learning technologies concerns speed and comfort. Creating a dataset in Vertex AI enables fast initial analyses. With JupyterLab in Vertex AI Workbench, data processing is comfortable and intuitive, and the results can be downloaded and saved in the cloud (Cloud Data Storage, BigQuery).
As far as data processing speed is concerned, we need to pay attention to the possibility of using Python locally as there was no significant difference in execution time. In this way, we can reduce costs associated with using ML.
Another advantage of Vertex AI is easier access to data in the cloud, but referring to the previous section, it should be borne in mind that Vertex AI Workbench is payable. These expenses can be reduced by setting maximum parameters for the use of computing power.
Vertex AI allows creating pipelines. As part of the project, a pipeline was built for data processing, dividing it into training and test sets, model training, model validation and deployment. This facilitated maintaining order during experiments.
Vertex AI also allowed us to display the model in the platform so that it was easy to use it in the system when it was required. Locally this solution is much more complicated.
Which technology should you choose?
The Stepwise experiment drew a specific conclusion: The experience obtained through Vertex AI were not much different from Python locally, but… it is definitely easier to prepare an ML model in Vertex AI. In many cases, automatic training (Auto ML) is enough. This significantly speeds up work. Using Vertex AI is exceptionally intuitive both with or without code.
Stepwise software and solutions are used in a variety of branches. Our projects (also within Machine Learning) met our customers’ expectations, evidence of which can be seen in reviews on Clutch. Years of experience and our multidisciplinary team allow us to choose perfect technological solutions at a relatively early stage of works. Use our expertise and experience.
Contact us and let’s talk about possible areas of cooperation.