Compartir a través de


Compilación de un modelo con SynapseML

En este artículo se muestra cómo crear un modelo de aprendizaje automático con SynapseML y cómo simplifica las tareas complejas de aprendizaje automático. Utilizar SynapseML para crear una canalización de entrenamiento con una etapa de featurización y una etapa de regresión LightGBM. La tubería predice clasificaciones del texto de reseñas de libros. Aquí se muestra cómo usar modelos precompilados con SynapseML para resolver problemas de aprendizaje automático.

Requisitos previos

Preparación de recursos

Configure las herramientas y los recursos que necesita para compilar el modelo y la canalización.

  1. Creación de un cuaderno
  2. Adjunte el cuaderno a un almacén de lago. En el Explorador, expanda Lakehouses y, a continuación, seleccione Agregar.
  3. Obtenga una clave de Foundry Tools siguiendo las instrucciones de Inicio rápido: Creación de un recurso de varios servicios para Las herramientas de Foundry.
  4. Cree una instancia de Azure Key Vault y agregue la clave de Foundry Tools al almacén de claves como un secreto.
  5. Anote el nombre del Key Vault y el nombre del secreto. Necesita esta información para ejecutar la transformación de un paso más adelante en este artículo.

Configuración del entorno

En su cuaderno, importe las bibliotecas SynapseML e inicialice su sesión Spark.

from pyspark.sql import SparkSession
from synapse.ml.core.platform import *

spark = SparkSession.builder.getOrCreate()

Cargar un conjunto de datos

Cargue su conjunto de datos y divídalo en conjuntos de entrenamiento y de prueba.

train, test = (
    spark.read.parquet(
        "wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
    )
    .limit(1000)
    .cache()
    .randomSplit([0.8, 0.2])
)

display(train)

Crear la canalización de entrenamiento

Cree una canalización que caracterice los datos utilizando TextFeaturizer de la synapse.ml.featurize.text biblioteca y obtenga una calificación utilizando la función LightGBMRegressor.

from pyspark.ml import Pipeline
from synapse.ml.featurize.text import TextFeaturizer
from synapse.ml.lightgbm import LightGBMRegressor

model = Pipeline(
    stages=[
        TextFeaturizer(inputCol="text", outputCol="features"),
        LightGBMRegressor(featuresCol="features", labelCol="rating", dataTransferMode="bulk")
    ]
).fit(train)

Predecir el resultado de los datos de prueba

Llame a la función transform en el modelo para predecir y mostrar la salida de los datos de prueba como un marco de datos.

display(model.transform(test))

Uso de Las herramientas de Foundry para transformar datos en un paso

Como alternativa, para estos tipos de tareas que tienen una solución precompilada, puede usar la integración de SynapseML con Foundry Tools para transformar los datos en un solo paso. Ejecute el código siguiente con estos reemplazos:

  • Reemplace por <secret-name> el nombre del secreto de clave de Foundry Tools.
  • Reemplaza <key-vault-name> por el nombre del almacén de claves.
from synapse.ml.services import TextSentiment
from synapse.ml.core.platform import find_secret

model = TextSentiment(
    textCol="text",
    outputCol="sentiment",
    subscriptionKey=find_secret("<secret-name>", "<key-vault-name>")
).setLocation("eastus")

display(model.transform(test))