クリックスルーレート(CTR)予測は、オンライン広告、推奨システム、スポンサーサーチなど、さまざまな産業用アプリケーションにとって重要なタスクです。 Fuxictrは、CTR予測用のオープンソースライブラリを提供し、構成性、調整性、再現性の重要な機能を備えています。このプロジェクトが再現可能な研究を促進し、この分野の研究者と実践者の両方に利益をもたらすことを願っています。
構成可能:データ前処理とモデルの両方がモジュール化され、構成可能です。
TUNABLE :モデルは、簡単な構成で自動的にチューニングできます。
再現性:すべてのベンチマークを簡単に再現できます。
拡張可能:PytorchとTensorflowフレームワークの両方をサポートする新しいモデルに簡単に拡張できます。
| いいえ | 出版 | モデル | 紙 | ベンチマーク | バージョン |
|---|---|---|---|---|---|
| 特徴インタラクションモデル | |||||
| 1 | www'07 | LR | クリックの予測:新しい広告Microsoftのクリックスルーレートの推定 | torch | |
| 2 | ICDM'10 | FM | 因数分解マシン | torch | |
| 3 | Cikm'13 | DSSM | クリックスルーデータを使用したWeb検索の深い構造化されたセマンティックモデルの学習Microsoft | torch | |
| 4 | cikm'15 | CCPM | 畳み込みクリック予測モデル | torch | |
| 5 | recsys'16 | FFM | CTR予測Criteoのフィールドアウェア因数分解マシン | torch | |
| 6 | recsys'16 | DNN | YouTubeの推奨事項用のディープニューラルネットワークGoogle | torch 、 tf | |
| 7 | DLRS'16 | 広くて深い | Googleの幅広くて深い学習 | torch 、 tf | |
| 8 | ICDM'16 | pnn | ユーザー応答予測のための製品ベースのニューラルネットワーク | torch | |
| 9 | KDD'16 | ディープクロス | ディープクロッシング:手動で作成された組み合わせ機能のないWebスケールモデリングMicrosoft | torch | |
| 10 | NIPS'16 | hofm | 高次因数分解マシン | torch | |
| 11 | Ijcai'17 | deepfm | DEEPFM:CTR予測のためのFactorization-MachineベースのニューラルネットワークHuawei | torch 、 tf | |
| 12 | sigir'17 | NFM | まばらな予測分析のためのニューラル因数分解機 | torch | |
| 13 | Ijcai'17 | AFM | 注意因子化マシン:注意ネットワークを介して機能の相互作用の重みを学ぶ | torch | |
| 14 | adkdd'17 | DCN | 広告用のディープ&クロスネットワーククリック予測Googleをクリックします | torch 、 tf | |
| 15 | www'18 | FWFM | ディスプレイ広告宣伝のクリックスルーレート予測のためのフィールド加重因数分解マシン、タッチパル、リンクされたアリババ | torch | |
| 16 | KDD'18 | xdeepfm | XDEEPFM:推奨システムの明示的かつ暗黙的な特徴の相互作用を組み合わせてMicrosoft | torch | |
| 17 | cikm'19 | フィンン | Fignn:CTR予測のためのグラフニューラルネットワークを介したモデリング特徴の相互作用 | torch | |
| 18 | cikm'19 | Autoint/Autoint+ | Autoint:自己慣習的なニューラルネットワークを介した自動機能の相互作用学習 | torch | |
| 19 | recsys'19 | fibinet | Fibinet:クリックスルーレート予測のための機能の重要性と双線形の特徴の相互作用を組み合わせてSina Weibo | torch | |
| 20 | www'19 | fgcnn | クリックスルーレート予測のための畳み込みニューラルネットワークごとの機能生成huawei | torch | |
| 21 | aaai'19 | HFM/HFM+ | 推奨のためのホログラフィック因数分解マシン | torch | |
| 22 | arxiv'19 | DLRM | パーソナライズと推奨システムのための深い学習推奨モデルFacebook | torch | |
| 23 | NeuralNetWorks'20 | onn | ユーザー応答予測のための操作認識ニューラルネットワーク | torch 、 tf | |
| 24 | aaai'20 | AFN/AFN+ | 適応因子化ネットワーク:適応順序機能の学習 | torch | |
| 25 | aaai'20 | lorentzfm | Lorentzian Factorization Ebayとの学習機能の相互作用 | torch | |
| 26 | WSDM'20 | インターハット | 解釈可能なクリックスルーレート予測階層的注意NECラボ、Google | torch | |
| 27 | DLP-KDD'20 | フレン | FLEN:スケーラブルCTR予測テンセントのレバレッジフィールド | torch | |
| 28 | cikm'20 | deepim | ディープインタラクションマシン:高次の特徴相互作用のためのシンプルだが効果的なモデルAlibaba、Realai | torch | |
| 29 | www'21 | FMFM | FM^2:推奨システム用のフィールドマトリックス因子化マシンYahoo | torch | |
| 30 | www'21 | DCN-V2 | DCN V2:Deep&Cross Networkの改善と、システムをランク付けするためのWebスケール学習のための実用的なレッスン | torch | |
| 31 | Cikm'21 | 運命 | クリックスルーレート予測Alibabaのための自己触覚ニューラルネットワークを解き放ちました | torch | |
| 32 | Cikm'21 | edcn | 並列ディープCTRモデルの情報共有を介して、明示的および暗黙的な特徴の相互作用を強化するHuawei | torch | |
| 33 | DLP-KDD'21 | マスクネット | Masknet:インスタンスガイド付きマスクSina WeiboによるCTRランキングモデルに機能ごとの乗算を導入する | torch | |
| 34 | sigir'21 | サム | CTRの予測をもう一度見る:注意が必要ですか?ボス・Zhipin | torch | |
| 35 | KDD'21 | aoanet | オンライン推奨のためのアーキテクチャとオペレーションアダプティブネットワークdidi chuxing | torch | |
| 36 | aaai'23 | finalmlp | finalMLP:CTR予測のための強化された2ストリームMLPモデルHuawei | torch | |
| 37 | sigir'23 | finalNet | 最終:CTR予測Huaweiの因数分解相互作用層 | torch | |
| 38 | sigir'23 | eulernet | Eulernet:CTR予測のためのオイラーの式を介した適応機能の相互作用学習Huawei | torch | |
| 39 | Cikm'23 | GDCN | CTR予測のためのより深く、より軽く、解釈可能なクロスネットワークに向けてMicrosoft | torch | |
| 40 | ICML'24 | ウーコン | Wukong:大規模な推奨メタのスケーリング法に向けて | torch | |
| 動作シーケンスモデリング | |||||
| 42 | KDD'18 | din | クリックスルーレート予測Alibabaの深い利息ネットワーク | torch | |
| 43 | aaai'19 | ディエン | クリックスルーレート予測Alibabaのための深い関心の進化ネットワーク | torch | |
| 44 | DLP-KDD'19 | BST | Alibaba Alibabaのeコマース推奨のための動作シーケンストランス | torch | |
| 45 | cikm'20 | dmin | クリックスルーレート予測Alibabaのためのディープマルチインテストネットワーク | torch | |
| 46 | aaai'20 | DMR | パーソナライズされたクリックスルーレート予測のランクモデルへのディープマッチアリババ | torch | |
| 47 | DLP-KDD'22 | ETA | クリックスルーレート予測のための効率的な長いシーケンシャルユーザーデータモデリングalibaba | torch | |
| 48 | Cikm'22 | sdim | サンプリングは、CTR予測の長期ユーザー動作のモデリングに必要なすべてですMeituan | torch | |
| 49 | KDD'23 | 取引 | Transact:Pinterest Pinterestで推奨するためのトランスベースのリアルタイムユーザーアクションモデル | torch | |
| 動的ウェイトネットワーク | |||||
| 50 | Neurips'22 | APG | APG:クリックスルーレート予測のための適応パラメーター生成ネットワークalibaba | torch | |
| 51 | KDD'23 | ppnet | PEPNET:パーソナライズされた事前情報を注入するためのパラメーターと埋め込みパーソナライズされたネットワークkuaishou | torch | |
| マルチタスクモデリング | |||||
| 52 | arxiv'17 | ShareBottom | 深いニューラルネットワークにおけるマルチタスク学習の概要 | torch | |
| 53 | KDD'18 | mmoe | マルチゲートの混合物を使用したマルチタスク学習におけるタスク関係のモデリングGoogle | torch | |
| 54 | recsys'20 | ple | プログレッシブ層抽出(PLE):パーソナライズされた推奨事項のための新しいマルチタスク学習(MTL)モデル | torch | |
次のように、オープンデータセットのセットにFuxictrモデルをベンチマークしています。
fuxictrには次の依存関係があります。
pip install -r requirements.txtを介して他の必要なパッケージをインストールしてください。
デモの例を実行します
Demoディレクトリには、Fuxictrの基本的な使用法を示す例が提供されています。ユーザーは、クイックスタートのために例を実行し、ワークフローを理解することができます。
cd demo
python example1_build_dataset_to_parquet.py
python example2_DeepFM_with_parquet_input.py
小さなデータでモデルを実行します
ユーザーは、以下のコマンドに従ってモデル動物園で各モデルを簡単に実行できます。これは、DCNを実行するためのデモです。さらに、ユーザーはデータセット構成およびモデル構成ファイルを変更して、独自のデータセットまたは新しいハイパーパラメーターで実行できます。詳細については、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
ベンチマークデータセットでモデルを実行する(例:criteo)
ユーザーは、ベンチマークセクションに従って、ベンチマークデータセットと既存の結果を再現するためのランニングステップを取得できます。 https://github.com/reczoo/bars/tree/main/ranking/ctr/dcnv2/dcnv2_criteo_x1をご覧ください
新しいモデルを実装します
FUXICTRライブラリは、すべてのコンポーネントがニーズに応じてユーザーが上書きできるようにモジュール化されるように設計されています。多くの場合、新しいカスタマイズされたモデルにはモデルクラスのみを実装する必要があります。データの前処理またはデータローダーが直接適用できない場合、コアAPIを介して新しいものを上書きすることもできます。 AAAI 2023で最近公開された新しいモデルfinalMLPを実装する具体的な例を示します。
モデルのハイパーパラメーターを調整します
Fuxictrは現在、複数のGPUを使用してモデルのハイパーパラメーターの高速グリッド検索をサポートしています。次の例は、4つのGPUを使用した8つの実験のグリッド検索を示しています。
cd experiment
python run_param_tuner.py --config config/DCN_tiny_parquet_tuner_config.yaml --gpu 0 1 2 3 0 1 2 3
私たちのコードやベンチマークがあなたの研究で役立つと思うなら、次の論文を引用してください。
質問やディスカッションについては、WeChat Groupに参加してください。推奨システムの研究と実践に興味がある場合は、WeChatグループからご連絡ください。