BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Facebook abre código do DLRM, seu modelo de recomendações com deep learning

Facebook abre código do DLRM, seu modelo de recomendações com deep learning

A Facebook AI Research anunciou o lançamento em código aberto do modelo de recomendações baseado em aprendizagem profunda (deep learning), o DLRM. O modelo tem precisão de estado-da-arte na geração de recomendações personalizadas. O código está disponível no GitHub e há versões para os frameworks PyTorch e Caffe2.

Uma equipe de mais de vinte pesquisadores publicou um artigo no final de maio, descrevendo o modelo DLRM e informações sobre o desempenho desse modelo. Esse modelo separa as características (features) de entrada em dois grupos: densas e categóricas.

Cada característica categórica tem uma embedding que a converte num vetor de comprimento predefinido. Já as características densas, são coletadas em um outro vetor e alimentadas para um perceptron multicamadas (MLP), produzindo um vetor com mesmo comprimento que as embeddings categóricas. Finalmente, o produto interno de todos os pares desses vetores é calculado, sendo concatenado com o vetor denso de características original. O produto é então pós-processado com outro MLP para produzir o resultado final.

Para avaliar a precisão do modelo, os pesquisadores o treinaram utilizando o conjunto de dados Criteo Ad Kaggle e o compararam com outro sistema de recomendações, o Deep and Cross Network (DCN). O DLRM superou ligeiramente o DCN, e os autores apontaram que isso aconteceu "mesmo sem ajustes finos dos hiperparâmetros do modelo", indicando que poderia alcançar um desempenho ainda maior.

A versão de código aberto do DLRM inclui um script para benchmarking, além de um conjunto de ferramentas para gerar datasets de treinamento sintéticos. Os pesquisadores do Facebook, Maxim Naumov e Dheevatsa Mudigere, explicam em um post que o benchmarking permite explorar o desempenho do algoritmo, usando diferentes frameworks e plataformas de hardware. Os datasets sintéticos permitem a diferentes usuários do algoritmo comparar o desempenho do modelo, sem precisar usar os mesmos datasets do mundo real (o compartilhamento de dados gera preocupações com privacidade).

A equipe do Facebook também está usando o benchmarking do DLRM como apoio à criação de sistemas de hardware. Na palestra principal do OCP Global Summit em março, o diretor de tecnologia e estratégias do Facebook, Vijay Rao, revelou a plataforma de hardware de treinamento de inteligência artificial Zion. Essa plataforma, desenvolvida em cooperação com Microsoft, Intel, NVIDIA e outros parceiros, foi projetada para atender às necessidades de algoritmos de inteligência artificial, como o DLRM. Por exemplo, os embeddings exigem mais memória, enquanto os MLPs exigem mais recursos computacionais. As ferramentas de referência do DLRM ajudam os arquitetos a identificar gargalos de hardware, os quais podem então fundamentar a próxima geração do design de hardware.

O DLRM é uma das várias recentes tentativas de resolver desafios técnicos enfrentados por sistemas de recomendação. Um desafio é que características categóricas (dados não numéricos, como o país do usuário) devem ser convertidas em uma representação numérica. Isso é feito geralmente usando uma codificação "one-hot". Porém há uma desvantagem: a alta dimensionalidade da característica gerada com essa codificação.

Outro desafio é que o melhor resultado é alcançado quando o modelo considera não apenas as características em si, mas também a interação entre elas. Isso é feito geralmente calculando-se o produto vetorial (cross-product) de cada característica com outra, o que (claro) cresce quadraticamente com o número de características. Além disso, como os valores são esparsos, os dados de treinamento podem não conter exemplos de alguns pares de características, resultando na falta de generalização do modelo gerado.

Como citado, a equipe do DRLM comparou o desempenho deste modelo com o modelo Deep and Cross Network (DCN) do Google. O Wide and Deep Learning (WDL) é outro modelo de recomendações criado pelo Google que pode ser comparado. Ambos usam embeddings para reduzir a dimensionalidade das características categóricas e adotam estratégias para incluir interações entre características. Por exemplo, o WDL utiliza um modelo linear generalizado, que combina os produtos vetoriais de todos os recursos binários. Já o DCN, usa uma rede multicamadas que aprende pesos para produtos vetoriais de ordem mais alta entre as características.

Ambos os modelos do Google são implementados no TensorFlow, enquanto o DLRM roda em PyTorch ou Caffe2. Uma desvantagem do DLRM é que, para ser executado eficientemente, precisa tanto do paralelismo de modelos quanto de dados. Essa combinação de paralelismos não é suportada no PyTorch ou no Caffe2; por isso a Facebook AI Research desenvolveu uma implementação personalizada. Segundo a equipe, em trabalhos futuros será apresentado um estudo detalhado de desempenho do modelo.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT