Exatamente do que Você Precisa: Equipe de Sistemas de Recomendação Apresenta Estratégias Vencedoras

Especialistas da NVIDIA que ganharam os principais desafios do setor revelam os segredos da criação de um dos melhores sistemas de recomendação do mundo.
por Rick Merritt

Foi por pouco.

Cinco minutos antes do prazo, a equipe conseguiu enviar o projeto. Essa foi a terceira (e a mais difícil) competição de ciência de dados do ano com sistemas de recomendação da qual o grupo participou. Também conhecido como “recsys”, esse ramo relativamente novo da ciência da computação é responsável por uma das aplicações mais comuns em machine learning, que ajuda milhões de pessoas a encontrar o que querem assistir, comprar e jogar.

A equipe reuniu seus seis modelos de AI em um pacote de 20GB, o limite da competição, com todas as informações obtidas na análise de 750 milhões de dados. Uma das regras específicas da competição era que os modelos precisavam ser executados em menos de 24 horas em um único núcleo de uma CPU no cloud.

A equipe enviou o projeto e esperou.

Depois de 23 horas e 40 minutos, eles receberam um e-mail: ficaram em primeiro lugar no ranking.

Bem a Tempo

No dia 28 de junho, a equipe de sete membros da NVIDIA foi oficialmente declarada a vencedora do ACM RecSys Challenge, a segunda vitória do grupo na competição.

“O e-mail chegou na última hora. Se tivéssemos demorado mais 20 minutos, não teríamos conseguido”, contou Chris Deotte, um dos vários membros da equipe que também é grandmaster nas competições do Kaggle, as Olimpíadas on-line de ciência de dados”.

“Foi por pouco”, revelou Benedikt Schifferer, outro membro da equipe. Ele ajudou a projetar o NVIDIA Merlin, um framework que ajuda os usuários a criar rapidamente seus próprios sistemas de recomendação.

As GPUs teriam realizado a tarefa de inferência em menos tempo. Sobre a adaptação do projeto a um núcleo de CPU, Gilberto Titericz, ou “Giba”, também grandmaster do Kaggle e membro brasileiro da equipe, declarou: “Foi como voltar a um passado distante”.

Na verdade, quando a competição acabou, a equipe revelou que a tarefa de inferência que levou quase 24 horas em um núcleo de CPU poderia ter sido executada em uma única GPU NVIDIA A100 Tensor Core em apenas cinco minutos e meio.

Classificando 40 Milhões de Itens por Dia

Para a competição, o Twitter ofereceu aos participantes milhões de dados por dia durante 28 dias e pediu que previssem quais seriam os tweets curtidos ou retweetados pelos usuários. Foi um dos maiores desafios da principal conferência técnica sobre recsys, um evento que atrai grandes engenheiros do Facebook, da Google, do Spotify e de outras empresas.

Part of the winning RecSys team
Uma parte da equipe do RecSys Challenge, no sentido horário do canto superior esquerdo: Bo Liu, Benedikt Schifferer, Gilberto Titericz e Chris Deotte.

O que a área tem de difícil também tem de útil. Os sistemas de recomendação movimentam nossa economia digital, oferecendo sugestões mais rápidas e inteligentes do que as pesquisas tradicionais.

Os desafios do setor contribuem para avanços no setor que trazem benefícios para todo mundo, seja ao procurar o presente perfeito para um cônjuge ou um amigo de longa data on-line.

Três Vitórias em Cinco Meses

No início do ano, a equipe da NVIDIA foi a vencedora do Booking.com Challenge, do qual participaram 40 grupos. Eles usaram milhões de dados anonimizados para prever que cidade na Europa seria eleita como destino por turistas e acertaram.

Em junho, outro concurso importante de recsys, o SIGIR eCommerce Data Challenge, lançou um desafio ainda maior.

Part of the winning SIGIR RecSys team
Os vencedores do desafio do SIGIR, no sentido horário do canto superior esquerdo: Ronay Ak, Sara Rabhi, Md Yasin Kabir e o líder da equipe, Gabriel Moreira.

O evento anual Special Interest Group on Information Retrieval (SIGIR) atrai especialistas de empresas do Alibaba ao Walmart Labs. No desafio de 2021, foram oferecidos 37 milhões de dados de sessões de compras on-line, e os participantes precisavam prever quais produtos os usuários comprariam.

Como a competição ocorreu na mesma época que o ACM, a equipe da NVIDIA foi obrigada a se dividir em dois grupos para conseguir participar dos concursos. Alguns membros precisavam escrever um artigo para a conferência ACM RecSys, então a pressão foi ainda maior.

A Arte do Revezamento

A equipe de cinco profissionais da NVIDIA, com membros do Brasil, do Canadá, da França e dos EUA, conseguiu garantir o melhor desempenho geral e conquistar o primeiro ou o segundo lugar nos rankings graças a dois fatores. Eles investiram em modelos de transformadores desenvolvidos para o processamento de linguagem natural e cada vez mais adotados para recsys, além de entenderem a arte da entrega.

“Quando um membro parava de trabalhar, o outro continuava em um fuso horário diferente.

É um método muito eficiente. Fiquei impressionado com o que conquistamos no último ano. Desenvolvemos as habilidades internas da equipe e garantimos uma posição na comunidade de recsys que nos permitiu vencer três grandes competições em cinco meses”, contou Even Oldridge, que lidera o grupo do Merlin.

Respeitando a Privacidade dos Usuários

O desafio era o seguinte: os modelos precisavam fazer previsões sem nenhuma informação sobre os usuários, somente as da sessão de navegação daquele momento.

“Essa tarefa é importante porque, às vezes, os usuários querem navegar de modo anônimo, e algumas leis de privacidade limitam o acesso a informações históricas”, afirmou Gabriel Moreira, pesquisador sênior do Merlin em São Paulo e líder da equipe da NVIDIA no SIGIR.

A competição foi o primeiro evento em que a equipe usou apenas modelos de transformadores para solucionar um desafio. O grupo liderado por Moreira quer que todos os clientes do Merlin tenham fácil acesso às redes neurais gigantes.

Garantindo o Título de Tetracampeão

No dia 30 de junho, conquistamos a quarta vitória consecutiva em competições de RecSys. O MLPerf, um grupo de benchmarking do setor, anunciou que a NVIDIA e seus parceiros estabeleceram recordes em todos os benchmarks de treinamento mais atuais do grupo, inclusive em um de sistemas de recomendação.

A equipe por trás da iniciativa explicou como treinou um sistema de recomendação em menos de um minuto em 14 sistemas NVIDIA DGX, um resultado 3,3 vezes mais rápido que o do ano anterior.

Compartilhando as Lições Aprendidas

As competições são fontes de ideias para novas técnicas que acabam sendo adotadas em frameworks de recsys como o Merlin e em ferramentas, artigos e aulas on-line realizadas pelo Deep Learning Institute da NVIDIA sobre o assunto. O objetivo final é ajudar todos a garantir o sucesso.

Em entrevistas, os especialistas em recsys da NVIDIA falaram abertamente sobre o que aprenderam, equilibrando arte e ciência.

Uma Dica Profissional sobre RecSys

Uma das práticas recomendadas é usar diversos modelos que funcionem como um grupo.

No ACM RecSys Challenge, a equipe usou modelos de árvores e redes neurais. O output de uma etapa foi usado como input para a próxima, no processo conhecido como “empilhamento”.

“Com apenas um modelo, pode ocorrer alguma falha devido a um erro nos dados ou a um problema de convergência, mas, com um conjunto de modelos, a potência é muito maior”, disse Bo Liu, o membro mais recente da equipe de grandmasters do Kaggle da NVIDIA.

Conheça os Especialistas em RecSys On-line

No dia 29 de julho, você pode conhecer especialistas em RecSys do Facebook, da NVIDIA e do TensorFlow para saber mais sobre como criar sistemas de recomendação eficientes.