Este tutorial ensina a construir um pipeline de recall vetorial two-tower com Deep Structured Semantic Model (DSSM) usando o designer visual de pipelines do PAI. Ao final, você terá:
Criado um pipeline de recall DSSM a partir de um modelo predefinido
Treinado um modelo com amostragem negativa em dados comportamentais de 30 dias
Gerado vetores de usuário e item para recall
Avaliado a qualidade do recall usando hit_rate@top200
Pré-requisitos
Antes de começar, conclua o fluxo de trabalho de engenharia de recursos para gerar os seguintes conjuntos de dados:
rec_sln_demo_user_table_preprocess_all_feature_v2rec_sln_demo_item_table_preprocess_all_feature_v2rec_sln_demo_behavior_table_preprocess_v2
Abrir o Machine Learning Designer
Faça login no console do Machine Learning Platform for AI (PAI).
No painel de navegação à esquerda, clique em Workspaces e clique no nome do workspace desejado.
No painel de navegação à esquerda, escolha Model Development and Training > Visualized Modeling (Designer).
Criar o pipeline
Na página Visualized Modeling (Designer), clique na aba Preset Templates.
Na seção Recommended Solution - Vector Recall, clique em Create.
-
Na caixa de diálogo Create Pipeline, configure os parâmetros. Mantenha os valores padrão, se preferir.
O parâmetro Pipeline Data Path especifica o caminho do bucket do Object Storage Service (OSS) onde o pipeline armazena dados temporários e artefatos de modelo durante a execução.
-
Clique em OK.
A criação do pipeline leva cerca de 10 segundos. O pipeline estará pronto quando Recommended Solution - Vector Recall aparecer na lista.
Clique duas vezes em Recommended Solution - Vector Recall para abrir o pipeline na tela.
Entender os componentes do pipeline
O modelo predefinido cria um pipeline completo de recall DSSM. Os componentes são executados na seguinte ordem:

|
Componente |
Função |
|
1 |
Modelo de amostra |
|
2 |
Aplica geração de recursos (FG) ao modelo de amostra |
|
3 |
Cria uma tabela de amostras positivas e a utiliza para treinamento com amostragem negativa |
|
4 |
Aplica binning de frequência igual aos recursos numéricos para definir o parâmetro |
|
5 |
Conta valores únicos de recursos de enumeração para definir os parâmetros |
|
6 |
Aplica FG aos recursos de item |
|
7 |
Aplica FG aos recursos de usuário |
|
8 |
Agrega resultados de |
|
9 |
Cria uma tabela de itens para amostragem negativa |
|
10 |
Discretiza dados de amostra de 30 dias do modelo DSSM_Recall para gerar amostras de treinamento |
|
11 |
Especifica o arquivo de configuração do EasyRec com base na saída do componente 8 |
|
12 |
Exige a execução prévia do componente 11 para gerar o arquivo de configuração do EasyRec antes do treinamento do modelo |
|
13 |
Executa inferência com o modelo de item dividido em |
|
14 |
Executa inferência com o modelo de usuário dividido em |
|
15 |
Cria uma tabela de sequência e avalia a qualidade do recall usando hit_rate |
|
18 |
Calcula a métrica final de avaliação: hit_rate@top200 |
O componente 12 exige a conclusão prévia do componente 11, pois o arquivo de configuração do EasyRec deve existir antes do início do treinamento do modelo.
A avaliação de hit_rate nos componentes 15 e 18 exclui novos usuários e itens que aparecem no dia da avaliação, já que não há dados históricos disponíveis para recall.
Executar o pipeline e visualizar resultados
-
Na barra de ferramentas superior da tela, clique em Run.
O pipeline executa todos os componentes seguindo a ordem de dependência. Acompanhe o progresso pelo status de cada componente na tela. A execução termina quando todos os componentes exibirem o status de concluído.
-
Clique com o botão direito no componente 18 (
18_rec_sln_demo_recall_total_hit_rate_v1_2) e escolha View Data > hit_rate_detail para ver a taxa de acerto de recall por segmento.
-
Clique com o botão direito no componente 18 e escolha View Data > total_hit_rate para ver a taxa geral de acerto de recall.
