Compartilhar via


Implantar modelos para inferência e previsão em lote

Este artigo descreve como implantar modelos do MLflow para inferência offline (em lote e de streaming). O Databricks recomenda que você use o MLflow para implantar modelos de machine learning para inferência em lote ou de streaming. Para obter informações gerais sobre como trabalhar com modelos do MLflow, confira Registrar em log, carregar, registrar e implantar modelos do MLflow.

Para obter informações sobre o fornecimento de modelo em tempo real no Azure Databricks, confira Fornecimento de modelo com o Azure Databricks.

Usar o MLflow para inferência de modelo

O MLflow ajuda você a gerar código para inferência de lote ou de streaming.

Você também pode personalizar o código gerado por qualquer uma das opções acima. Confira os notebooks a seguir para obter exemplos:

  • O exemplo de inferência de modelo usa um modelo treinado com scikit-learn e registrado anteriormente no MLflow para mostrar como carregar um modelo e usá-lo para fazer previsões sobre dados em formatos diferentes. O notebook ilustra como aplicar o modelo como um modelo scikit-learn a um DataFrame do pandas e como aplicar o modelo como um UDF do PySpark a um DataFrame do Spark.
  • O exemplo do Registro de Modelo do MLflow mostra como criar, gerenciar e implantar um modelo com o Registro de Modelo. Nessa página, você pode pesquisar para .predict identificar exemplos de previsões offline (em lote).

Criar um trabalho do Azure Databricks

Para executar previsões de lote ou streaming como um trabalho, crie um notebook ou JAR que inclua o código usado para executar as previsões. Em seguida, execute o notebook ou JAR como um trabalho do Azure Databricks. Os trabalhos podem ser executados imediatamente ou em um agendamento.

Inferência de streaming

No Registro de Modelo do MLflow, você pode gerar automaticamente um notebook que integra o UDF de inferência de PySpark do MLflow com o Delta Live Tables.

Você também pode modificar o notebook de inferência gerado para usar a API de Streaming Estruturado do Apache Spark. Confira os pipelines MLlib e o exemplo do Structured Streaming do Apache Spark.

Inferência com modelos de aprendizado profundo

Para obter informações sobre a inferência de modelo de aprendizado profundo no Azure Databricks, além de exemplos, confira os seguintes artigos:

Inferência com modelos MLlib e XGBoost4J

Para a inferência de um modelo escalonável com modelos da MLlib e do XGBoost4J, use os métodos transform nativos para executar a inferência diretamente em DataFrames do Spark. Os exemplos de notebooks da MLlib incluem etapas de inferência.

Personalizar e otimizar a inferência de modelo

Ao usar as APIs do MLflow para executar a inferência em DataFrames do Spark, você pode carregar o modelo como uma UDF do Spark e aplicá-lo em escala usando a computação distribuída.

Você pode personalizar seu modelo para adicionar pré-processamento ou pós-processamento e otimizar o desempenho computacional para modelos grandes. Uma boa opção para personalizar modelos é a API pyfunc do MLflow, que permite encapsular um modelo com lógica personalizada.

Caso você precise fazer uma personalização adicional, você pode encapsular manualmente seu modelo do machine learning em uma UDF do Pandas ou em uma UDF de Iterador do pandas. Confira os exemplos de aprendizado profundo.

Para conjuntos de dados menores, também é possível usar as rotinas de inferência de modelo nativo fornecidas pela biblioteca.