| --- |
| license: apache-2.0 |
| pipeline_tag: any-to-any |
| library_name: fuxictr |
| --- |
| |
| ## Official implementation code of DISCO.AHU team |
|
|
| ## 🔥 Winning 2nd Place in WWW2025 Multimodal CTR Prediction Challenge Track |
|
|
| This repository contains the model as presented in [Quadratic Interest Network for Multimodal Click-Through Rate Prediction](https://huggingface.co/papers/2504.17699). |
|
|
| ### 🔥 Follow to perfectly reproduce the results of this code. |
|
|
| - To facilitate reproducibility, we share the model code on GitHub: https://github.com/salmon1802/QIN |
| - In ./checkpoints and ./submission folders have our run logs and submission files, respectively. |
| - This submission can be reproduced manually by following the actions below, or by directly using the one-click run script run.sh |
|
|
| ### Data Preparation |
|
|
| 1. Download the datasets at: https://recsys.westlake.edu.cn/MicroLens_1M_MMCTR |
|
|
| 2. Unzip the data files to the `data` directory |
|
|
| ```bash |
| cd ./data/ |
| wget -r -np -nH --cut-dirs=1 http://recsys.westlake.edu.cn/MicroLens_1M_MMCTR/MicroLens_1M_x1/ |
| ``` |
| |
| ### Environment |
|
|
| We run the experiments on RTX 4090 GPU of AutoDL.com |
|
|
| Please set up the environment as follows. |
|
|
| + torch==2.0.0+cu118 |
| + fuxictr==2.3.7 |
|
|
| ``` |
| conda create -n fuxictr_www python==3.8 |
| pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118 |
| pip install -r requirements.txt |
| source activate fuxictr_www |
| ``` |
|
|
| ### How to Run |
|
|
| Train the model on train and validation sets: |
|
|
| ``` |
| python run_expid.py |
| ``` |
| The parameters QIN_variety_v9 in __./config/qin_config/model_config.yaml__ are set to the optimal hyperparameters in the environment described above. |
| |
| #### Tips |
| It is worth mentioning that after our tests, we find that although the parameter num_row = 4 achieves the best performance in the above environments, there is training instability in some environments. |
| |
| When this happens, we suggest that sacrificing some performance in favor of setting num_row = 3 reproduces the results well. |