End-to-End Session-Based Recommendation on GPU
End-to-End Session-Based Recommendation on GPUView on ACM Digital Library
Gabriel de Souza Pereira Moreira, NVIDIA | Sara Rabhi, NVIDIA | Ronay Ak, NVIDIA | Benedikt Schifferer, NVIDIA
Session-based recommendation, a sub-area of sequential recommendation, has been an important task in online services like e-commerce and news portals, where most users either browse in a session anonymously or may have very distinct interests for different sessions. Session-Based Recommender Systems (SBRS) have been proposed to model the sequence of interactions within the current user session, where a session is a short sequence of user interactions typically bounded by user inactivity. They have recently gained popularity due to their ability to capture short-term or contextual user preferences towards items.The usage of RNN-based architectures for SBRS, which started with the seminal work of GRU4Rec, was proposed to learn more complex sequential patterns on user sessions. One of the advantages of neural networks (NNs) is their flexibility to include additional features from item metadata and user context, improving the recommendation accuracy. In recent works, state-of-the-art NLP approaches have inspired RecSys practitioners and researchers to leverage the self-attention mechanism and the transformer-based architectures for sequential and session-based recommendation, and these models achieved promising results.In this regard, the aim of this tutorial is to present to the participants: (i) an introduction on the main concepts and algorithms for session-based recommendation, (ii) how to build, train and evaluate a session-based recommendation model based on RNN and Transformer architectures, and (iii) how to speed up with GPUs the entire RecSys pipeline which encompasses feature engineering, preprocessing, training, evaluation and inference using NVIDIA Merlin- an open source ecosystem for large-scale deep learning recommender systems.The tutorial is designed as a combination of theoretical lectures and practical exercises based on Python code and PyTorch framework. The participants are required to have basic knowledge of recommender systems, deep learning, Python and PyTorch framework. NVIDIA will host the tutorial on its computing infrastructure, providing the environment, dataset, example Jupyter notebooks and the GPU. Therefore, participants will be able to easily join the tutorial via their web browsers, and are only expected to bring their own laptops and have an internet connection.
Prepare For Your Hands-on Tutorial Training
To get the most from your hands-on learning experience, please complete these steps prior to getting started:
- Create or log into your NVIDIA Developer Program account. This account will provide you with access to all of the training materials during the tutorial.
- Visit websocketstest.courses.nvidia.com and make sure all three test steps are checked “Yes.” This will test the ability for your system to access and deliver the training contents. If you encounter issues, try updating your browser. Note: Only Chrome and Firefox are supported.
- Check your bandwidth. 1 Mbps downstream is required and 5 Mbps is recommended. This will ensure consistent streaming of audio/video during the tutorial to avoid glitches and delays.