Partilhar via


Crie um modelo com SynapseML

Este artigo mostra como criar um modelo de aprendizado de máquina com o SynapseML e como ele simplifica tarefas complexas de aprendizado de máquina. Use SynapseML para construir um pipeline de treinamento com um estágio de featurização e um estágio de regressão LightGBM. O pipeline prevê classificações a partir do texto de revisão de livros. Aqui está como usar modelos pré-construídos com SynapseML para resolver problemas de aprendizagem automática.

Pré-requisitos

  • Obtenha uma assinatura do Microsoft Fabric. Ou inscreva-se para uma avaliação gratuita do Microsoft Fabric.

  • Entre no Microsoft Fabric.

  • Altera para o Fabric usando o alternador de experiência no canto inferior esquerdo da sua página inicial.

    Captura de ecrã que mostra a seleção de Fabric no menu do comutador de experiências.

Preparar recursos

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

  1. Criar um novo bloco de notas
  2. Ligue o seu bloco de notas a uma casa no lago. No Explorer, expanda Lakehouses e selecione Adicionar.
  3. Obtenha uma chave de serviços de IA do Azure seguindo as instruções em Guia de início rápido: criar um recurso multisserviço para 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 da chave e o nome secreto. Você precisa dessas informações para executar a transformação de uma etapa mais adiante neste artigo.

Configurar o ambiente

No seu bloco de notas, importe bibliotecas SynapseML e inicialize a 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 em conjuntos de trem 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 featurize dados usando TextFeaturizer a biblioteca e derive synapse.ml.featurize.text uma classificação usando a LightGBMRegressor função.

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 transform função 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 etapa

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

  • Substitua <secret-name> pelo nome do segredo da 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))