Google BigQuery permite un análisis interactivo de grandes conjuntos de datos, lo cual hace que para las empresas sea más sencillo compartir estadísticas significativas y desarrollar soluciones en base a análisis del cliente. Sin embargo, muchas de las empresas que usan BigQuery no usan el aprendizaje automático para comprender mejor los datos que generan. Esto se debe a que los analistas de datos, expertos en SQL, tal vez no tengan la formación en ciencia de datos tradicional que se necesita para aplicar las técnicas de aprendizaje automático.

Hoy anunciamos BigQuery ML, una capacidad de BigQuery que permite a los científicos y analistas de datos compilar e implementar modelos de aprendizaje automático en conjuntos de datos de gran tamaño estructurados o semiestructurados. BigQuery ML es un conjunto de extensiones simples en lenguaje SQL que permite a los usuarios usar capacidades populares de AA para realizar análisis predictivos, como los pronósticos de ventas, y crear segmentaciones en la fuente, donde ya almacenan sus datos. Además, BigQuery ML configura los valores predeterminados automáticamente y se encarga de la transformación de datos, lo cual brinda una experiencia sencilla y sin inconvenientes que ofrece grandes resultados.
Durante el diseño del backend de AA de BigQuery, el equipo se vio ante un dilema. La transferencia de grandes cantidades de datos de servidores de BigQuery a servidores para propósitos especiales que ejecutan algoritmos de aprendizaje automático podría llevar tiempo y generar una sobrecarga en términos de consideraciones de seguridad y privacidad. Sin embargo, debido a que los componentes principales del descenso de gradiente (un método de optimización que es el caballo de batalla de los algoritmos de aprendizaje automático) se pueden implementar con operaciones comunes de SQL*, podemos rediseñar el motor de procesamiento existente de BigQuery SQL para BigQuery ML.

Debido a que el motor de BigQuery está diseñado para buscar con eficacia grandes conjuntos de datos en lugar de extraer de ellos ejemplos pequeños de manera aleatoria, BigQuery ML se basa en la variante estándar (lote) de descenso de gradiente en lugar de la versión estocástica. Y aunque el descenso de gradiente estocástico es mucho más común en los sistemas de aprendizaje automático a gran escala que existen hoy en día, la variante de lote tiene numerosas ventajas prácticas.

Por ejemplo, los sistemas de aprendizaje automático de bases de datos basados en el descenso de gradiente estocástico procesan los ejemplos uno por uno, y su rendimiento puede ser deficiente cuando los datos no se ordenan en condiciones óptimas. No obstante, a menudo los datos de BigQuery se distribuyen en un disco para optimizar el rendimiento de consultas regulares de SQL y la redistribución continua de los datos para admitir algoritmos de aprendizaje automático estocásticos supondría altas exigencias a nivel computacional. Por el contrario, el descenso de gradiente de lotes no se ve afectado por el ordenamiento y la partición de datos en el disco, con lo cual este problema se evita por completo. Además, los métodos de lotes se pueden combinar con técnicas de búsqueda de líneas de la documentación sobre optimización clásica, de lo que surge un algoritmo de aprendizaje que es más estable y requiere menos ajuste. El uso de la búsqueda de líneas con métodos estocásticos es mucho más complicado. Nuestra implementación también incluye asistencia para la regularización y el condicionamiento previo. Para obtener información más detallada, consulta nuestro artículo.

Esperamos que BigQuery ML sea útil para muchas tareas de análisis predictivo. Para probarlo, visita la consola de BigQuery y sigue la guía del usuario. Crear un modelo es así de simple:
CREATE MODEL dataset.model_name
  OPTIONS(model_type=’linear_reg’, input_label_cols=[‘input_label’])
AS SELECT * FROM input_table; 
En el futuro, planeamos integrar nuestra implementación de descenso de gradiente con la infraestructura de BigQuery para lograr aumentos en el rendimiento. También vamos a explorar otros algoritmos de aprendizaje automático que se pueden implementar de forma sencilla y eficiente para problemas a gran escala aprovechando el poder de BigQuery.

Agradecimientos
BigQuery ML es el resultado de un gran trabajo conjunto entre muchos equipos de Google. Entre los colaboradores y los patrocinadores claves se incluyen Hossein Ahmadi, Corinna Cortes, Grzegorz Czajkowski, JD Degenaar, Dan Delorey, Mingge Deng, Danielle Hanks, Amir Hormati, Abhishek Kashyap, Jing Jing Long, Dan McClary, Chris Meyers, Ross Popoff-Walker, Girishkumar Sabhnani, Vivek Sharma, Jordan Tigani, Chad Verbowski, Jiaxun Wu y Lisa Yin.


* Por ejemplo, un vector gradiente se puede calcular usando los operadores SUM y GROUP BY, y los pesos de un modelo se pueden actualizar con INNER JOIN.