Pular para o conteúdo

Papers

Deep Neural Networks for YouTube Recommendations

Paul Covington, Jay Adams, Emre Sargin · RecSys 2016, 2016

O problema e o funil de dois estágios

Os autores descrevem o desafio de recomendar vídeos no YouTube por três ângulos. Escala: algoritmos que funcionam em problemas pequenos deixam de funcionar, e é preciso treino distribuído especializado e serving eficiente. Frescor: o corpus é muito dinâmico, com muitas horas de vídeo enviadas por segundo, então o sistema precisa reagir a conteúdo novo e às ações mais recentes do usuário, equilibrando novidade e vídeos já consolidados. Ruído: o comportamento histórico é esparso e raramente revela a satisfação real, de modo que o modelo aprende com feedback implícito. A resposta arquitetural é um funil com duas redes neurais. A geração de candidatos recebe o histórico de atividade do usuário e reduz um corpus de milhões de vídeos a algumas centenas, com foco em precisão e personalização ampla por filtragem colaborativa, usando atributos grosseiros como IDs de vídeos assistidos, tokens de busca e dados demográficos. O ranking então pontua essas centenas com um conjunto muito mais rico de atributos do vídeo e do usuário, e apresenta só algumas dezenas. O paper justifica a divisão: permite recomendar a partir de um corpus enorme e ainda ter certeza de que os poucos itens exibidos são personalizados, além de permitir misturar candidatos vindos de outras fontes. Na prática, métricas offline (precisão, recall, perda de ranking) guiam a iteração, mas a decisão final vem de testes A/B ao vivo, porque os dois nem sempre se correlacionam.

Geração de candidatos: recomendação como classificação extrema

O paper formula a geração de candidatos como classificação multiclasse extrema: dado o usuário e o contexto, prever qual vídeo, entre milhões de classes, será assistido naquele momento. A rede aprende um embedding do usuário (função do histórico e do contexto) e cada vídeo tem seu próprio embedding; um classificador softmax compara os dois. O treino usa feedback implícito, em que assistir um vídeo até o fim é exemplo positivo, porque há ordens de grandeza mais histórico implícito do que explícito, o que permite recomendar itens da cauda longa. Para treinar com milhões de classes, usam amostragem de candidatos: sorteiam negativos da distribuição de fundo e corrigem a amostragem com importance weighting. Algumas milhares de classes negativas por exemplo dão, segundo o paper, aceleração acima de 100 vezes sobre o softmax tradicional. Eles relatam que o softmax hierárquico não alcançou precisão comparável. Na rede, os IDs esparsos de vídeos assistidos viram embeddings (inspirados em modelos de linguagem continuous bag of words, CBOW), são combinados por média, concatenados com outros atributos e passam por camadas ReLU totalmente conectadas. No serving, como probabilidades calibradas não são necessárias, o problema vira uma busca aproximada de vizinhos mais próximos no espaço de produto escalar, que precisa responder em dezenas de milissegundos; os autores observaram que os resultados de A/B não eram muito sensíveis ao algoritmo de vizinhos escolhido.

Atributos, frescor e a escolha do rótulo

Uma vantagem apontada pelos autores é que a rede neural, vista como generalização da fatoração de matrizes, aceita facilmente atributos contínuos e categóricos arbitrários. Além do histórico de vídeos, entram o histórico de busca (consultas tokenizadas em unigramas e bigramas, embedados e promediados), região geográfica e dispositivo (embedados) e atributos simples como gênero, estado de login e idade, que entram direto na rede normalizados em [0, 1]. Os atributos demográficos dão priors para que as recomendações se comportem razoavelmente com usuários novos. Um atributo central é a idade do exemplo: sistemas de aprendizado de máquina costumam ter um viés implícito em direção ao passado, e a distribuição produzida pelo recomendador reflete a probabilidade média de visualização na janela de treino, de várias semanas. O paper alimenta a idade do exemplo como atributo no treino e a fixa em zero (ou levemente negativa) no serving, simulando uma previsão feita no fim da janela. A escolha do rótulo também pesa: os exemplos vêm de todas as visualizações do YouTube, inclusive as feitas em outros sites, para que conteúdo novo consiga aparecer e a descoberta se propague por filtragem colaborativa. Gera-se um número fixo de exemplos por usuário, para que poucos usuários muito ativos não dominem a perda. Os autores também retêm informação do classificador: usar a sequência de buscas faria o modelo reproduzir a última página de resultados, então as buscas entram como saco de tokens sem ordem. Por fim, preveem a próxima visualização futura, e não uma retirada aleatória, porque isso vazaria informação do futuro e ignoraria padrões de consumo assimétricos, como séries vistas em sequência.

Ranking: atributos ricos e tempo de exibição esperado

O ranking usa os dados de impressão para especializar e calibrar os candidatos para a interface específica. Ele pode usar muito mais atributos porque pontua só algumas centenas de vídeos, em vez de milhões, e também serve para combinar fontes de candidatos cujas pontuações não são diretamente comparáveis. Os autores usam centenas de atributos, classificados como univalentes ou multivalentes e como atributos do item (impressão) ou do usuário/contexto (consulta); os de consulta são calculados uma vez por requisição e os de impressão a cada item pontuado. Os sinais mais importantes descrevem interações anteriores do usuário com o próprio item e itens parecidos, como quantos vídeos do mesmo canal ele já viu. Os autores também consideram crucial passar ao ranking informação da geração de candidatos, como quais fontes nomearam o candidato e com que pontuação. A frequência de impressões passadas introduz variação entre requisições. Os atributos categóricos viram embeddings com vocabulários simples, montados com uma passada pelos dados antes do treino, e atributos do mesmo espaço de IDs compartilham o embedding. Os contínuos são normalizados pela distribuição acumulada, aproximada por interpolação linear sobre quantis, e entram também elevados ao quadrado e com raiz quadrada. O objetivo é prever tempo de exibição esperado, não cliques, pois ranquear por taxa de cliques frequentemente promove vídeos enganosos, que o usuário não assiste até o fim, enquanto o tempo de exibição capta melhor o engajamento. Usam regressão logística ponderada: impressões clicadas pesam o tempo assistido e as não clicadas pesam um. No serving, a ativação final é a função exponencial, que produz as odds aprendidas; como a fração de impressões clicadas é pequena (o que vale no caso do YouTube), essas odds ficam próximas do tempo de exibição esperado.

Evidências, trade-offs e lições

Os experimentos mostram que profundidade e atributos adicionais melhoram a precisão em dados de holdout. Na geração de candidatos, o modelo com profundidade zero equivale a uma fatoração linear e tem desempenho parecido com o sistema anterior; acrescentar busca, idade do exemplo e demais atributos, junto com camadas ReLU em formato de torre (cada camada com metade das unidades da anterior), melhora a MAP; largura e profundidade foram acrescentadas até o benefício incremental diminuir e a convergência ficar difícil. No ranking, a Tabela 1 mede a perda ponderada por tempo de exibição em dados do dia seguinte: sem camadas ocultas a perda é de 41,6%, e a configuração 1024, 512 e 256 unidades ReLU chega a 34,6%. Camadas maiores melhoram o resultado, mas custam CPU de inferência, e essa configuração foi a melhor que cabia no orçamento de CPU de serving. Nessa configuração, remover as potências dos atributos contínuos elevou a perda em 0,2%, e pesar positivos e negativos igualmente elevou-a em 4,1%. Os modelos têm cerca de um bilhão de parâmetros e treinam com centenas de bilhões de exemplos; a maior parte dos parâmetros fica nos embeddings de alta cardinalidade. Entre as lições dos autores: escolher o problema substituto (surrogate) tem enorme peso nos resultados ao vivo e é difícil de medir offline, e manter o histórico de impressões e visualizações atualizado ao segundo é uma proeza de engenharia que o paper deixa fora de escopo.

Veja as ideias em ação

Pratique na escola de System Design os desenhos que usam este paper.