This is the official PyTorch implementation for the paper:
Generative Recommender with End-to-End Learnable Item Tokenization
We propose ETEGRec, a novel End-To-End Generative Recommender that unifies item tokenization and generative recommendation into a cohesive framework. Built on a dual encoder-decoder architecture, ETEGRec consists of an item tokenizer and a generative recommender. To enable synergistic interaction between these components, we propose a recommendation-oriented alignment strategy, which includes two key optimization objectives: sequence-item alignment and preference-semantic alignment. These objectives tightly couple the learning processes of the item tokenizer and the generative recommender, fostering mutual enhancement. Additionally, we develop an alternating optimization technique to ensure stable and efficient end-to-end training of the entire framework.
torch==2.4.0+cu121
numpy
accelerate
faiss
tqdm
scikit-learn
transformers
You can download the SASRec embeddings, pretrained RQVAE weights and interaction data used in our paper from Google Drive
cd RQVAE
bash run_pretrain.sh
bash run.sh