Transformers4Rec: Levando o Poder do PLN aos Sistemas de Recomendação Modernos
Introdução
À medida que o comércio digital e o consumo de conteúdo online continuam a crescer rapidamente, a demanda por mecanismos de recomendação eficazes e personalizados é maior do que nunca. Compradores e streamers esperam recomendações sob medida, seja ao procurar produtos, filmes ou música. No entanto, os sistemas de recomendação tradicionais, que dependem de filtragem colaborativa ou baseada em conteúdo, usam dados históricos estáticos e muitas vezes têm dificuldade para se adaptar às mudanças nas preferências dos usuários. Para lidar com essas limitações, sistemas de recomendação que aproveitam modelos dinâmicos de IA capazes de capturar o comportamento do usuário em evolução tornaram-se essenciais e populares.
Em um recente Unstructured Data Meetup organizado pela Zilliz, Kunal Sonalkar, Cientista de Dados na Nordstrom, compartilhou insights sobre o uso do Transformers4Rec para possibilitar recomendações sequenciais e baseadas em sessão, a fim de atender melhor às necessidades em evolução dos usuários. Esta postagem do blog destaca os principais aprendizados da apresentação de Kunal, com nossa perspectiva sobre o futuro dos sistemas de recomendação. Você também pode assistir à palestra completa de Kunal no YouTube para mais detalhes.
O que é Transformers4Rec?
Transformers4Rec é uma biblioteca poderosa e flexível projetada para criar sistemas de recomendação sequenciais e baseados em sessão com PyTorch. Ao se integrar com Transformers, um dos frameworks mais populares em processamento de linguagem natural (NLP), o Transformers4Rec cria uma ponte entre NLP e sistemas de recomendação.
A figura a seguir mostra o uso da biblioteca transformers4Rec em um sistema de recomendação. Os dados de entrada para a biblioteca são uma sequência de interações do usuário—como itens que um usuário visualiza ou adiciona ao carrinho durante uma sessão. O Transformers4Rec processa essas interações para fazer previsões inteligentes sobre o que o usuário pode querer em seguida. Por exemplo, imagine que um cliente esteja navegando em uma livraria online. Primeiro, ele vê vários romances de ficção científica, adiciona um ao carrinho e depois visualiza algumas páginas de autores relacionados. O Transformers4Rec analisa essa sequência de ações e prevê que o cliente pode se interessar por outro título popular de ficção científica ou por um romance de fantasia relacionado.
Figura- Como o Transformers4Rec funciona em um sistema de recomendação .png
Figura: Como o Transformers4Rec funciona em um sistema de recomendação
Kunal destaca que, para construir um sistema de recomendação eficaz, é essencial entender a intenção do cliente—como o tipo de produto em que ele está interessado e se ele é sensível a preço—para adaptar as recomendações adequadamente.
Por exemplo, dois clientes procurando por "sapatos" podem receber recomendações diferentes com base em suas interações e preferências anteriores, como orçamento ou preferência de marca.
sapatos.png
Arquitetura do Transformers4Rec
Como mencionamos anteriormente, a arquitetura do Transformers4Rec é projetada para adaptar modelos transformer a recomendações sequenciais e baseadas em sessão, processando dados de interação do usuário de maneira estruturada. Sua arquitetura inclui quatro componentes principais que trabalham juntos para fazer previsões: Agregação de Recursos, Mascaramento de Sequência, Processamento de Sequência e Cabeça de Predição.
Figura- Arquitetura do Transformers4Rec .png
Figura: Arquitetura do Transformers4Rec
Agregação de Recursos
O componente Agregação de Recursos reúne dados sobre interações dos usuários — tanto variáveis contínuas quanto categóricas — para criar um perfil abrangente para recomendação. Por exemplo, em um sistema de recomendação de e-commerce, os recursos categóricos podem incluir atributos como marca e tipo de produto, enquanto os recursos contínuos podem capturar preço, taxas de desconto ou interações recentes (por exemplo, o número de cliques em um produto nas últimas 24 horas).
Figura- Agregação de Recursos no Transformers4Rec.png
Figura: Agregação de Recursos no Transformers4Rec
Antes de alimentar essas sequências em um bloco transformer, os dados de interação precisam ser pré-processados em um formato padronizado chamado embeddings vetoriais (representações numéricas de dados de interação em um espaço de alta dimensão). As entradas podem ser organizadas por ID de usuário ou ID de sessão, com a sequência de interações agregada em uma única representação vetorial, conhecida como um "embedding de interação." Esse embedding contém informações contextuais sobre as interações do usuário, como o tipo de ações do usuário, itens envolvidos e ordem das interações, e pode ser armazenado em um banco de dados vetorial para recuperação eficiente e busca semântica. Um banco de dados vetorial robusto como Milvus ou seu serviço gerenciado Zilliz Cloud, que se integra bem com PyTorch, pode simplificar esse processo. Além disso, o Transformers4Rec inclui um módulo NVTabular para converter facilmente dados brutos no formato necessário, tornando a preparação de dados mais gerenciável.
Mascaramento de Sequência
O componente Mascaramento de Sequência no Transformers4Rec aplica máscaras às interações dos usuários para evitar vazamento de dados e manter a ordem da sequência, garantindo que o modelo respeite a linha do tempo dos eventos. Por exemplo, ao prever o próximo item de um usuário, esse módulo oculta quaisquer ações futuras, permitindo que o modelo aprenda de maneira causal, passo a passo.
Diferentes tipos de mascaramento de sequência no Transformers4Rec controlam o que o modelo "vê" durante o treinamento ou a inferência, o que o ajuda a capturar padrões significativos no comportamento do usuário e melhora sua capacidade de prever a próxima interação. O Transformers4Rec oferece várias opções em mascaramento de sequência:
Causal Language Modeling (CLM): Essa técnica mascara itens futuros em uma sequência, treinando o modelo para prever cada item com base apenas nos itens anteriores. CLM é ideal para recomendações sequenciais em que a ordem das interações é crucial.
Masked Language Modeling (MLM): Em MLM, certas posições na sequência são mascaradas aleatoriamente, e o modelo aprende a prever os itens ocultos usando o contexto ao redor. Essa técnica ajuda o modelo a entender relações entre itens sem depender de uma ordem estrita.
Random Token Detection (RTD): RTD substitui um item aleatório na sequência por um item não relacionado, e o modelo aprende a identificar esse item incorreto. Esse método ensina o modelo a distinguir padrões genuínos de ruído aleatório ou anomalias.
Permutation Language Modeling (PLM): Aqui, os itens na sequência são embaralhados, e o modelo é treinado para prever itens na nova ordem permutada. PLM incentiva a flexibilidade ao ajudar o modelo a reconhecer padrões em qualquer ordem.
Figura- Diferença entre Casual LM e Masked LM durante o Mascaramento de Sequência.png
Figura: Diferença entre Casual LM e Masked LM durante o Mascaramento de Sequência
Normalmente, 20-30% dos embeddings posicionais são mascarados antes do treinamento. A probabilidade de mascaramento também desempenha um papel na robustez do sistema de recomendação.
Essas técnicas de mascaramento permitem que o modelo aprenda com as interações dos usuários de várias maneiras, aprimorando sua capacidade de fazer recomendações precisas e conscientes do contexto.
Processamento de Sequências
O componente Processamento de Sequências fornece recursos de entrada a modelos transformer para prever itens ou posições mascarados em uma sequência de interação de um usuário. O Transformers4Rec oferece suporte a várias arquiteturas para processamento de sequências, incluindo XLNet, GPT-2 e LSTM, permitindo que os usuários escolham o modelo mais adequado para seu sistema de recomendação.
Os embeddings vetoriais de interação são passados para o bloco transformer, conforme ilustrado no trecho de código abaixo. Os usuários podem configurar a arquitetura do transformer especificando parâmetros como o número de camadas e o comprimento da sequência. Um bloco sequencial no PyTorch pode ser criado passando as entradas agregadas, aplicando mascaramento e habilitando a configuração desejada do modelo, permitindo uma configuração flexível para tarefas de recomendação personalizadas.
Processamento de sequências no Pytorch .png
Fig) _Processamento de sequências no Pytorch_
Cabeça de Predição
A Cabeça de Predição é o módulo final no framework Transformers4Rec, onde as saídas do modelo transformer são usadas para gerar recomendações acionáveis.
Figura- As saídas do modelo transformer são usadas para gerar recomendações acionáveis. .png
Figura: As saídas do modelo transformer são usadas para gerar recomendações acionáveis.
Este módulo oferece suporte a vários casos de uso adaptados às necessidades de negócios, incluindo:
Predição do Próximo Item: Esta opção prevê o próximo item com o qual um usuário provavelmente interagirá com base em suas ações anteriores, ajudando a fornecer recomendações oportunas e relevantes.
Classificação Binária: Aqui, o modelo calcula a probabilidade de que um usuário clique em um item específico. Isso é valioso para a predição da taxa de cliques (CTR), pois ajuda a determinar quais itens têm maior probabilidade de engajar os usuários, auxiliando na otimização de layout e conteúdo.
Regressão: Tarefas de regressão permitem a predição de valores contínuos, como o tempo que um usuário pode passar em um item, o número de interações esperadas ou até mesmo um valor estimado de compra.
O diagrama abaixo ilustra o pipeline de produção de ponta a ponta, incluindo todos os quatro componentes—Agregação de Recursos, Mascaramento de Sequências, Processamento de Sequências e a Cabeça de Predição—trabalhando juntos para fornecer recomendações precisas e conscientes do contexto.
Figura- Pipeline de ponta a ponta de um sistema de recomendação criado usando Transformers4Rec.png
Figura: Pipeline de ponta a ponta de um sistema de recomendação criado usando Transformers4Rec
Avaliação e Desafios no Uso do Transformers4Rec
Criar um sistema de recomendação com Transformers4Rec exige tanto uma avaliação eficaz quanto um planejamento estratégico para superar desafios de escalabilidade e manutenção.
Avaliação do Sistema
A eficácia de um sistema de recomendação depende em grande parte de quão precisamente ele atende às necessidades dos usuários. Para o Transformers4Rec, métricas comuns de avaliação incluem precisão e recall, que medem quão bem as principais ‘N’ recomendações do sistema se alinham às preferências dos usuários. Além disso, métricas de ranqueamento como Precisão Média Média (MAP) e Ganho Cumulativo Descontado Normalizado (NDCG) também são usadas para avaliar a relevância e a ordem dos itens recomendados.
Desafios
Escalar um sistema de recomendação alimentado por Transformers4Rec vem com custos computacionais significativos, particularmente ao implantá-lo em grande escala com recursos de GPU. Construir e manter um sistema desse tipo também exige uma infraestrutura extensa, abrangendo tudo, desde a coleta e o armazenamento de dados até a implantação do modelo e a inferência em tempo real.
Escolher a infraestrutura certa é crucial para criar um sistema que possa recuperar rapidamente recomendações relevantes. Por exemplo, usar um banco de dados vetorial como o Milvus permite buscas por similaridade rápidas e armazenamento eficiente de embeddings vetoriais, que se integram bem ao pipeline de recomendação.
Outro desafio importante é lidar com catálogos de produtos novos ou que mudam com frequência. Transformers4Rec precisa fornecer recomendações precisas para esses novos itens, mesmo com dados históricos limitados. Isso exige adaptabilidade tanto no modelo quanto na infraestrutura de dados para atualizar recomendações com base em contexto recente.
Resumo
Neste blog, discutimos como o Transformers4Rec usa técnicas inspiradas em NLP para criar sistemas de recomendação dinâmicos e personalizados. Com componentes como Feature Aggregation, Sequence Masking, Sequence Processing e Prediction Head, o framework captura padrões complexos dos usuários para entregar recomendações relevantes em tempo real. Métricas-chave, incluindo precision, recall, MAP e NDCG, ajudam a avaliar a eficácia do sistema, garantindo que as recomendações atendam às necessidades dos usuários.
Também discutimos os desafios de escalar o Transformers4Rec, particularmente em torno dos custos de infraestrutura e das necessidades de armazenamento, em que ferramentas como o banco de dados vetorial Milvus oferecem suporte ao armazenamento e à recuperação eficientes de vetores. Ajustar parâmetros, como dimensões vetoriais e comprimento de sequência, é uma técnica essencial que otimiza o desempenho do modelo, tornando o Transformers4Rec uma solução flexível e poderosa para sistemas de recomendação modernos.
Leitura adicional
Entendendo a arquitetura e os conceitos centrais dos modelos Transformer
Busca vetorial eficiente em RecSys com Milvus e NVIDIA Merlin
Transformando recomendações de anúncios: a jornada da SmartNews com Milvus
Desbloqueie mecanismos de recomendação avançados com a nova Range Search do Milvus
Crie um mecanismo de recomendação de filmes com Milvus e Python
Continue lendo

Introducing Zilliz CLI and Agent Skills for Zilliz Cloud
Manage your vector database from your terminal or AI coding agent. Zilliz CLI and Agent Skills work with Claude Code, Cursor, Codex, and Copilot.

How Zilliz Saw the Future of Vector Databases—and Built for Production
An inside look at how Zilliz built vector databases for real-world use, focusing on scalability, stability, and running them reliably at scale.

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.


