Funcionalidades de Machine Learning en Azure Synapse Analytics

Azure Synapse Analytics ofrece distintas funcionalidades de aprendizaje automático. En este artículo se proporciona información general sobre cómo se puede aplicar el aprendizaje automático en el contexto de Azure Synapse.

En esta información general se describen las distintas funcionalidades de Synapse relacionadas con el aprendizaje automático, desde la perspectiva del proceso de ciencia de datos.

Es posible que esté familiarizado con el aspecto de un proceso típico de ciencia de datos. Se trata de un proceso conocido, que siguen la mayoría de los proyectos de aprendizaje automático.

En un nivel superior, el proceso contiene los siguientes pasos:

  • Comprensión empresarial (no se trata en este artículo)
  • Adquisición y comprensión de los datos
  • Modelado
  • Implementación y puntuación de modelos

En este artículo se describen las funcionalidades de aprendizaje automático de Azure Synapse en diferentes motores de análisis, desde una perspectiva de proceso de ciencia de datos. Se resumen las funcionalidades de Azure Synapse que pueden ayudar para cada paso del proceso de ciencia de datos.

Adquisición y comprensión de los datos

La mayoría de los proyectos de aprendizaje automático implican pasos bien establecidos y uno de estos pasos es acceder a los datos y comprenderlos.

Origen de datos y canalizaciones

Gracias a Azure Data Factory, una parte integrada de forma nativa de Azure Synapse, hay un conjunto eficaz de herramientas disponibles para las canalizaciones de ingesta de datos y de orquestación de datos. Esto le permite crear fácilmente canalizaciones de datos para acceder a los datos y transformarlos a un formato que se pueda consumir para el aprendizaje automático. Obtenga más información sobre las canalizaciones de datos en Synapse.

Preparación de datos y su exploración o visualización

Una parte importante del proceso de aprendizaje automático es comprender los datos mediante la exploración y las visualizaciones.

En función de dónde se almacenen los datos, Synapse ofrece un conjunto diferente de herramientas para explorar y prepararlos para el análisis y el aprendizaje automático. Una de las maneras más rápidas de empezar a trabajar con la exploración de datos es usar Apache Spark o grupos de SQL sin servidor directamente sobre los datos del lago de datos.

Modelado

En Azure Synapse, el entrenamiento de los modelos de Machine Learning se puede realizar en los grupos de Apache Spark con herramientas como PySpark/Python, Scala o .NET.

Entrenamiento de modelos en grupos de Spark con MLlib

Los modelos de Machine Learning se pueden entrenar con la ayuda de varios algoritmos y bibliotecas. Spark MLlib ofrece algoritmos de aprendizaje automático escalables que pueden ayudar a resolver la mayoría de los problemas clásicos de aprendizaje automático. Para ver un tutorial sobre cómo entrenar un modelo mediante MLlib en Synapse, consulte Compilación de una aplicación de aprendizaje automático con Apache Spark MLlib y Azure Synapse Analytics.

Además de MLlib, también se pueden usar bibliotecas populares, como Scikit Learn, para desarrollar modelos. Para más información sobre cómo instalar bibliotecas en grupos de Synapse Spark, consulte Administración de bibliotecas para Apache Spark en Azure Synapse Analytics.

Entrenamiento de modelos con aprendizaje automático automatizado de Azure Machine Learning

Otra manera de entrenar modelos de Machine Learning, que no requiere estar muy familiarizado con el aprendizaje automático, es usar ML automatizado. ML automatizado es una característica que entrena automáticamente un conjunto de modelos de Machine Learning y permite al usuario seleccionar el mejor modelo en función de métricas específicas. Gracias a una perfecta integración con Azure Machine Learning desde Azure Synapse Notebooks, los usuarios pueden aprovechar fácilmente el ML automatizado en Synapse con autenticación Passthrough Microsoft Entra. Esto significa que solo tiene que apuntar a su área de trabajo de Azure Machine Learning y no es necesario que escriba ninguna credencial. El tutorial Entrenamiento de un modelo en Python mediante el aprendizaje automático automatizado describe cómo entrenar modelos mediante ML automatizado de Azure Machine Learning en grupos de Spark de Synapse.

Advertencia

  • A partir del 29 de septiembre de 2023, Azure Synapse interrumpirá el soporte técnico oficial con los entornos de ejecución de Spark 2.4. Después del 29 de septiembre de 2023, no solucionaremos ninguna incidencia de soporte técnico relacionada con Spark 2.4. No habrá ninguna canalización de versión en vigor para las correcciones de errores o de seguridad para Spark 2.4. El uso de Spark 2.4 después de la fecha límite de soporte técnico se lleva a cabo a riesgo propio. Se desaconseja encarecidamente continuar el uso debido a posibles problemas de seguridad y funcionalidad.
  • Como parte del proceso de desuso de Apache Spark 2.4, nos gustaría notificarle que AutoML en Azure Synapse Analytics también quedará en desuso. Esto incluye tanto la interfaz de código bajo como las API que se usan para crear pruebas de AutoML mediante código.
  • Tenga en cuenta que la funcionalidad de AutoML estaba disponible exclusivamente mediante el entorno de ejecución de Spark 2.4.
  • Para los clientes que quieran seguir aprovechando las funcionalidades de AutoML, se recomienda guardar los datos en su cuenta de Azure Data Lake Storage Gen2 (ADLSg2). Desde allí, se puede acceder sin problemas a la experiencia de AutoML mediante Azure Machine Learning (AzureML). Encontrará más información sobre esta solución alternativa aquí.

Implementación y puntuación de modelos

Los modelos entrenados tanto en Azure Synapse como fuera de Azure Synapse se pueden usar fácilmente para la puntuación por lotes. Actualmente en Synapse, hay dos maneras en las que puede ejecutar la puntuación por lotes.

  • Puede usar la función TSQL PREDICT en grupos de Synapse SQL para ejecutar sus predicciones donde residen los datos. Esta función eficaz y escalable le permite enriquecer sus datos sin moverlos fuera de su almacenamiento de datos. Se introdujo una nueva experiencia guiada de modelo de Machine Learning en Synapse Studio, donde puede implementar un modelo de ONNX desde el registro de modelos de Azure Machine Learning en grupos de Synapse SQL para la puntuación por lotes con PREDICT.

  • Otra opción para los modelos de Machine Learning de puntuación por lotes en Azure Synapse es aprovechar los grupos de Apache Spark para Azure Synapse. En función de las bibliotecas usadas para entrenar los modelos, puede usar una experiencia de código para ejecutar la puntuación por lotes.

SynapseML

SynapseML (anteriormente conocido como MMLSpark) es una biblioteca de código abierto que simplifica la creación de canalizaciones de aprendizaje automático (ML) escalables de forma masiva. Se trata de un ecosistema de herramientas que se usan para expandir el marco de Apache Spark en varias direcciones nuevas. SynapseML unifica varios marcos de aprendizaje automático existentes y nuevos algoritmos de Microsoft en una única API escalable que se puede usar en Python, R, Scala, .NET y Java. Para más información, consulte las características clave de SynapseML.

Pasos siguientes