En mi artículo de octubre de 2022, “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 que pasa se denomina época).
El caso ideal para conjuntos de datos muy grandes es construir el modelo donde ya residen los datos, de modo que no se necesite una transmisión masiva de datos. Varias bases de datos lo admiten hasta cierto punto. La siguiente pregunta natural es, ¿qué bases de datos admiten el aprendizaje automático interno y cómo lo hacen? Discutiré 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 comercial 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 $1000 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 CREAR MODELO 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 depósito cifrado de Amazon S3 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 instrucción SELECT.
Resumen: Redshift ML usa SageMaker Autopilot para crear automáticamente modelos de predicción a partir de los datos que especifica a través de una instrucción SQL, que se extrae a un depósito S3. La mejor función de predicción encontrada se registra en el clúster Redshift.
BlazingSQL
BlazingSQL es un motor SQL acelerado por GPU creado 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 de 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 computación en varias GPU, 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 análisis de datos y aprendizaje automático acelerados por GPU.
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.
Brytlyt
Brytlyt es una plataforma dirigida por navegador que habilita la IA en la base de datos con capacidades de aprendizaje profundo. Brytlyt combina una base de datos PostgreSQL, PyTorch, Jupyter Notebooks, Scikit-learn, NumPy, Pandas y MLflow en una sola plataforma sin servidor que funciona como tres productos acelerados por GPU: una base de datos, una herramienta de visualización de datos y una herramienta de ciencia de datos que utiliza cuadernos
Brytlyt se conecta con cualquier producto que tenga un conector PostgreSQL, incluidas herramientas de BI como Tableau y Python. Admite la carga y la ingesta de datos desde archivos de datos externos, como CSV, y desde fuentes de datos SQL externas compatibles con los contenedores de datos externos (FDW) de PostgreSQL. Estos últimos incluyen Snowflake, Microsoft SQL Server, Google Cloud BigQuery, Databricks, Amazon Redshift y Amazon Athena.
Como base de datos de GPU con procesamiento paralelo de uniones, Brytlyt puede procesar miles de millones de filas de datos en unos pocos segundos. Brytlyt tiene aplicaciones en telecomunicaciones, comercio minorista, petróleo y gas, finanzas, logística y ADN y genómica.
Resumen: con PyTorch y Scikit-learn integrados, Brytlyt puede admitir modelos de aprendizaje profundo y aprendizaje automático simple que se ejecutan internamente en sus datos. La compatibilidad con GPU y el procesamiento paralelo significan que todas las operaciones son relativamente rápidas, aunque el entrenamiento de modelos complejos de aprendizaje profundo contra miles de millones de filas, por supuesto, llevará algún tiempo.
BigQuery en la nube de Google
BigQuery es el almacén de datos administrado a escala de petabytes de Google Cloud que le permite ejecutar análisis sobre grandes cantidades de datos casi en tiempo real. BigQuery ML le 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; Agrupamiento de K-medias 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 vacaciones; modelos de clasificación y regresión XGBoost; redes neuronales profundas basadas en TensorFlow para modelos de clasificación y regresión; tablas de AutoML; y la importación de modelos de TensorFlow. Puede usar 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 la ingeniería de funciones con BigQuery ML mediante la cláusula TRANSFORM en su instrucción CREATE MODEL.
Resumen: BigQuery ML trae 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 gestionada. 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 tablas en columnas para el procesamiento analítico en línea. Su tecnología Netezza proporciona un sólido conjunto de análisis que están diseñados para llevar de manera eficiente la consulta a los datos. 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 módulo IDAX contiene procedimientos analíticos almacenados, incluido el análisis de varianza, reglas de asociación, transformación de datos, árboles de decisión, medidas de diagnóstico, discretización y momentos, agrupamiento de K-medias, k-vecinos más cercanos, regresión lineal, gestión de metadatos, clasificación ingenua de Bayes, principal análisis de componentes, 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 de 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.
cinética
Kinetica Streaming Data Warehouse combina análisis de datos históricos y de transmisión con inteligencia de ubicación e IA en una sola plataforma, todo accesible a través de API y SQL. Kinetica es una base de datos muy rápida, distribuida, columnar, memoria primero, acelerada por GPU con funcionalidad 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 optimizar sus canalizaciones de datos y el ciclo de vida de sus análisis, modelos de aprendizaje automático e ingeniería de datos, y calcular características con transmisión. Kinetica proporciona una solución de ciclo de vida completo para el aprendizaje automático acelerado por GPU: portátiles Jupyter administrados, entrenamiento de modelos a través de RAPIDS e implementación e inferencia automatizadas de modelos 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 GPU y puede calcular funciones a partir de datos de transmisión.
Servidor SQL de Microsoft
Microsoft SQL Server Machine Learning Services admite R, Python, Java, el comando PREDICT T-SQL y el procedimiento almacenado rx_Predict en SQL Server RDBMS y SparkML en SQL Server Big Data Clusters. 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 versión preliminar.
Microsoft R tiene extensiones que le permiten procesar datos tanto del disco como de 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 las 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 construyan, entrenen 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 integral de los modelos predictivos:
- Adquisición de datos, creación de perfiles, preparación y visualización
- Ingeniería de características
- Entrenamiento de modelos (incluido Oracle AutoML)
- Evaluación, explicación e interpretación de modelos (incluido Oracle MLX)
- Implementación de modelos en Oracle Functions
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 compatibles actualmente incluyen:
ADS también es compatible con la capacidad de explicación del aprendizaje automático (MLX).
Resumen: Oracle Cloud Infrastructure puede alojar recursos de ciencia de datos integrados con su almacén de datos, almacenamiento de objetos y funciones, lo que permite un ciclo de vida de desarrollo de modelo completo.
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 paralelo masivo 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 agrupamiento, 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 incorporados y puede importar modelos TensorFlow y PMML. Puede hacer predicciones a partir de modelos importados, así como de sus propios modelos.
MentesDB
Si su base de datos aún no admite el aprendizaje automático interno, es probable que pueda agregar esa capacidad mediante 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. El entrenamiento puede usar GPU opcionalmente y puede crear opcionalmente 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 varias bases de datos que carecen de soporte integrado para el aprendizaje automático.
Un número creciente de bases de datos admiten el aprendizaje automático de forma interna. El mecanismo exacto varía, y algunos son más capaces que otros. Sin embargo, si tiene tantos datos que, de otro modo, tendría que ajustar modelos en un subconjunto de muestra, entonces cualquiera de las ocho bases de datos enumeradas anteriormente, y otras con la ayuda de MindsDB, podrían ayudarlo a crear modelos a partir del conjunto de datos completo sin incurriendo en gastos generales serios para la exportación de datos.
Derechos de autor © 2022 IDG Communications, Inc.
Be First to Comment