Bases de datos que soportan el aprendizaje automático

0
53
Custom Text

Mantener el código cerca de los datos es necesario para mantener la latencia baja, 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 pasar por todos sus datos varias veces (cada pasada se llama una época).

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 soportan de forma limitada. La siguiente pregunta natural es: ¿qué bases de datos soportan el aprendizaje automático interno y cómo lo hacen? Hablaré de esas bases de datos por orden alfabético.

Amazon Redshift
Amazon Redshift es un servicio de almacén de datos administrado a escala de petabytes diseñado para que sea sencillo y rentable analizar todos sus datos utilizando sus herramientas de inteligencia empresarial existentes. Está optimizado para conjuntos de datos que van desde unos cientos de gigabytes hasta un petabyte o más, y cuesta menos de mil dólares por terabyte al 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 utilizarán para el entrenamiento y la columna de destino, y 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.

Tras el 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 se especifican mediante una declaración SQL, que se extraen de un bucket de S3. La mejor función de predicción encontrada se registra en el clúster de Redshift.

BlazingSQL
BlazingSQL es un motor SQL acelerado por la GPU construido sobre el ecosistema RAPIDS. Existe como proyecto de código abierto y como servicio de pago. RAPIDS es un conjunto de bibliotecas y APIs de software de código abierto, incubado por Nvidia, que utiliza CUDA y se basa en el formato de memoria columnar Apache Arrow. CuDF, que forma parte de RAPIDS, es una librería 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 múltiples máquinas. Dask puede distribuir los datos y el cálculo en varias GPUs, ya sea en el mismo sistema o en un clúster de varios nodos. Dask se integra con RAPIDS cuDF, XGBoost y RAPIDS cuML para el análisis de datos y el aprendizaje automático acelerados por la GPU.

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

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

BigQuery ML soporta la regresión lineal para la previsión; la regresión logística binaria y multiclase para la clasificación; la agrupación de K-medias para la segmentación de datos; la factorización de matrices para crear sistemas de recomendación de productos; las series temporales para realizar previsiones de series temporales, incluyendo las anomalías, la estacionalidad y las vacaciones; los modelos de clasificación y regresión de XGBoost; las redes neuronales profundas basadas en TensorFlow para los modelos de clasificación y regresión; las tablas AutoML; y la importación de modelos TensorFlow. Puede utilizar un modelo con datos de varios conjuntos de datos de BigQuery para el entrenamiento y la predicción. BigQuery ML no extrae los datos del almacén de datos. Puede realizar ingeniería de características con BigQuery ML utilizando la cláusula TRANSFORM en su declaración CREATE MODEL.

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

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

Db2 Warehouse soporta el aprendizaje automático en la base de datos en Python, R y SQL. El módulo IDAX contiene procedimientos analíticos almacenados, entre los que se incluyen el análisis de la varianza, las reglas de asociación, la transformación de datos, los árboles de decisión, las medidas de diagnóstico, la discretización y los momentos, la agrupación de K-medias, los K-vecinos más próximos, la regresión lineal, la gestión de metadatos, la clasificación naïve Bayes, el análisis de componentes principales, las distribuciones de probabilidad, el muestreo aleatorio, los árboles de regresión, los patrones y reglas secuenciales, y la estadística paramétrica y no paramétrica.

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.

Kinetica
Kinetica Streaming Data Warehouse combina el análisis de datos históricos y de streaming con la inteligencia de localización y la inteligencia artificial en una única plataforma, todo ello accesible a través de API y SQL. Kinetica es una base de datos muy rápida, distribuida, en columnas, con memoria y acelerada por la GPU, con funciones de filtrado, visualización y agregación.

Kinetica integra modelos y algoritmos de aprendizaje automático con sus datos para realizar análisis predictivos en tiempo real a escala. Le permite agilizar sus pipelines de datos y el ciclo de vida de su analítica, modelos de aprendizaje automático e ingeniería de datos, y calcular funciones con streaming. Kinetica proporciona una solución de ciclo de vida completo para el aprendizaje automático acelerado por las GPU: cuadernos Jupyter gestionados, entrenamiento de modelos a través de RAPIDS y despliegue automatizado de modelos e inferencias en la plataforma Kinetica.

Resumen: Kinetica proporciona una solución de ciclo de vida completo en la base de datos para el aprendizaje automático acelerado por las GPUs, y puede calcular características a partir de datos de streaming.

Microsoft SQL Server
Los servicios de aprendizaje automático de Microsoft SQL Server son compatibles con R, Python, Java, el comando PREDICT T-SQL y el procedimiento almacenado rx_Predict en el SQL Server RDBMS, 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 soporta los servicios de aprendizaje automático para Python y R como una vista previa.

Microsoft R tiene extensiones que le permiten procesar datos tanto en disco como en memoria. SQL Server proporciona un marco de extensión para que el código de R, Python y Java pueda utilizar los datos y las funciones de SQL Server. Los clústeres de Big Data de SQL Server ejecutan SQL Server, Spark y HDFS en Kubernetes. Cuando SQL Server llama al código Python, este puede a su vez invocar a Azure Machine Learning y guardar el modelo resultante en la base de datos para utilizarlo en las predicciones.

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

Oracle
Oracle Cloud Infrastructure (OCI) Data Science es una plataforma gestionada y serverless para que los equipos de ciencia de datos construyan, entrenen y gestionen modelos de aprendizaje automático utilizando Oracle Cloud Infrastructure. Incluye herramientas, bibliotecas y paquetes centrados en Python y desarrollados por la comunidad de código abierto, así como la biblioteca Oracle Accelerated Data Science (ADS), que soporta el ciclo de vida completo de los modelos predictivos:

  • Adquisición, perfilado, preparación y visualización de datos
  • Ingeniería de características
  • Entrenamiento del modelo (incluyendo Oracle AutoML)
  • Evaluación, explicación e interpretación del modelo (incluyendo Oracle MLX)
  • Despliegue del modelo en Oracle Functions

OCI Data Science se integra con el resto de la pila de Oracle Cloud Infrastructure, incluyendo Functions, Data Flow, Autonomous Data Warehouse y Object Storage.

Los modelos soportados actualmente incluyen:
Oracle AutoML
Keras
Scikit-learn
XGBoost
ADSTuner (ajuste de hiperparámetros)

ADS también soporta la explicabilidad del aprendizaje automático (MLX).

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

Vertica
Vertica Analytics Platform es un almacén de datos escalable de almacenamiento en columnas. Se puede ejecutar en dos modos: Enterprise, que almacena los datos de forma local en el sistema de archivos de los nodos que componen la base de datos; y EON, que almacena los datos de forma comunal para todos los nodos de computación.

Vertica utiliza el procesamiento paralelo masivo para manejar petabytes de datos y realiza su aprendizaje automático interno con paralelismo de datos. Tiene ocho algoritmos incorporados 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 otro lugar. Una vez que se ha ajustado o importado un modelo, se puede utilizar para la predicción. Vertica también permite extensiones definidas por el usuario programadas en C++, Java, Python o R. Se utiliza la sintaxis SQL tanto para el entrenamiento como para la inferencia.

Resumen: Vertica tiene un buen conjunto de algoritmos de aprendizaje automático incorporados y puede importar modelos TensorFlow y PMML. Puede realizar predicciones a partir de modelos importados, así como de sus propios modelos.

Las ocho bases de datos soportan el aprendizaje automático internamente. El mecanismo exacto varía, y algunas son más capaces que otras. Sin embargo, si tiene tantos datos que, de otro modo, tendría que ajustar los modelos en un subconjunto muestreado, cualquiera de estas bases de datos podría ayudarle a construir modelos a partir del conjunto de datos completo sin incurrir en importantes gastos de exportación de datos.

Martin Heller InfoWorld.com – CIOPeru.pe

Artículo anteriorMatará el nuevo iPad Pro M1 al PC? En absoluto…
Artículo siguienteAnalizando la colaboración encontramos estas nuevas formas de trabajar remotamente