Construa um modelo amplo e profundo em um sistema de recomendação

Usando Notebook de exemplo, este artigo orienta você na construção de um sistema de recomendação com um modelo amplo e profundo. A construção de um pipeline machine learning de um sistema de recomendação amplo e profundo envolve os estágios mostrados neste diagrama:

fluxo de trabalho para um recomendador amplo e profundo

Esta referência soluções abrange as passos indicadas a azul:

  • Modelo de treinamento e avaliação

  • Exportação de modelos e gerenciamento de versões

  • inferência do modelo de lotes

  • Serviço de modelo online

Para obter informações sobre as passos não abordadas, consulte passos do projeto não abordadas.

O que é um modelo largo e profundo?

Uma escolha eficaz para um sistema de recomendação, um modelo amplo e profundo combina um modelo linear com as capacidades de um modelo de aprendizagem profunda. O modelo linear analisa dados históricos relacionados às escolhas do cliente, enquanto as capacidades de aprendizagem profunda se generalizam para estender as escolhas de recomendações relevantes.

Para saber mais, consulte este artigo acadêmico: Wide & aprendizagem profunda para Sistemas de Recomendação.

Destaques das ferramentas Databricks

O Notebook abrange várias ferramentas fornecidas no Databricks que simplificam a criação de um pipeline machine learning :

  1. SparkDatasetConverter

  2. MLflow Model Registry

  3. Exibição de modelo MLflow

Notebook descrevendo o conjunto de dados do usuário

O dataset usado neste Notebook consiste nas seguintes tabelas Delta:

  • user_profile: contém os valores user_id e seus perfis estáticos

  • item_profile: contém os valores item_id e seus perfis estáticos

  • user_item_interaction: contém eventos em que um usuário interage com um item. Essa tabela é dividida aleatoriamente em três tabelas Delta para construir e avaliar o modelo: train, validation e test.

Esse formato de dados é comum para problemas de recomendação. Alguns exemplos são:

  • Para os recomendadores de anúncios, os itens são anúncios e as interações usuário-item são registros de usuários que clicaram nos anúncios.

  • Para os recomendadores de compras online, os itens são produtos e as interações usuário-item são registros de avaliações de usuários ou histórico de pedidos.

Ao adaptar este Notebook ao seu dataset, você só precisa salvar seus dados nas tabelas Delta e fornecer os nomes e locais das tabelas. O código para carregar dados pode ser reutilizado na maior parte.

Consulte o Notebook de geração dataset para obter detalhes.

Gere e salve o Notebookanotações do conjunto de dados

Abra o bloco de anotações em outra guia

Exemplo Notebook : modelo amplo e profundo

Um modelo amplo e profundo combina um modelo linear amplo com uma rede neural profunda para lidar com a memorização e a generalização necessárias para boas recomendações.

Este modelo é apenas um exemplo entre muitos modelos de aprendizagem profunda para o problema de recomendação ou para qualquer pipeline machine learning em geral. O foco aqui é mostrar como construir o fluxo de trabalho. Você pode swap modelos diferentes para seu próprio caso de uso e ajustar o modelo para melhores métricas de avaliação.

Construa e sirva um modelo amplo e profundo em um sistema de recomendação Notebook

Abra o bloco de anotações em outra guia

passos do projeto não contempladas

Para manter o Notebook focado em mostrar como implementar um sistema de recomendação, os seguintes estágios não são cobertos. Esses estágios são mostrados como blocos cinzas no diagrama de fluxo de trabalho.

  1. Recolha de dados e análise exploratória de dados. Veja a execução de sua primeira carga de trabalho ETL no Databricks.

  2. Engenharia de recursos. A engenharia de características é uma parte importante de um sistema de recomendação, e muita informação está disponível sobre este tópico. Este Notebook supõe que você tenha um dataset com curadoria contendo interações usuário-item. Para obter detalhes sobre o dataset usado neste notebook, consulte Notebook que descreve datasetdo usuário. Para obter mais informações sobre engenharia de recursos, consulte os seguintes recursos:

  3. Afinação do modelo. O ajuste do modelo envolve revisar o código do pipeline existente, incluindo engenharia de recursos, estrutura do modelo, hiperparâmetros do modelo ou até mesmo atualizar o estágio de coleta de dados para melhorar o desempenho do modelo. Para obter mais informações sobre ferramentas para ajuste de modelo em Databricks, consulte ajuste de hiperparâmetros.