A previsão da taxa de cliques (CTR) é uma tarefa crítica para vários aplicativos industriais, como publicidade on-line, sistemas de recomendação e pesquisa patrocinada. O Fuxictr fornece uma biblioteca de código aberto para previsão de CTR, com os principais recursos em configuração, ajuste e reprodutibilidade. Esperamos que este projeto possa promover pesquisas reproduzíveis e beneficiar pesquisadores e profissionais nesse campo.
Configurável : tanto o pré -processamento de dados quanto os modelos são modularizados e configuráveis.
Tunable : os modelos podem ser ajustados automaticamente por meio de configurações fáceis.
Reproduzível : todos os benchmarks podem ser facilmente reproduzidos.
Extensible : pode ser facilmente estendido a novos modelos, suportando as estruturas Pytorch e TensorFlow.
| Não | Publicação | Modelo | Papel | Benchmark | Versão |
|---|---|---|---|---|---|
| Modelos de interação com recurso | |||||
| 1 | Www'07 | Lr | Prevendo cliques: estimando a taxa de cliques para novos anúncios Microsoft | torch | |
| 2 | ICDM'10 | Fm | Máquinas de fatorização | torch | |
| 3 | Cikm'13 | DSSM | Aprendendo modelos semânticos estruturados profundos para pesquisa na web usando dados de cliques Microsoft | torch | |
| 4 | Cikm'15 | CCPM | Um modelo convolucional de previsão de cliques | torch | |
| 5 | Recsys'16 | Ffm | Máquinas de fatorização com reconhecimento de campo para previsão CTR Criteo | torch | |
| 6 | Recsys'16 | DNN | Redes neurais profundas para recomendações do YouTube Google | torch , tf | |
| 7 | DLRS'16 | Largo e profundo | Aprendizagem larga e profunda para sistemas de recomendação Google | torch , tf | |
| 8 | ICDM'16 | Pnn | Redes neurais baseadas em produtos para previsão de resposta ao usuário | torch | |
| 9 | Kdd'16 | Profundo | Crossing profundo: Modelagem em escala da Web sem recursos combinatórios trabalhados manualmente Microsoft | torch | |
| 10 | NIPS'16 | Hofm | Máquinas de fatoração de ordem superior | torch | |
| 11 | Ijcai'17 | Deepfm | Deepfm: uma rede neural baseada em máquina de fatoração para previsão de CTR Huawei | torch , tf | |
| 12 | Sigir'17 | Nfm | Máquinas de fatorização neural para análise preditiva esparsa | torch | |
| 13 | Ijcai'17 | AFM | Máquinas de fatorização atencional: Aprendendo o peso das interações de recursos através de redes de atenção | torch | |
| 14 | Adkdd'17 | Dcn | Deep & Cross Network para previsões de cliques do anúncio Google | torch , tf | |
| 15 | Www'18 | Fwfm | Máquinas de fatorização ponderada em campo para previsão de taxas de cliques em Oath publicitário de exibição, touchpal, LinkedIn, Alibaba | torch | |
| 16 | Kdd'18 | xdeepfm | XDeepfm: Combinando interações de recursos explícitas e implícitas para sistemas de recomendação Microsoft | torch | |
| 17 | Cikm'19 | Fignn | FignN: Modelagem Interações com Recursos via Redes Neurais de Gráfico para Previsão CTR | torch | |
| 18 | Cikm'19 | Autoint/Autoint+ | Autoint: aprendizado automático de interação com recursos através de redes neurais auto-atentas | torch | |
| 19 | Recsys'19 | Fibinet | Fibinet: Combinando a importância do recurso e a interação bilinear de características para previsão da taxa de cliques Sina Weibo | torch | |
| 20 | Www'19 | FGCNN | Geração de recursos por rede neural convolucional para previsão de taxa de cliques Huawei | torch | |
| 21 | Aaai'19 | HFM/HFM+ | Máquinas de fatoração holográfica para recomendação | torch | |
| 22 | Arxiv'19 | Dlrm | Modelo de recomendação de aprendizado profundo para sistemas de personalização e recomendação Facebook | torch | |
| 23 | NeuralNetworks'20 | Onn | Redes neurais conscientes da operação para previsão de resposta ao usuário | torch , tf | |
| 24 | Aaai'20 | AFN/AFN+ | Rede de fatorização adaptativa: aprendizado de interações de recursos de ordem adaptativa | torch | |
| 25 | Aaai'20 | LORENTZFM | Aprendizagem Interações com Lorentzian Factorization eBay | torch | |
| 26 | WSDM'20 | Interhat | Previsão da taxa de cliques interpretável por meio de Atenção Hierárquica NEC Labs, Google | torch | |
| 27 | Dlp-kdd'20 | Flen | Flen: Campo de alavancagem para previsão CTR escalável Tencent | torch | |
| 28 | Cikm'20 | Deepim | Máquina de interação profunda: um modelo simples, mas eficaz para interações de destaque de alta ordem , Alibaba, realai | torch | |
| 29 | Www'21 | Fmfm | FM^2: Máquinas de fatorização matriculada em campo para sistemas de recomendação Yahoo | torch | |
| 30 | Www'21 | DCN-V2 | DCN V2: Rede Deep & Cross aprimorada e lições práticas para o aprendizado em escala na Web para classificar sistemas Google | torch | |
| 31 | Cikm'21 | DESTINAR | Redes neurais auto-atentas sem vergonha para previsão de taxas de cliques Alibaba | torch | |
| 32 | Cikm'21 | Edcn | Melhorando interações explícitas e implícitas de recursos via compartilhamento de informações para modelos ctr paralelos Huawei | torch | |
| 33 | Dlp-kdd'21 | MaskNet | MaskNet: Introdução de multiplicação de recursos aos modelos de classificação CTR por máscara guiada por exemplo Sina Weibo | torch | |
| 34 | Sigir'21 | Sam | Olhando para a previsão da CTR novamente: a atenção é tudo o que você precisa? Boss Zhipin | torch | |
| 35 | Kdd'21 | Aoanet | Rede adaptativa de arquitetura e operação para recomendações on -line Didi Chuxing | torch | |
| 36 | Aaai'23 | FinalMlp | FinalMLP: um modelo MLP aprimorado de dois stream para previsão CTR Huawei | torch | |
| 37 | Sigir'23 | FinalNet | Final: Camada de interação fatorizada para previsão CTR Huawei | torch | |
| 38 | Sigir'23 | EulerNet | EulerNet: Adaptive Feature Interação Aprendendo através da fórmula de Euler para a previsão da CTR Huawei | torch | |
| 39 | Cikm'23 | Gdcn | Para uma rede cruzada mais profunda, mais leve e interpretável para a previsão da CTR Microsoft | torch | |
| 40 | ICML'24 | Wukong | Wukong: em direção a uma lei de escala para meta de recomendação em larga escala | torch | |
| Modelagem de sequência de comportamento | |||||
| 42 | Kdd'18 | Din | Rede de juros profundos para previsão de taxa de cliques Alibaba | torch | |
| 43 | Aaai'19 | Dien | Rede de evolução de juros profundos para previsão da taxa de cliques Alibaba | torch | |
| 44 | DLP-KDD'19 | Bst | Transformador de sequência de comportamento para recomendação de comércio eletrônico em Alibaba Alibaba | torch | |
| 45 | Cikm'20 | Dmin | Rede de vários interesses profundos para previsão da taxa de cliques Alibaba | torch | |
| 46 | Aaai'20 | DMR | Modelo de correspondência profunda para classificar para previsão de taxa de cliques personalizados Alibaba | torch | |
| 47 | Dlp-kdd'22 | ETA | Modelagem de dados de usuário seqüencial e eficiente para previsão de taxa de cliques Alibaba | torch | |
| 48 | Cikm'22 | Sdim | A amostragem é tudo o que você precisa na modelagem de comportamentos de usuário de longo prazo para a previsão da CTR Meituan | torch | |
| 49 | Kdd'23 | Transacto | Transact: Modelo de ação do usuário em tempo real baseado em transformador para recomendação no Pinterest Pinterest | torch | |
| Rede de peso dinâmico | |||||
| 50 | Neurips'22 | Apg | APG: Rede de geração de parâmetros adaptativa para previsão de taxa de cliques Alibaba | torch | |
| 51 | Kdd'23 | Ppnet | Pepnet: parâmetro e incorporação de rede personalizada para infundir com informações anteriores personalizadas kuaishou | torch | |
| Modelagem de várias tarefas | |||||
| 52 | Arxiv'17 | Sharebottom | Uma visão geral do aprendizado de várias tarefas em redes neurais profundas | torch | |
| 53 | Kdd'18 | Mmoe | Modelando as relações de tarefas em aprendizado de várias tarefas com mistura de especialistas em vários gados Google | torch | |
| 54 | Recsys'20 | Ple | Extração progressiva em camadas (PLE): um novo modelo de aprendizado de várias tarefas (MTL) para recomendações personalizadas tencent | torch | |
Nós comparamos os modelos FUXICTR em um conjunto de conjuntos de dados abertos da seguinte forma:
Fuxictr tem as seguintes dependências:
Instale outros pacotes necessários via pip install -r requirements.txt .
Execute os exemplos de demonstração
Exemplos são fornecidos no diretório de demonstração para mostrar algum uso básico do FUXICTR. Os usuários podem executar os exemplos para iniciar rápido e entender o fluxo de trabalho.
cd demo
python example1_build_dataset_to_parquet.py
python example2_DeepFM_with_parquet_input.py
Execute um modelo em pequenos dados
Os usuários podem executar facilmente cada modelo no zoológico do modelo seguindo os comandos abaixo, que é uma demonstração para a execução do DCN. Além disso, os usuários podem modificar os arquivos de configuração e configuração do conjunto de dados para executar em seus próprios conjuntos de dados ou com novos hiper-parâmetros. Mais detalhes podem ser encontrados no ReadMe.
cd model_zoo/DCN/DCN_torch
python run_expid.py --expid DCN_test --gpu 0
# Change `MODEL` according to the target model name
cd model_zoo/MODEL
python run_expid.py --expid MODEL_test --gpu 0
Execute um modelo nos conjuntos de dados de benchmark (por exemplo, criteo)
Os usuários podem seguir a seção de referência para obter conjuntos de dados de referência e etapas de execução para reproduzir os resultados existentes. Por favor, veja um exemplo aqui: https://github.com/reczoo/bars/tree/main/ranking/ctr/dcnv2/dcnv2_criteo_x1
Implementar um novo modelo
A biblioteca Fuxictr foi projetada para ser modularizada, para que todos os componentes possam ser substituídos pelos usuários de acordo com suas necessidades. Em muitos casos, apenas a classe modelo precisa ser implementada para um novo modelo personalizado. Se o pré -processamento de dados ou o carregador de dados não for aplicável diretamente, também se pode substituir um novo através das APIs principais. Mostramos um exemplo concreto que implementa nosso novo modelo FinalMLP que foi publicado recentemente no AAAI 2023.
Sintonizar hiper-parâmetros de um modelo
Atualmente, o Fuxictr suporta a pesquisa de grade rápida de hiper-parâmetros de um modelo usando várias GPUs. O exemplo a seguir mostra a pesquisa de grade de 8 experimentos com 4 GPUs.
cd experiment
python run_param_tuner.py --config config/DCN_tiny_parquet_tuner_config.yaml --gpu 0 1 2 3 0 1 2 3
Se você achar útil nosso código ou referência em sua pesquisa, cite os seguintes trabalhos.
Bem -vindo para se juntar ao nosso grupo WeChat para qualquer pergunta e discussão. Se você estiver interessado em pesquisa e prática em sistemas de recomendação, entre em contato com nosso grupo WeChat.