=================================================================================
Vertex AI is a machine learning (ML) platform provided by Google Cloud that offers a variety of objectives or tasks that we can choose based on our specific machine learning goals. Vertex AI is a great platform to build some templates for machine learning, which is Google Cloud’s unified artificial intelligence platform that offers an end-to-end ML solution, from model training to model deployment. We can add a lot of data (more than 1000GB) and it's scalabe.
![Vertix AI](images2/4114a.png)
Figure 4114a. Vertex AI providing a unified set of APIs for the ML lifecycle. [1]
Vertex AI Python client can be used to create a pipeline run on Vertex AL Pipelines. When sending training jobs to Vertex AI, most of the logic is split into:
i) A task.py. task.py -- This file is the entry point to your code that vertex AI will start and contains details such as "how to parse command-line arguments and where to write model outputs".
ii) A model.py.
To make your code compatible with Vertex AI, there are three basic steps that must be completed in a specific order:
i) Upload data to Google Cloud Storage,
ii) Move code into a trainer Python package,
iii) Submit your training job with gcloud to train on Vertex AI.
You can use either pre-built containers or custom containers to run training jobs. Both containers require you specify settings that Vertex AI needs to run your training code, including region, display-name and worker-pool-spec.
Vertex AI python client can be used to create a pipeline run on Vertex AI Pipelines.
Vertex AI is a comprehensive platform with various components and services. Figure 4114b shows a simple diagram representing the structure of Vertex AI on Google Cloud.
![Vertex AI Structure on Google Cloud](images3/4114a.png)
Figure 4114b. Vertex AI Structure on Google Cloud (Code).
Some common objectives in Vertex AI, along with examples of applications for each are:
-
Image Classification: -
Objective: Classify images into predefined categories. -
Applications: Identifying objects in photos, medical image diagnosis, quality control in manufacturing.
-
Image Object Detection: -
Objective: Detect and locate objects within images. -
Applications: Autonomous vehicles, surveillance systems, retail analytics.
-
Text Classification: -
Objective: Categorize text into predefined classes. -
Applications: Spam detection, sentiment analysis, content categorization.
-
Named Entity Recognition (NER): -
Objective: Identify and classify entities (e.g., names, locations, organizations) within text. -
Applications: Information extraction, document summarization, chatbot systems.
-
Text Translation: -
Objective: Translate text from one language to another. -
Applications: Multilingual customer support, global content localization, language learning. Speech Recognition: Objective: Convert spoken language into text. Applications: Voice assistants, transcription services, accessibility features.
-
Speech Sentiment Analysis: -
Objective: Analyze the sentiment expressed in spoken language. -
Applications: Customer service call analysis, voice feedback analysis, emotion recognition.
-
Tabular Data Regression: -
Objective: Predict numerical values based on structured/tabular data. -
Applications: Financial forecasting, sales predictions, demand forecasting.
-
Tabular Data Classification: -
Objective: Classify rows in a table into predefined categories. -
Applications: Fraud detection, customer churn prediction, risk assessment.
-
Recommendation Systems: -
Objective: Generate personalized recommendations for users. -
Applications: Movie recommendations, product recommendations, content personalization.
-
Time Series Forecasting: -
Objective: Predict future values based on historical time series data. -
Applications: Stock price prediction, energy consumption forecasting, demand planning.
-
Custom Model: -
Objective: Build and deploy a custom machine learning model based on specific requirements. -
Applications: When none of the predefined objectives fit, or for highly specialized tasks.
In Vertex AI, choosing the Tabular data type for a dataset presented in a Comma Separated Values (CSV) file is an appropriate choice because Tabular data is specifically designed to handle structured data in tabular form, such as data organized in rows and columns. CSV files are a common format for representing tabular data, where each line in the file represents a row, and the values within each line are separated by commas to denote different columns.
Some reasons why Tabular data type is suitable for CSV files in Vertex AI are:
-
Structured Representation:
CSV files inherently have a structured format with rows and columns, making them suitable for the Tabular data type, which is optimized for handling structured data. -
Ease of Loading:
Tabular data type in Vertex AI includes functionalities to easily load and manipulate tabular data, which aligns well with the nature of CSV files. This can simplify the process of preprocessing and analyzing data. -
Feature Engineering:
The Tabular data type supports various feature engineering tasks commonly associated with structured data, such as transforming categorical variables, handling missing values, and scaling numerical features. -
Integration with AutoML:
Vertex AI offers AutoML capabilities for tabular data, allowing you to easily train machine learning models on your CSV dataset without extensive manual feature engineering. The AutoML features are tailored to work well with structured data types. -
Scalability:
The Tabular data type in Vertex AI is designed to handle large-scale datasets efficiently. This is crucial for processing and analyzing large CSV files commonly encountered in data science and machine learning workflows.
The feature importance attribution in Vertex AI displays how much each feature impacts the model, expressed as a percentage.
============================================
[1] Diagram courtesy Henry Tappen and Brian Kobashikawa.
|