Entrenamiento de modelos de Machine Learning

Apache Spark en Azure Synapse Analytics permite el aprendizaje automático con macrodatos, lo que proporciona la capacidad de obtener información valiosa de grandes cantidades de datos estructurados, no estructurados y en rápido movimiento. Existen varias opciones cuando se entrenan modelos de Machine Learning mediante Azure Spark en Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Learning y otras bibliotecas de código abierto.

Apache SparkML y MLlib

Apache Spark en Azure Synapse Analytics es una de las implementaciones de Microsoft de Apache Spark en la nube. Proporciona un marco de procesamiento datos paralelos de código abierto y unificado que admite el procesamiento en memoria para agilizar el análisis de macrodatos. El motor de procesamiento Spark se ha creado para ofrecer velocidad, facilidad de uso y análisis sofisticados. Las capacidades de cálculo distribuido en memoria de Spark lo convierten en una buena opción para algoritmos iterativos en los cálculos de gráficos y aprendizaje automático.

Hay dos bibliotecas escalables de aprendizaje automático que ofrecen las funcionalidades del modelado algorítmico a este entorno distribuido: MLlib y SparkML. MLlib contiene la API original que se basa en RDD. SparkML es un paquete más reciente que proporciona una API de nivel más alto que se basa en DataFrames para construir canalizaciones ML. SparkML aún no admite todas las características de MLlib, pero está reemplazándola como biblioteca de aprendizaje automático estándar de Spark.

Nota:

Para más información sobre la creación de modelos de SparkML, consulte este tutorial.

Cada grupo de Apache Spark de Azure Synapse Analytics incluye un conjunto de bibliotecas de aprendizaje automático conocidas y precargadas. Estas bibliotecas proporcionan código reutilizable que se puede incluir en los programas o proyectos. Estas son algunas de las bibliotecas de aprendizaje automático pertinentes que se incluyen de forma predeterminada:

  • Scikit-learn es una de las bibliotecas de aprendizaje automático de nodo único más populares para algoritmos de Machine Learning clásicos. Scikit-learn admite la mayoría de los algoritmos de aprendizaje supervisados y no supervisados y también se puede usar para la minería y el análisis de datos.

  • XGBoost es una conocida biblioteca de aprendizaje automático que contiene algoritmos optimizados para el entrenamiento de árboles de decisión y bosques aleatorios.

  • PyTorch y TensorFlow son bibliotecas de aprendizaje profundo de Python eficaces. En los grupos de Apache Spark de Azure Synapse Analytics, estas bibliotecas se pueden usar para compilar modelos de máquina única estableciendo el número de ejecutores del grupo en cero. Aunque Apache Spark no funciona con esta configuración, es una manera sencilla y barata de crear modelos de máquina única.

Para más información sobre las bibliotecas disponibles y sus versiones relacionadas, consulte el artículo publicado acerca del runtime de Azure Synapse Analytics.

MMLSpark

La biblioteca Microsoft Machine Learning para Apache Spark es MMLSpark. Esta biblioteca se ha diseñado para que los científicos de datos sean más productivos en Spark, aumenten la velocidad de experimentación y aprovechen las técnicas de aprendizaje automático de vanguardia,como el aprendizaje profundo, en conjuntos de datos grandes.

MMLSpark proporciona una capa sobre las API de bajo nivel de SparkML cuando se crean modelos de aprendizaje automático escalables, como las cadenas de indexación, la conversión de datos en un diseño esperado por los algoritmos de aprendizaje automático y el ensamblado de vectores de características. La biblioteca MMLSpark simplifica estas y otras tareas comunes para la creación de modelos en PySpark.

Aprendizaje automático automatizado en Azure Machine Learning

Azure Machine Learning es un entorno en la nube que permite entrenar, implementar, automatizar, administrar y realizar un seguimiento de los modelos de aprendizaje automático. ML automatizado en Azure Machine Learning acepta tanto valores de configuración como datos de entrenamiento y, después, recorre automáticamente combinaciones de diferentes métodos de estandarización o normalización de características, modelos y valores de hiperparámetros hasta obtener el mejor modelo.

Si se usa ML automatizado en Azure Synapse Analytics, se puede aprovechar la integración profunda entre los distintos servicios para simplificar la autenticación y el entrenamiento de modelos.

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í.

Servicios de Azure AI

Los servicios de Azure AI proporcionan funciones de aprendizaje automático para solucionar problemas generales, como el análisis de texto para la opinión emocional o el análisis de imágenes para reconocer objetos o caras. No es necesario tener conocimientos de aprendizaje automático ni ciencia de datos para usar estos servicios. Un servicio de Cognitive Service proporciona una parte o todos los componentes de una solución de aprendizaje automático: datos, algoritmos y modelos entrenados. Estos servicios están diseñados para requerir conocimientos generales sobre los datos sin necesidad de tener experiencia con el aprendizaje automático o la ciencia de datos. Puede aprovechar automáticamente estos servicios de Azure AI entrenados previamente en Azure Synapse Analytics.

Pasos siguientes

En este artículo se proporciona información general sobre las distintas opciones para entrenar modelos de Machine Learning en los grupos de Apache Spark de Azure Synapse Analytics. Para más información sobre el entrenamiento de modelos, siga este tutorial: