Principales bases de datos que admiten el aprendizaje automático en la base de datos

Actualización: 20 de mayo de 2021
Principales bases de datos que admiten el aprendizaje automático en la base de datos

En mi artículo de agosto de 2020, "Cómo elegir una plataforma de aprendizaje automático en la nube", mi primera pauta para elegir una plataforma fue "Esté cerca de sus datos". Es necesario mantener el código cerca de los datos para mantener baja la latencia, ya que la velocidad de la luz limita las velocidades de transmisión. Después de todo, el aprendizaje automático, especialmente el aprendizaje profundo, tiende a revisar todos sus datos varias veces (cada vez se denomina época).

Dije en ese momento que el caso ideal para conjuntos de datos muy grandes es construir el modelo donde los datos ya residen, de modo que no se necesite una transmisión masiva de datos. Varias bases de datos lo apoyan hasta cierto punto. La siguiente pregunta natural es, ¿qué bases de datos admiten el aprendizaje automático interno y cómo lo hacen? Hablaré de esas bases de datos en orden alfabético.

Desplazamiento al rojo de Amazon

Amazon Redshift es un servicio de almacenamiento de datos administrado a escala de petabytes diseñado para que sea simple y rentable analizar todos sus datos utilizando sus herramientas de inteligencia empresarial existentes. Está optimizado para conjuntos de datos que van desde unos pocos cientos de gigabytes hasta un petabyte o más y cuesta menos de $ 1,000 por terabyte por año.

Amazon Redshift ML está diseñado para facilitar a los usuarios de SQL la creación, el entrenamiento y la implementación de modelos de aprendizaje automático mediante comandos SQL. El comando CREATE MODEL en Redshift SQL define los datos que se usarán para el entrenamiento y la columna de destino, luego pasa los datos a Amazon SageMaker Autopilot para el entrenamiento a través de un bucket de Amazon S3 cifrado en la misma zona.

Después del entrenamiento de AutoML, Redshift ML compila el mejor modelo y lo registra como una función SQL de predicción en su clúster de Redshift. Luego puede invocar el modelo para la inferencia llamando a la función de predicción dentro de una declaración SELECT.

Resumen: Redshift ML utiliza SageMaker Autopilot para crear automáticamente modelos de predicción a partir de los datos que especifique a través de una declaración SQL, que se extrae en un depósito de S3. La mejor función de predicción encontrada está registrada en el clúster Redshift.

BlazingSQL

BlazingSQL es un motor SQL acelerado por GPU construido sobre el ecosistema RAPIDS; existe como un proyecto de código abierto y un servicio pago. RAPIDS es un conjunto de API y bibliotecas de software de código abierto, incubado por Nvidia, que utiliza CUDA y se basa en el formato de memoria en columnas Apache Arrow. CuDF, parte de RAPIDS, es una biblioteca GPU DataFrame similar a Pandas para cargar, unir, agregar, filtrar y manipular datos.

Dask es una herramienta de código abierto que puede escalar paquetes de Python a varias máquinas. Dask puede distribuir datos y cálculos a través de múltiples GPU, ya sea en el mismo sistema o en un clúster de múltiples nodos. Dask se integra con RAPIDS cuDF, XGBoost y RAPIDS cuML para análisis de datos acelerados por GPU y aprendizaje automático.

Resumen: BlazingSQL puede ejecutar consultas aceleradas por GPU en lagos de datos en Amazon S3, pasar los DataFrames resultantes a cuDF para la manipulación de datos y, finalmente, realizar aprendizaje automático con RAPIDS XGBoost y cuML, y aprendizaje profundo con PyTorch y TensorFlow.

BigQuery en la nube de Google

BigQuery es el almacén de datos administrado de Google Cloud a escala de petabytes que le permite ejecutar análisis sobre grandes cantidades de datos casi en tiempo real. BigQuery ML te permite crear y ejecutar modelos de aprendizaje automático en BigQuery mediante consultas SQL.

BigQuery ML admite la regresión lineal para la previsión; regresión logística binaria y multiclase para clasificación; Agrupación de K-means para la segmentación de datos; factorización matricial para la creación de sistemas de recomendación de productos; series de tiempo para realizar pronósticos de series de tiempo, incluidas anomalías, estacionalidad y días festivos; Modelos de regresión y clasificación XGBoost; Redes neuronales profundas basadas en TensorFlow para modelos de clasificación y regresión; Tablas de AutoML; e importación de modelos de TensorFlow. Puedes usar un modelo con datos de varios conjuntos de datos de BigQuery para entrenamiento y predicción. BigQuery ML no extrae los datos del almacén de datos. Puedes realizar ingeniería de funciones con BigQuery ML mediante el uso de la cláusula TRANSFORM en tu declaración CREATE MODEL.

Resumen: BigQuery ML aporta gran parte del poder de Google Cloud Machine Learning al almacén de datos de BigQuery con sintaxis SQL, sin extraer los datos del almacén de datos.

Almacén de IBM Db2

IBM Db2 Warehouse on Cloud es un servicio de nube pública gestionado. También puede configurar IBM Db2 Warehouse localmente con su propio hardware o en una nube privada. Como almacén de datos, incluye funciones como procesamiento de datos en memoria y tablas en columnas para procesamiento analítico en línea. Su Netezza la tecnología proporciona un sólido conjunto de análisis que están diseñados para llevar la consulta a los datos de manera eficiente. Una variedad de bibliotecas y funciones lo ayudan a obtener la información precisa que necesita.

Db2 Warehouse admite el aprendizaje automático en la base de datos en Python, R y SQL. El IDAX módulo contiene procedimientos analíticos almacenados, incluido análisis de varianza, reglas de asociación, transformación de datos, árboles de decisión, medidas de diagnóstico, discretización y momentos, agrupación de K-medias, k-vecinos más cercanos, regresión lineal, gestión de metadatos, clasificación ingenua de Bayes, análisis de componentes principales, distribuciones de probabilidad, muestreo aleatorio, árboles de regresión, patrones y reglas secuenciales y estadísticas tanto paramétricas como no paramétricas.

Resumen: IBM Db2 Warehouse incluye un amplio conjunto de análisis SQL en la base de datos que incluye algunas funciones básicas de aprendizaje automático, además de soporte en la base de datos para R y Python.

Base de datos Oracle

Kinetica Streaming Data Warehouse combina análisis de datos históricos y de transmisión con inteligencia de ubicación e inteligencia artificial en una única plataforma, todos accesibles a través de API y SQL. Kinetica es una base de datos muy rápida, distribuida, en columnas, de memoria primero, acelerada por GPU con funciones de filtrado, visualización y agregación.

Kinetica integra modelos y algoritmos de aprendizaje automático con sus datos para análisis predictivos en tiempo real a escala. Le permite optimizar sus canales de datos y el ciclo de vida de sus análisis, modelos de aprendizaje automático e ingeniería de datos, y calcular funciones con transmisión. Kinetica proporciona una solución de ciclo de vida completo para el aprendizaje automático acelerado por GPU: cuadernos Jupyter administrados, entrenamiento de modelos a través de RAPIDS e implementación e inferencia de modelos automatizados en la plataforma Kinetica.

Resumen: Kinetica proporciona una solución completa del ciclo de vida en la base de datos para el aprendizaje automático acelerado por las GPU y puede calcular funciones a partir de datos de transmisión.

Microsoft SQL Server

Los servicios de aprendizaje automático de Microsoft SQL Server admiten R, Python, Java, el comando PREDICT T-SQL y el procedimiento almacenado rx_Predict en el RDBMS de SQL Server y SparkML en los clústeres de Big Data de SQL Server. En los lenguajes R y Python, Microsoft incluye varios paquetes y bibliotecas para el aprendizaje automático. Puede almacenar sus modelos entrenados en la base de datos o externamente. Azure SQL Managed Instance admite Machine Learning Services para Python y R como vista previa.

Microsoft R tiene extensiones que le permiten procesar datos desde el disco y también en la memoria. SQL Server proporciona un marco de extensión para que el código R, Python y Java pueda usar datos y funciones de SQL Server. Los clústeres de macrodatos de SQL Server ejecutan SQL Server, Spark y HDFS en Kubernetes. Cuando SQL Server llama al código Python, a su vez puede invocar Azure Machine Learning y guardar el modelo resultante en la base de datos para usarlo en predicciones.

Resumen: Las versiones actuales de SQL Server pueden entrenar e inferir modelos de aprendizaje automático en varios lenguajes de programación.

Base de datos Oracle

Oracle Cloud Infrastructure (OCI) Data Science es una plataforma administrada y sin servidor para que los equipos de ciencia de datos creen, capaciten y administren modelos de aprendizaje automático utilizando Oracle Cloud Infrastructure, que incluye Oracle Autonomous Database y Oracle Autonomous Data Warehouse. Incluye herramientas, bibliotecas y paquetes centrados en Python desarrollados por la comunidad de código abierto y la biblioteca Oracle Accelerated Data Science (ADS), que admite el ciclo de vida de un extremo a otro de los modelos predictivos:

  • Adquisición, elaboración de perfiles, preparación y visualización de datos
  • Ingeniería de características
  • Entrenamiento de modelos (incluido Oracle AutoML)
  • Evaluación, explicación e interpretación del modelo (incluido Oracle MLX)
  • Despliegue de modelos en funciones de Oracle

OCI Data Science se integra con el resto de la pila de Oracle Cloud Infrastructure, incluidas las funciones, el flujo de datos, el almacén de datos autónomo y el almacenamiento de objetos.

Los modelos actualmente compatibles incluyen:

  • AutoML de Oracle
  • Keras
  • Scikit-learn
  • XGBoost
  • ADSTuner (ajuste de hiperparámetros)

ADS también es compatible con la explicabilidad del aprendizaje automático (MLX).

Resumen: Oracle Cloud Infrastructure puede alojar recursos de ciencia de datos integrados con su almacén de datos, almacén de objetos y funciones, lo que permite un ciclo de vida completo de desarrollo de modelos.

vertical

Vertica Analytics Platform es un almacén de datos de almacenamiento en columnas escalable. Se ejecuta en dos modos: Enterprise, que almacena datos localmente en el sistema de archivos de los nodos que componen la base de datos, y EON, que almacena datos de forma comunitaria para todos los nodos de cómputo.

Vertica utiliza un procesamiento masivamente paralelo para manejar petabytes de datos y realiza su aprendizaje automático interno con paralelismo de datos. Tiene ocho algoritmos integrados para la preparación de datos, tres algoritmos de regresión, cuatro algoritmos de clasificación, dos algoritmos de agrupación, varias funciones de gestión de modelos y la capacidad de importar modelos TensorFlow y PMML entrenados en otros lugares. Una vez que haya ajustado o importado un modelo, puede usarlo para la predicción. Vertica también permite extensiones definidas por el usuario programadas en C ++, Java, Python o R. Utiliza la sintaxis SQL tanto para el entrenamiento como para la inferencia.

Resumen: Vertica tiene un buen conjunto de algoritmos de aprendizaje automático integrados y puede importar modelos de TensorFlow y PMML. Puede realizar predicciones a partir de modelos importados y también de sus propios modelos.

MentesDB

Si su base de datos aún no es compatible con el aprendizaje automático interno, es probable que pueda agregar esa capacidad utilizando MindsDB, que se integra con media docena de bases de datos y cinco herramientas de BI. Las bases de datos admitidas incluyen MariaDB, MySQL, PostgreSQL, ClickHouse, Microsoft SQL Server y Snowflake, con una integración de MongoDB en proceso e integraciones con bases de datos de transmisión prometidas más adelante en 2021. Las herramientas de BI admitidas actualmente incluyen SAS, Qlik Sense, Microsoft Power BI, Looker y Domo.

MindsDB presenta AutoML, tablas de IA e IA explicable (XAI). Puede invocar el entrenamiento de AutoML desde MindsDB Studio, desde una instrucción SQL INSERT o desde una llamada a la API de Python. La capacitación puede usar opcionalmente GPU y, opcionalmente, puede crear un modelo de serie temporal.

Puede guardar el modelo como una tabla de base de datos y llamarlo desde una instrucción SQL SELECT contra el modelo guardado, desde MindsDB Studio o desde una llamada a la API de Python. Puede evaluar, explicar y visualizar la calidad del modelo desde MindsDB Studio.

También puede conectar MindsDB Studio y la API de Python a fuentes de datos locales y remotas. MindsDB también proporciona un marco de aprendizaje profundo simplificado, Lightwood, que se ejecuta en PyTorch.

Resumen: MindsDB brinda capacidades útiles de aprendizaje automático a una serie de bases de datos que carecen de soporte integrado para el aprendizaje automático.