Create a machine learning model in BigQuery ML by using the Google Cloud console
This document shows you how to use the Google Cloud console to create a BigQuery ML model.
Required roles
To create a model and run inference, you must be granted the following roles:
- BigQuery Data Editor (
roles/bigquery.dataEditor
) - BigQuery User (
roles/bigquery.user
)
- BigQuery Data Editor (
Before you begin
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and BigQuery Connection APIs.
Model-specific prerequisites
Before you create a model, make sure that you have addressed any prerequisites for the type of model that you are creating:
If you want to use a query to select training data for a model, you must have that query available as a saved query.
Matrix factorization models require reservations. For more information, see Pricing.
The following remote models require a Cloud resource connection:
- Remote models over Vertex AI and partner models
- Remote models over open models
- Remote models over Cloud AI services
- Remote models over custom models in Vertex AI
The connection's service account must also be granted certain roles, depending on the type of remote model.
To import a model, you must have that model uploaded to a Cloud Storage bucket.
Create a dataset
Create a BigQuery dataset to contain your resources:
Console
In the Google Cloud console, go to the BigQuery page.
In the Explorer pane, click your project name.
Click
View actions > Create dataset.On the Create dataset page, do the following:
For Dataset ID, type a name for the dataset.
For Location type, select a location for the dataset.
Click Create dataset.
bq
Create an internally or externally trained model
Use this procedure to create the following types of models:
Time series models:
Contribution analysis: Contribution analysis
Classification:
Regression:
Clustering: K-means
Recommendation: Matrix factorization
Dimensionality reduction:
These models have different sets of options according to their type. While BigQuery ML automatic tuning works well in most cases, you can choose to manually tune your model as part of the procedure. If you want to do so, refer to the documentation for the given type of model to learn more about the model options.
To create a model:
Go to the BigQuery page.
In the Explorer pane, click the dataset that you created.
Click
View actions next to the dataset, and then click Create BQML Model.The Create new model pane opens.
For Model name, type a name for the model.
If you want to create a saved query that contains the
CREATE MODEL
statement for the model, select Save Query .- For Query name, type a name for the saved query.
- For Region, choose a region for the saved query.
Click Continue.
In the Creation method section, select Train a Model in BigQuery.
In the Modeling objective section, select a modeling objective for the model.
Click Continue.
On the Model options page, select a model type. The type of model you can select varies based on the modeling objective you chose.
In the Training data section, do one of the following:
- Select Table/View to get training data from a table or view, and then select the project, dataset, and view or table name.
- Select Query to get training data from a saved query, and then select the saved query.
In Selected input label columns, choose the columns from the table, view, or query that you want to use as input to the model.
If there is a Required options section, specify the requested column information:
- For classification and regression models, for INPUT_LABEL_COLS, select the column that contains the label data.
For matrix factorization models, select the following:
- For RATING_COL, select the column that contains the rating data.
- For USER_COL, select the column that contains the user data.
- For ITEM_COL, select the column that contains the item data.
For times series forecasting models, select the following:
- For TIME_SERIES_TIMESTAMP_COL, select the column that contains the time points to use when training the model.
- For TIME_SERIES_DATA_COL, select the column that contains the data to forecast.
Optional: In the Optional section, specify values for additional model tuning arguments. The arguments available vary based on the type of model that you are creating.
Click Create model.
When model creation is complete, click Go to model to view model details.
Create a remote model over a pre-trained model
Use this procedure to create the following types of remote models:
To create a model:
Go to the BigQuery page.
In the Explorer pane, click the dataset that you created.
Click
View actions next to the dataset, and then click Create BQML Model.The Create new model pane opens.
For Model name, type a name for the model.
If you want to create a saved query that contains the
CREATE MODEL
statement for the model, select Save Query .- For Query name, type a name for the saved query.
- For Region, choose a region for the saved query.
Click Continue.
In the Creation method section, select Connect to Vertex AI LLM service and Cloud AI services.
On the Model options page, select Google and Partner Models or Open Models for the model type, as appropriate for your use case.
In the Remote connection section, do the one of the following:
- If you have a default connection configured, or if you have both the BigQuery Admin and the Project IAM Admin roles, select Default connection.
If you don't have have a default connection configured, or if you lack the appropriate roles, select Cloud resource connection.
- For Project, select the project that contains the connection that you want to use.
- For Location, select the location used by the connection.
For Connection, select the connection to use for the remote model, or select Create new connection to create a new connection.
In the Required options section, do one of the following:
- For remote models over Google models and partner models,
specify the endpoint to use. This is the name of the model, for
example
gemini-2.0-flash
. For more information about supported models, seeENDPOINT
. - For remote models over open models,
copy and paste in the endpoint to use. This is the shared public endpoint
of a model deployed to Vertex AI, in the format
https://location-aiplatform.googleapis.com/v1/projects/project/locations/location/endpoints/endpoint_id
. For more information, seeENDPOINT
.
- For remote models over Google models and partner models,
specify the endpoint to use. This is the name of the model, for
example
Click Create model.
When model creation is complete, click Go to model to view model details.
Create a remote model over a custom model
Use this procedure to create remote models over custom models deployed to Vertex AI.
To create a model:
Go to the BigQuery page.
In the Explorer pane, click the dataset that you created.
Click
View actions next to the dataset, and then click Create BQML Model.The Create new model pane opens.
For Model name, type a name for the model.
If you want to create a saved query that contains the
CREATE MODEL
statement for the model, select Save Query .- For Query name, type a name for the saved query.
- For Region, choose a region for the saved query.
Click Continue.
In the Creation method section, select Connect to user managed Vertex AI endpoints.
In the Remote connection section of the Model options page, do one of the following:
- If you have a default connection configured, or if you have both the BigQuery Admin and the Project IAM Admin roles, select Default connection.
If you don't have have a default connection configured, or if you lack the appropriate roles, select Cloud resource connection.
- For Project, select the project that contains the connection that you want to use.
- For Location, select the location used by the connection.
For Connection, select the connection to use for the remote model, or select Create new connection to create a new connection.
In the Required options section, specify the endpoint to use. This is the shared public endpoint of a model deployed to Vertex AI, in the format
https://location-aiplatform.googleapis.com/v1/projects/project/locations/location/endpoints/endpoint_id
. For more information, seeENDPOINT
.Click Create model.
When model creation is complete, click Go to model to view model details.
Create a remote model over a Cloud AI service
Use this procedure to create remote models over Cloud AI services.
To create a model:
Go to the BigQuery page.
In the Explorer pane, click the dataset that you created.
Click
View actions next to the dataset, and then click Create BQML Model.The Create new model pane opens.
For Model name, type a name for the model.
If you want to create a saved query that contains the
CREATE MODEL
statement for the model, select Save Query .- For Query name, type a name for the saved query.
- For Region, choose a region for the saved query.
Click Continue.
In the Creation method section, select Connect to Vertex AI LLM service and Cloud AI services.
On the Model options page, select Cloud AI Services.
In the Remote connection section, do the one of the following:
- If you have a default connection configured, or if you have both the BigQuery Admin and the Project IAM Admin roles, select Default connection.
If you don't have have a default connection configured, or if you lack the appropriate roles, select Cloud resource connection.
- For Project, select the project that contains the connection that you want to use.
- For Location, select the location used by the connection.
For Connection, select the connection to use for the remote model, or select Create new connection to create a new connection.
In the Required options section, select the Cloud AI service type to use.
In the Optional section, specify document processor information if you are using the
CLOUD_AI_DOCUMENT_V1
service. Optionally, you can specify speech recognizer information if you are using theCLOUD_AI_SPEECH_TO_TEXT_V2
service.Click Create model.
When model creation is complete, click Go to model to view model details.
Create an imported model
Use this procedure to create BigQuery ML models by importing the following types of models:
To create a model:
Go to the BigQuery page.
In the Explorer pane, click the dataset that you created.
Click
View actions next to the dataset, and then click Create BQML Model.The Create new model pane opens.
For Model name, type a name for the model.
If you want to create a saved query that contains the
CREATE MODEL
statement for the model, select Save Query .- For Query name, type a name for the saved query.
- For Region, choose a region for the saved query.
Click Continue.
In the Creation method section, select Import model.
On the Model options page, select the type of model that you want to import.
For GCS path, browse for or paste in the URI for the Cloud Storage bucket that contains the model.
Click Create model.
When model creation is complete, click Go to model to view model details.