Nico Bargioni
BigQuery
#bigquery#datos#curiosidades

BQML: entrenar modelos de machine learning con SQL

BigQuery ML te deja entrenar una regresión o un clustering con un CREATE MODEL, sin sacar los datos del warehouse ni escribir Python.

La primera vez que ves un modelo de machine learning entrenado con una sentencia CREATE MODEL, en SQL plano, cuesta creerlo. No hay Python, no hay notebook, no hay que exportar nada. Entrenás donde viven los datos. Eso es BigQuery ML (BQML), y aunque no reemplaza a un data scientist, cambia quién puede llegar a un primer modelo.

El problema que resuelve: mover los datos

El flujo clásico de ML tiene un paso silencioso y caro: sacar los datos del warehouse, bajarlos a una máquina, entrenar ahí, y volver a subir las predicciones. Con tablas de millones de filas, ese ida y vuelta es lento, costoso y propenso a romperse.

BQML invierte la idea: en vez de llevar los datos al modelo, lleva el modelo a los datos. Entrenás dentro de BigQuery, usando el mismo motor de escaneo masivo paralelo que usás para consultar. El que ya escribe SQL para analizar, ahora entrena con la misma sintaxis.

CREATE MODEL proyecto.dataset.churn
OPTIONS(model_type = 'logistic_reg',
        input_label_cols = ['se_fue']) AS
SELECT antiguedad, gasto_mensual, tickets_soporte, se_fue
FROM clientes;

-- Y predecir es otra query:
SELECT * FROM ML.PREDICT(
  MODEL proyecto.dataset.churn,
  (SELECT * FROM clientes_nuevos));

Ese CREATE MODEL corre la regresión logística sobre la tabla entera, en el cluster, sin que muevas un byte hacia afuera.

Nota relacionada

Por qué BigQuery escanea terabytes en segundos: el formato columnar

BigQuery lee un terabyte en segundos no por magia, sino por una decisión de diseño: guardar los datos por columna, no por fila.

Leer nota

Qué sabe hacer (y qué no)

BQML cubre un abanico sorprendente sin pedirte que programes el algoritmo:

  • Regresión y clasificación: lineal, logística, boosted trees, hasta redes neuronales.
  • Clustering con k-means, para segmentar clientes sin etiquetas previas —el mismo k-means con sus trampas conocidas.
  • Series de tiempo con ARIMA para forecasting de demanda o ventas.
  • Importar modelos entrenados afuera (TensorFlow) para servir predicciones desde SQL.

Lo que no es: un reemplazo del control fino. No vas a hacer ingeniería de features sofisticada, ni a iterar arquitecturas raras, ni a esquivar los problemas de fondo del ML. Si tus datos tienen fuga de información o un desbalance brutal, BQML te va a dar un modelo malo igual de rápido que uno bueno. La facilidad de entrenar no te exime del criterio.

Para qué sirve de verdad

El valor real de BQML no es ganar un concurso de Kaggle. Es el prototipado veloz y la democratización: un analista que vive en SQL puede tener un baseline de churn o un forecast en una tarde, sin esperar a que se libere un data scientist. Si el baseline promete, después se hace bien en serio.

Es la misma filosofía de Vertex AI llevada al warehouse: bajar la barrera de entrada al modelado. Y encaja con la pregunta de fondo de cuándo la IA suma de verdad —un modelo simple, entrenado en minutos sobre datos que ya tenés, suele aportar más valor que uno sofisticado que nunca sale del notebook.

El cómputo de entrenar, claro, no es gratis: consume slots como cualquier query pesada. Pero a cambio te ahorrás el viaje de los datos, que muchas veces es la parte más cara de todas.

Compartir

¿Lo necesitás en tu negocio?

Seguí explorando