Compartilhar via


Criar um modelo com SynapseML

Este artigo mostra como criar um modelo de machine learning com o SynapseML e como ele simplifica tarefas complexas de machine learning. Use o SynapseML para criar um pipeline de treinamento com um estágio de apresentação e um estágio de regressão lightGBM. O pipeline prevê classificações do texto de revisão de livro. Veja como usar modelos predefinidos com SynapseML para resolver problemas de machine learning.

Pré-requisitos

Preparar os recursos

Configure as ferramentas e os recursos necessários para criar o modelo e o pipeline.

  1. Criar um novo bloco de anotações
  2. Anexe o notebook a um lakehouse. No Explorer, expanda Lakehouses e selecione Adicionar.
  3. Obtenha uma chave de serviços de IA do Azure seguindo as instruções em Início Rápido: criar um recurso multisserviço para os serviços de IA do Azure.
  4. Crie uma instância do Azure Key Vault e adicione sua chave de serviços de IA do Azure ao cofre de chaves como um segredo.
  5. Registre o nome do cofre de chaves e o nome do segredo. Você precisa dessas informações para executar a transformação de uma etapa posteriormente neste artigo.

Configurar o ambiente

No seu notebook, importe bibliotecas do SynapseML e inicialize sua sessão do Spark.

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

spark = SparkSession.builder.getOrCreate()

Carregar um conjunto de dados

Carregue seu conjunto de dados e divida-o nos conjuntos de treinamento e teste.

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

display(train)

Criar o pipeline de treinamento

Crie um pipeline que apresente dados usando TextFeaturizer da biblioteca synapse.ml.featurize.text e deriva uma classificação usando a função 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)

Prever a saída dos dados de teste

Chame a função transform no modelo para prever e exibir a saída dos dados de teste como um dataframe.

display(model.transform(test))

Usar os serviços de IA do Azure para transformar dados em uma única etapa

Como alternativa, para esses tipos de tarefas que têm uma solução predefinida, você pode usar a integração do SynapseML com os serviços de IA do Azure para transformar dados em uma única etapa. Execute o código a seguir com estas substituições:

  • Substitua <secret-name> pelo nome do segredo de chave dos Serviços de IA do Azure.
  • Substitua <key-vault-name> pelo nome do cofre de chaves.
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))