Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 y no estructurados, y en rápido movimiento.
En esta sección se incluye información general y tutoriales para flujos de trabajo de aprendizaje automático, incluido el análisis de datos exploratorio, la ingeniería de características, el entrenamiento de modelos, la puntuación de modelos y la implementación.
Tiempo de ejecución de Synapse
El tiempo de ejecución de Synapse es un entorno mantenido y optimizado para la ciencia de datos y el aprendizaje automático. El tiempo de ejecución de Synapse ofrece una variedad de bibliotecas de código abierto conocidas y compilaciones en el SDK de Azure Machine Learning de forma predeterminada. Asimismo, el tiempo de ejecución de Synapse también incluye gran variedad bibliotecas externas, como PyTorch, Scikit-Learn, XGBoost, etc.
Para obtener más información sobre las bibliotecas disponibles y sus versiones relacionadas, consulte el artículo publicado Tiempo de ejecución de Azure Synapse Analytics.
Análisis de datos exploratorios
Al usar Apache Spark en Azure Synapse Analytics, existen varias opciones integradas que le permitirán visualizar los datos, incluidas las opciones de gráfico del cuaderno de Synapse, el acceso a bibliotecas populares de código abierto como Seaborn y Matplotlib, y la integración con Synapse SQL y Power BI.
Para obtener más información sobre las opciones de visualización de datos y análisis de datos, consulte el artículo sobre cómo visualizar datos mediante Azure Synapse notebooks.
Ingeniería de características
De forma predeterminada, el tiempo de ejecución de Synapse incluye un conjunto de bibliotecas que se suelen usar para el diseño de características. Si trabaja con conjuntos de datos grandes, puede usar Spark SQL, MLlib y Koalas para la ingeniería de características. En el caso de conjuntos de datos más pequeños, las bibliotecas de terceros como NumPy, Pandas y Scikit-learn también proporcionan métodos útiles en estos escenarios.
Entrenamiento de modelos
Existen varias opciones al entrenar modelos de aprendizaje automático con Azure Spark en Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Learning y otras bibliotecas de código abierto.
Para obtener más información sobre las funcionalidades de aprendizaje automático, consulte el artículo sobre cómo entrenar modelos en Azure Synapse Analytics.
SparkML y MLlib
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.
spark.ml
proporciona un conjunto uniforme de API de alto nivel que ayudan a los usuarios a crear y ajustar canalizaciones de aprendizaje automático. Para más información sobre spark.ml
, puede visitar la Guía de programación de ML de Apache Spark.
Bibliotecas de código abierto
Cada grupo de Apache Spark de Azure Synapse Analytics incluye un conjunto de bibliotecas de aprendizaje automático conocidas y precargadas. Algunas de las bibliotecas de aprendizaje automático relevantes que se incluyen de forma predeterminada son las siguientes:
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 rentable de crear modelos de máquina única.
Seguimiento del desarrollo de modelos
MLflow es una biblioteca de código abierto para administrar el ciclo de vida de los experimentos de aprendizaje automático. MLFlow Tracking es un componente de MLflow que registra las métricas de ejecución de entrenamiento y los artefactos de modelo y realiza un seguimiento de ellos. Para obtener más información sobre cómo puede usar el seguimiento de MLFlow a través de Azure Synapse Analytics y Azure Machine Learning, consulte este tutorial sobre cómo usar MLFlow.
Puntuación del modelo
La puntuación del modelo o la inferencia, es la fase en la que un modelo se usa para hacer predicciones. Para usar la puntuación del modelo con SparkML o MLLib, puede aprovechar los métodos de Spark nativos para realizar la inferencia directamente en una instancia de DataFrame de Spark. En cuanto a otras bibliotecas y tipos de modelo, puede crear una función definida por el usuario de Spark para escalar horizontalmente la inferencia en grandes conjuntos de datos. En el caso de conjuntos de datos más pequeños, también puede usar los métodos de inferencia de modelos nativos que proporciona la biblioteca.
Registrar y servir modelos
Al registrar un modelo, podrá almacenar, editar y realizar un seguimiento de los metadatos correspondientes a los modelos de su área de trabajo. Una vez que haya terminado de entrenar el modelo, puede registrarlo en el registro del modelo de Azure Machine Learning. Una vez registrados, los modelos de ONNX también se pueden usar para enriquecer los datos almacenados en grupos de SQL dedicados.
Pasos siguientes
Para empezar a trabajar con el aprendizaje automático en Azure Synapse Analytics, asegúrese de consultar los siguientes tutoriales: