La prédiction du taux de clics (CTR) est une tâche essentielle pour diverses applications industrielles telles que la publicité en ligne, les systèmes de recommandation et la recherche parrainée. Fuxictr fournit une bibliothèque open source pour la prédiction CTR, avec des caractéristiques clés en configurabilité, en accord et en reproductibilité. Nous espérons que ce projet pourrait promouvoir la recherche reproductible et profiter aux chercheurs et aux praticiens dans ce domaine.
Configurable : le prétraitement des données et les modèles sont modularisés et configurables.
Torable : les modèles peuvent être automatiquement réglés via des configurations faciles.
Reproductible : tous les repères peuvent être facilement reproduits.
Extensible : il peut être facilement étendu à tous les nouveaux modèles, prenant en charge les cadres Pytorch et TensorFlow.
| Non | Publication | Modèle | Papier | Référence | Version |
|---|---|---|---|---|---|
| Modèles d'interaction en fonctionnalités | |||||
| 1 | Www'07 | LR | Prédire les clics: estimation du taux de clics pour les nouvelles publicités Microsoft | torch | |
| 2 | ICDM'10 | FM | Machines de factorisation | torch | |
| 3 | Cikm'13 | DSSM | Apprendre des modèles sémantiques structurés profonds pour la recherche Web à l'aide de données de clics Microsoft | torch | |
| 4 | Cikm'15 | CCPM | Un modèle de prédiction de clic convolutionnel | torch | |
| 5 | Recsys'16 | FFM | Machines de factorisation consciente du terrain pour la prédiction CTR criteo | torch | |
| 6 | Recsys'16 | Dnn | Réseaux de neurones profonds pour les recommandations YouTube Google | torch , tf | |
| 7 | Dlrs'16 | Large et profond | Apprentissage large et profond pour les systèmes de recommandation Google | torch , tf | |
| 8 | ICDM'16 | PNN | Réseaux de neurones basés sur des produits pour la prédiction de la réponse de l'utilisateur | torch | |
| 9 | KDD'16 | Cru | Crossage profond: Modélisation à l'échelle Web sans fonctionnalités combinatoires fabriquées manuellement Microsoft | torch | |
| 10 | Nips'16 | Hofm | Machines de factorisation d'ordre supérieur | torch | |
| 11 | Ijcai'17 | Deepfm | DeepFM: un réseau neuronal basé sur la machine de factorisation pour la prédiction CTR Huawei | torch , tf | |
| 12 | Sigir'17 | NFM | Machines de factorisation neuronale pour l'analyse prédictive clairsemée | torch | |
| 13 | Ijcai'17 | AFM | Machines de factorisation attentionnelles: apprendre le poids des interactions des fonctionnalités via les réseaux d'attention | torch | |
| 14 | Adkdd'17 | Dcn | Network Deep & Cross pour les prédictions de clic publicitaire Google | torch , tf | |
| 15 | Www'18 | Fwfm | Machines de factorisation pondérées sur le terrain pour la prédiction du taux de clics dans l'affichage Advertising serment, TouchPal, LinkedIn, Alibaba | torch | |
| 16 | KDD'18 | xdeepfm | xdeepfm: combinant des interactions de fonctionnalités explicites et implicites pour les systèmes de recommandation Microsoft | torch | |
| 17 | Cikm'19 | Fignn | FIGNN: Modélisation des interactions de fonctionnalités via des réseaux de neurones graphiques pour la prédiction CTR | torch | |
| 18 | Cikm'19 | AUTOINT / AUTOINT + | AUTOINT: Apprentissage automatique des fonctionnalités via des réseaux de neurones auto-attentifs | torch | |
| 19 | Recsys'19 | Fibinet | Fibinet: combinant l'importance des fonctionnalités et l'interaction des fonctionnalités bilinéaires pour la prédiction du taux de clics Sina Weibo | torch | |
| 20 | Www'19 | FGCNN | Génération de fonctionnalités par réseau neuronal convolutionnel pour prédiction de taux de clics Huawei | torch | |
| 21 | Aaai'19 | HFM / HFM + | Machines de factorisation holographiques pour recommandation | torch | |
| 22 | ArXiv'19 | Dlrm | Modèle de recommandation d'apprentissage en profondeur pour les systèmes de personnalisation et de recommandation Facebook | torch | |
| 23 | NeuralNetworks'20 | Onn | Réseaux de neurones conscients de l'opération pour la prédiction de la réponse de l'utilisateur | torch , tf | |
| 24 | Aaai'20 | Afn / afn + | Réseau de factorisation adaptatif: apprentissage des interactions de fonctionnalités d'ordre adaptatif | torch | |
| 25 | Aaai'20 | Lorentzfm | Interactions de fonctionnalités d'apprentissage avec la factorisation lorentzienne eBay | torch | |
| 26 | WSDM'20 | Interhat | Prédiction de taux de clics interprétable à travers l'attention hiérarchique NEC Labs, Google | torch | |
| 27 | DLP-KDD'20 | Flen | Flen: champ de mise à profit pour la prédiction CTR évolutive Tencent | torch | |
| 28 | Cikm'20 | Deepim | Machine d'interaction profonde: un modèle simple mais efficace pour les interactions de fonctions d'ordre élevé Alibaba, Realai | torch | |
| 29 | Www'21 | FMFM | FM ^ 2: Machines de factorisation à maturité sur le terrain pour les systèmes de recommandation Yahoo | torch | |
| 30 | Www'21 | DCN-V2 | DCN V2: le réseau profond et croisé amélioré et les leçons pratiques pour l'apprentissage à l'échelle du Web pour classer les systèmes Google | torch | |
| 31 | Cikm'21 | DESTINER | Réseaux de neurones auto-assommés démêlés pour la prédiction du taux de clics Alibaba | torch | |
| 32 | Cikm'21 | EDCN | Amélioration des interactions de fonctionnalités explicites et implicites via le partage d'informations pour les modèles CTR profonds parallèles Huawei | torch | |
| 33 | DLP-KDD'21 | Masque | Masknet: Introduction de la multiplication par fonctionnalité dans les modèles de classement CTR par masque guidé par instance Sina Weibo | torch | |
| 34 | Sigir'21 | Sam | Regarder à nouveau la prédiction CTR: l'attention est-elle tout ce dont vous avez besoin? Boss Zhipin | torch | |
| 35 | KDD'21 | Aoanet | Architecture et opération Réseau adaptatif pour les recommandations en ligne Didi chuxing | torch | |
| 36 | Aaai'23 | Finale mlp | FinalMLP: Un modèle MLP amélioré à deux voies pour la prédiction CTR Huawei | torch | |
| 37 | Sigir'23 | Finalnet | Final: Couche d'interaction factorielle pour la prédiction CTR Huawei | torch | |
| 38 | Sigir'23 | Eulernnet | Eunernet: Adaptive Fonction Interaction Learning via la formule d'Euler pour la prédiction CTR Huawei | torch | |
| 39 | Cikm'23 | Gdcn | Vers un réseau croisé plus profond, plus léger et interprétable pour la prédiction CTR Microsoft | torch | |
| 40 | Icml'24 | Wukong | Wukong: Vers une loi de mise à l'échelle pour les recommandations à grande échelle Meta | torch | |
| Modélisation des séquences de comportement | |||||
| 42 | KDD'18 | VACARME | Réseau d'intérêt profond pour la prédiction du taux de clics alibaba | torch | |
| 43 | Aaai'19 | Dien | Réseau d'évolution de l'intérêt profond pour la prédiction du taux de clics alibaba | torch | |
| 44 | DLP-KDD'19 | BST | Transformateur de séquence de comportement pour recommandation de commerce électronique dans Alibaba Alibaba | torch | |
| 45 | Cikm'20 | Dmin | Réseau multi-intérêt profond pour prédiction de taux de clics Alibaba | torch | |
| 46 | Aaai'20 | Dmr | MALLEMENT DE RANGEMENT DE RANGEMENT POUR LA PRÉDICTION DE TAUX DE CLICS- CLIBABA Personnalisé | torch | |
| 47 | DLP-KDD'22 | ETA | Modélisation efficace des données des utilisateurs séquentielles pour la prévision du taux de clics Alibaba | torch | |
| 48 | Cikm'22 | Sdim | L'échantillonnage est tout ce dont vous avez besoin sur la modélisation des comportements utilisateur à long terme pour la prédiction CTR Meituan | torch | |
| 49 | KDD'23 | Traiter | Transaction: modèle d'action utilisateur en temps réel basé sur le transformateur pour recommandation chez Pinterest Pinterest | torch | |
| Réseau de poids dynamique | |||||
| 50 | Nererips'22 | APG | APG: Réseau de génération de paramètres adaptatifs pour prédiction de taux de clics Alibaba | torch | |
| 51 | KDD'23 | Ppnet | Pepnet: paramètre et intégrer un réseau personnalisé pour infuser des informations antérieures personnalisées kuaishou | torch | |
| Modélisation multi-tâches | |||||
| 52 | ArXiv'17 | Sharebottom | Un aperçu de l'apprentissage multi-tâches dans les réseaux de neurones profonds | torch | |
| 53 | KDD'18 | Mmoe | Modélisation des relations de tâche dans l'apprentissage multi-tâches avec le mélange multi-gates Google | torch | |
| 54 | Recsys'20 | Plé | Extraction en couches progressives (PLE): un nouveau modèle d'apprentissage multi-tâches (MTL) pour les recommandations personnalisées Tencent | torch | |
Nous avons bencé des modèles FuxicTr sur un ensemble d'ensembles de données ouverts comme suit:
Fuxictr a les dépendances suivantes:
Veuillez installer d'autres packages requis via pip install -r requirements.txt .
Exécutez les exemples de démonstration
Des exemples sont fournis dans le répertoire de démonstration pour montrer une utilisation de base de Fuxictr. Les utilisateurs peuvent exécuter les exemples pour démarrer rapidement et comprendre le flux de travail.
cd demo
python example1_build_dataset_to_parquet.py
python example2_DeepFM_with_parquet_input.py
Exécutez un modèle sur les données minuscules
Les utilisateurs peuvent facilement exécuter chaque modèle dans le Zoo du modèle suivant les commandes ci-dessous, qui est une démo pour l'exécution de DCN. De plus, les utilisateurs peuvent modifier les fichiers de configuration de configuration et de modélisation de données pour exécuter sur leurs propres ensembles de données ou avec de nouveaux hyper-paramètres. Plus de détails peuvent être trouvés dans le 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
Exécutez un modèle sur des ensembles de données de référence (par exemple, Criteo)
Les utilisateurs peuvent suivre la section Benchmark pour obtenir des ensembles de données de référence et des étapes d'exécution pour reproduire les résultats existants. Veuillez consulter un exemple ici: https://github.com/reczoo/bars/tree/main/ranking/ctr/dcnv2/dcnv2_criteo_x1
Implémenter un nouveau modèle
La bibliothèque Fuxictr est conçue pour être modularisée, de sorte que chaque composant peut être écrasé par les utilisateurs en fonction de leurs besoins. Dans de nombreux cas, seule la classe de modèle doit être mise en œuvre pour un nouveau modèle personnalisé. Si le prétraitement des données ou le chargeur de données ne sont pas directement applicables, on peut également écraser un nouveau via les API de base. Nous montrons un exemple concret qui met en œuvre notre nouveau modèle FinalMLP qui a été récemment publié dans AAAI 2023.
Régler les hyper-paramètres d'un modèle
Fuxictr prend actuellement en charge la recherche rapide sur la grille des hyper paramètres d'un modèle utilisant plusieurs GPU. L'exemple suivant montre la recherche sur la grille de 8 expériences avec 4 GPU.
cd experiment
python run_param_tuner.py --config config/DCN_tiny_parquet_tuner_config.yaml --gpu 0 1 2 3 0 1 2 3
Si vous trouvez notre code ou nos références utiles dans vos recherches, veuillez citer les articles suivants.
Bienvenue à rejoindre notre groupe WeChat pour toute question et discussion. Si vous êtes intéressé par la recherche et la pratique dans les systèmes de recommandation, veuillez vous contacter via notre groupe WeChat.