Introducción a BigQuery ML: El Data Science fácil, sin salir de Google BigQuery

Este post forma parte de una serie sobre BigQuery ML que hemos desarrollado en IKAUE. Puedes acceder a todos los post de la serie en: "BigQuery ML"

¿Te gustaría empezar aplicar IA o Machine Learning a tus datos pero la complejidad de la programación y las herramientas de data scince no son para ti? ¿Se te quedan cortas? ¿Te da pereza empezar a conectarte a servidores o crear enromes y lentos notebooks? En ese caso, deberías empezar a mirarte BigQuery ML (BQML).

Me ha quedado una entradilla muy de anuncio, pero creo que resume muy bien el potencial de lo que vamos a hablar en este post. BigQuery ML es una extensión de BigQuery con la que puedes usar Gemini (la IA generativa de Google), crear modelos predictivos, clasificar información y realizar análisis avanzados sin necesidad de ser un experto en programación ni tener por qué lidiar con notebooks, Rstudio o con Google Colab en Python. Tan solo usando sentencias SQL podrás hacer de forma cómoda y escalable todo lo que necesitas con tus datos. ¿No me crees? Sigue leyendo…

El Data Science es una disciplina analítica apasionante pero que supone una barrera de entrada enorme (para muchos llamada Python) y además consume grandes cantidades de tiempo de los equipos creando flujos e industrializando los datos para poder usarlos. Para colmo, en muchas ocasiones acaba en multitud de scripts y procesos adhoc que deben lanzarse manualmente y resultan muy poco escalables. Para todo esto es para lo que BigQuery ML resulta un soplo de aire fresco que puede hacer que veas con otros ojos iniciarte en este tipo de retos.

En este post, te guiare paso a paso para que descubras el poder de BQML y lo apliques a tus propios proyectos. Se trata, eso sí, solo de una introducción. Ojalá tuviese la capacidad de explicar todo BigQuery ML en un solo post o vídeo. El objetivo de hoy es que estés preparado para lidiar con las posibilidades de ML pero tendrás que esperar a llegar al final del post para encontrar los tutoriales concretos con los que realizar distintos análisis.

En este post te explicaré:

  • Qué es BQML exáctamente (pasando por Google Cloud, BigQuery, Vertex AI, etc.)
  • Cuales son sus grandes ventajas y sus retos.
  • Como configurar tu BigQuery para poder crear hoy mismo modelos y aplicarlos.
  • La gestión de permisos, el control de costes y las claves de las queries de BQML.
  • Todas las funciones que están a tu alcance (al menos las que conocemos en IKAUE a día de hoy)
  • Acceso a varios tutoriales para empezar a sacarle partido a la IA, el análisis semántico, la clusterización y las predicciones de datos y comportamientos.

Poco a poco y desde el principio:
Conceptos y herramientas que debes conocer antes de empezar.

Empezaremos por mencionar y resumir las herramientas y tecnologías en las que nos vamos a meter al trabajar con BigQuery ML, ya que si eres un usuario común de Google BigQuery, explicar ML es bastante sencillo, pero si no trabajas mucho (o nada) con la herramienta, todo esto es más complejo de entender. Lo dejo a tu criterio, si ves que un capítulo no te aporta porque ya te lo sabes: ¡Sáltatelo!

¿Qué es Google Cloud?

Antes de sumergirnos en BigQuery ML, es importante entender dónde se encuentra. Google Cloud (la nube de de Google) es como un universo gigante que ofrece una amplia gama de servicios digitales en la nube. Imagina un lugar donde puedes almacenar datos, ejecutar aplicaciones, analizar información, aplicar la IA y mucho más, todo sin necesidad de tener tus propios servidores físicos. Todo autoadministrado y autoescalable. Eso es Google Cloud: Magia.

GCP (Google Cloud platform), es una plataforma equivalente en muchos sentidos a Amazon AWS (muchos servicios son similares) pero en este caso, centrada en el ecosistema Google. Podremos crear servidores, almacenar datos y lanzar funciones sin servidor. Pero además tendremos acceso a sus dos armas secretas más importantes: BigQuery y Vertex AI. En estos dos campos (base de datos orientada a terabytes y simplifcación de la IA) es donde destaca especialmente sobre su competencia.

¿Y qué es BigQuery?

Dentro de este universo digital, BigQuery es una de las estrellas más brillantes. Es un servicio de almacenamiento de datos que se caracteriza por su escalabilidad (puedes crecer hasta donde quieras), velocidad (consultas complejas en segundos) y economía (pagas solo por lo que procesas). Piensa en BigQuery como un almacén masivo donde puedes guardar todos tus datos, desde registros de ventas hasta interacciones de usuarios en tu sitio web. Lo mejor de todo es que BigQuery te permite analizar estos datos con una velocidad increíble, lo que lo convierte en una herramienta ideal tanto para el análisis de grandes volúmenes de información (donde no encontrarás límites ni tendrás problemas de estructura) como para análisis sencillos (donde el coste se reducirá a céntimos).

BigQuery es además una base de datos con esteroides. No se trata solo de que sea un sistema SQL estándar en el cual es sencillo entrar (es aprender SQL sin preocuparte demasiado de administrar bases de datos). Sino que te aporta cada vez más añadidos que son opcionales pero que a medida que los vas dominando te alegran la vida y te dan acceso a más y más posibilidades.

  • Interfaz y herramientas en la propia web (sin instalar nada).
  • Carga de datos desde cada vez más fuentes (incluso desde Google Sheets)
  • Conectividad con herramientas Google: Google Sheets, Looker, Looker Studio, Notebooks de Google Cloud, etc.
  • Programación de tareas ybrecarga de datos automática
  • Posibilidad de crearle funciones propias (incluso en Js)
  • Herramientas de control de costes
  • Autoborrado de datos
  • Uso, mediante API, en la mayoria de softwares de datos que existen
  • Machine Learning e IA integrados en la herramienta
Y no, no cobro comisión si la contratas 😊. Es solo que es una solución algo técnica si, pero realmente versátil y no puedo más que recomendarla.

BigQuery ML: Machine Learning e IA sin código

Entre estos añadidos, es donde entra en juego BigQuery ML (BQML). BQML es un conjunto de funciones que te permiten crear, entrenar y utilizar modelos de Machine Learning e Inteligencia Artificial directamente en BigQuery. Lo revolucionario de BQML es que no necesitas escribir código complejo en lenguajes como Python o R. En su lugar, puedes usar SQL, un lenguaje de consulta mucho más accesible, para aplicar algoritmos de aprendizaje automático a tus datos.

  1. Subes tus datos a BigQuery (csv, sheets, storage, integraciones)
  2. Lanzas 2 o 3 queries
  3. Y ya tienes el resultado de aplicar estas complejas herramientas listo para usar.

Para que te hagas una idea, es algo como usar notebooks pero sin código, sin APIs, y sin límites de datos (que todos sabemos que un Colab a la que le metes demasiados datos te dice que «gracias, pero no…».

Con BQML, puedes realizar tareas como:

  • Crear modelos predictivos: por ejemplo, predecir la probabilidad de que un cliente realice una compra o abandone tu web.
  • Clasificar información: por ejemplo, clasificar correos electrónicos como spam o no spam, o autoasignar categorías y redirecciones automáticamente.
  • Agrupar datos en clústeres: por ejemplo, segmentar clientes en grupos con características similares, o entender tus productos por su rentabilidad o afinidad a tu tráfico, o autoclasificar todas tus keywords por sus significados reales.
  • Realizar análisis de series temporales: por ejemplo, predecir las ventas futuras en función de las ventas pasadas, o simplemente crear el forecast del año que viene.
  • Aplicar prompts a los modelos de Gemini (flash, pro, etc.) masivamente con queries: Imagina que quieres generar descripciones de productos para tu catálogo online. Con BQML y Gemini, puedes escribir un prompt lleno de variables que definan el estilo y la información que necesitas, y luego aplicarlo a miles de productos con una sola consulta.
  • Trabajar con embeddings y todo su potencial: Los embeddings son representaciones vectoriales de datos, como texto o imágenes, que capturan su significado semántico. BQML te permite generar y utilizar embeddings para tareas como la búsqueda semántica, la recomendación de productos o el análisis de sentimiento.

Vertex AI: ¿Qué es y qué tiene que ver con BigQuery ML?

Vertex AI es la plataforma de Inteligencia Artificial y ML unificada de Google Cloud. Te permite usar las últimas IAs de Google, conectarte a algunas IAs libres (Meta, Gemma, etc) e incluso usar Claude de Anthropic dentro de una sola interfaz. Con Vertex también podrás crear, entrenar y desplegar modelos de Machine Learning de forma completa y sin restricciones. Es el aglutinador de IAs de Google que cada día crece más.

Puedes usar Vertex AI para:

  • Entrenar modelos con frameworks populares como TensorFlow, PyTorch y scikit-learn.
  • Utilizar AutoML para entrenar modelos sin necesidad de escribir código.
  • Desplegar modelos como endpoints para realizar predicciones en tiempo real.
  • Monitorizar el rendimiento de los modelos y gestionarlos a lo largo de su ciclo de vida.

Localízalo en tu cuenta de Google Cloud. Lo verás en el menú de herramientas de la izquierda (el que despliegas bajo el logo).

Desde ahí podrás probar los modelos de Gemini o de Model Garden y muchas cosas más.

Vertex Ai además es una de las piezas que BigQuery ML es capaz de integrar. No completa (en Vertex se pueden hacer más cosas que en BigQuery ML) pero si bastante amplia.

Qué es la Gestión de permisos y APIs en Google Cloud

Para acabar con esta introducción de conceptos y pese a que tu solo deseas empezar a trastear con BigQuery ML, es obligatorio hablar de dos partes de Google Cloud en las que tendrás que entrar para poder trabajar. Entrarás muy poco y en este post de diré exactamente lo que tienes que hacer ahí, pero es fácil que te atasques si no las conoces o no las sabes ubicar.

Los localizarás también en el menú de herramientas de Google Cloud:

IAM (Identity and Access Management)

IAM es el servicio de Google Cloud que te permite controlar el acceso a tus recursos. En esencia, IAM te ayuda a responder la pregunta «¿Quién tiene permiso para hacer qué dentro de mi proyecto de Google Cloud?«.

Con IAM puedes gestionar la autenticación (verificar la identidad de un usuario) y la autorización (determinar qué acciones puede realizar un usuario). Esto, a pesar de que es tedioso, es fundamental para la seguridad de tus datos y aplicaciones en Google Cloud.

Algunos conceptos clave de IAM son:

  • Cuentas de servicio: son cuentas de usuario especiales que se utilizan para que las aplicaciones puedan acceder a los servicios de Google Cloud. Son usuarios con emails muy largos que se usan solo internamente para que las apps hablen entre ellas.
  • Roles: son colecciones de permisos que definen qué acciones puede realizar un usuario en un recurso. Por ejemplo, el rol «BigQuery Data Editor» permite a un usuario crear, modificar y eliminar datos en BigQuery.
  • Permisos unitarios: cada uno de los tipos de accesos que existen. Un Rol contiene muchos servicios de golpe pero en empresas serias se suelen definir a medida («tu tienes acceso para lanzar queries pero no para generar tablas», por ejemplo).

IAM te permite otorgar permisos a nivel de proyecto, organización o recurso o usuario individual. Puedes usar IAM para controlar el acceso a una amplia gama de servicios de Google Cloud, incluyendo BigQuery, Vertex AI y Storage. Y, en definitiva, dado que queremos hacer que BigQuery hable con Vertex AI, nos tocará tocar un poco esta parte para darles permiso para que se hablen.

Habilitación de APIs (Application Programming Interfaces)

Las APIs son interfaces que permiten que diferentes aplicaciones se comuniquen entre sí. Son como mensajeros que permiten que los programas intercambien información y realicen acciones de forma estandarizada.

Las APIs suelen estar organizadas en torno a colecciones de métodos que realizan acciones específicas. Por ejemplo, la API de BigQuery incluye métodos para insertar filas, listar tablas y ejecutar consultas SQL.

Por seguridad Google Cloud no trae todas las APIs conectadas por defecto. En desarrollo se suele seguir la norma de que si no usas algo es mejor que no se pueda usar (prohibirlo).

Así que para poder trabajar en algunas partes profundas de Google Cloud nos tocará entrar en este servicio y activar algunas APIs. Por suerte esto es algo sencillisimo: entras en la biblioteca de APIs en el menú de herramientas de Google Cloud, buscas la que quieres y le das a habilitar.

Empecemos a entender lo que implica usar BigQuery ML

Pros: Las Ventajas de BigQuery ML

Si estás valorando si meterte en este plus especial que ofrece BigQuery, déjame que te resuma los puntos más importantes sobre todo lo que vas a ganar. Por separado las ventajas son muchas y poco claras, pero podemos sintetizarlas en estos puntos clave:

  • Simplicidad:
    No necesitas aprender nuevos lenguajes de programación ni configurar infraestructuras complejas. No necesitas planificar paso a paso y función a función lo que vas a hacer con los datos. Puedes usar SQL para realizar análisis avanzados y corregirlos cambiando unas pocas palabras.
  • Escalabilidad:
    BQML hereda la capacidad de BigQuery para manejar grandes volúmenes de datos. Puedes trabajar con terabytes de información sin problemas. Esta claro que a más información más tiempo tardará en crear los modelos (y más caro te saldrá usar tanta información) pero te sorprenderá gratamente como rinde en situaciones donde otros no llegan
  • Integración:
    BQML se integra perfectamente con BigQuery y Vertex AI, la suite de Google Cloud para trabajar con IA. Los datos se guardan en BigQuery y de ahí las opciones para consultarlos son enormes (casi cualquier herramienta).
  • Eficiencia:
    al trabajar directamente en BigQuery, se reduce la necesidad de mover datos entre diferentes plataformas. Si haces de BigQuery tu datamart o data lake estás casi obligado a probar esta solución.
  • Accesibilidad:
    BQML democratiza el Machine Learning al ponerlo al alcance de usuarios sin experiencia en programación. Las queries y modelos son reusables haciendo que los avances de unos impacten en el trabajo del resto.

Contras: Riesgos y desafíos que supone empezar con BigQuery ML

Aunque BQML ofrece muchas ventajas, para empezar con él es aún más importante ser conscientes de algunos posibles desafíos a los que te vas a enfrentar si lo usas. Cosas que tienes que tener en cuenta y que van a suponerte un reto.

  • Complejidad de las queries:
    Las funciones de BQML pueden ser más complejas que las consultas SQL tradicionales. Es necesario comprender cómo funcionan los modelos, las funciones de tabla y cómo preparar los datos para ellas. No, no se trata de «SELECT url WHERE …» p