Software:RecBole

From HandWiki
RecBole
Developer(s)Gaoling School of Artificial Intelligence, Renmin University of China
Initial release2020
Written inPython (PyTorch)
Operating systemCross-platform
TypeRecommender system library
LicenseMIT License
Websiterecbole.io

RecBole is an open-source library for recommender systems, developed to provide a "unified, efficient, reproducible framework" for implementing and evaluating recommendation algorithms.[1] Built on PyTorch, RecBole supports general, sequential, context-aware, and knowledge-based recommendations. In 2023, RecBole was the most used library for experiments published at the ACM Recommender Systems Conference.[2]

History and Development

RecBole was first released in 2020 by the Gaoling School of Artificial Intelligence at Renmin University of China. The development of RecBole aimed to address the lack of standardized frameworks and reproducible implementations in the field of recommender systems research. Since its initial release, RecBole has undergone several updates, with major milestones including the release of RecBole 2.0 in 2022, which introduced eight extension toolkits for addressing advanced research topics such as data sparsity, bias, and fairness.[3]

Features

Unified Framework

RecBole provides a framework for developing, benchmarking, and evaluating recommendation algorithms. It includes tools for data preprocessing, model implementation, training, and evaluation. This standardization is supposed to improve reproducibility and comparability across studies.[1]

Comprehensive Algorithm Support

The library implements 91 recommendation algorithms, covering categories such as:

  • General recommendation: Traditional collaborative filtering and matrix factorization techniques.
  • Sequential recommendation: Algorithms that capture temporal user behaviors.
  • Context-aware recommendation: Methods that incorporate contextual information.
  • Knowledge-based recommendation: Models utilizing external knowledge graphs.[4]

Evaluation Protocols

The library supports multiple evaluation metrics, such as precision, recall, and normalized discounted cumulative gain (nDCG), to enable comparisons between models.[4]

Performance Analysis and Efficiency

A recent study[5] analyzed the performance of the Item-based k-Nearest Neighbors (ItemKNN) algorithm implemented in RecBole compared to LensKit, another popular recommendation system library. The evaluation, conducted across four datasets (Anime, Modcloth, ML-100K, and ML-1M), focused on metrics such as normalized discounted cumulative gain (nDCG), precision, and recall. RecBole consistently outperformed LensKit, achieving up to 18% higher nDCG and 14% higher precision, while LensKit demonstrated slightly better recall under certain conditions. The study identified differences in the libraries' implementations, particularly in how similarity matrices are calculated. RecBole's approach, which limits the matrix entries to the top-k neighbors per item, was found to reduce noise and improve prediction accuracy. Adjustments to LensKit's implementation to align with RecBole's methods resulted in nearly equivalent nDCG scores across all datasets, demonstrating the significance of standardized algorithms for fair comparisons and performance optimization.

RecBole leverages GPU acceleration for efficient training and evaluation. It supports multi-GPU training, mixed-precision training, and intelligent hyperparameter tuning to optimize performance on large datasets.[1] Yet, a recent study found that RecBole's deep learning algorithms require more than 40 times the energy of traditional recommender system algorithms.[2]

Popularity and Usage

As of 2024, RecBole has been widely adopted in the research community, with over 3,500 stars on GitHub.[6] It is frequently used in academic studies and industrial applications due to its comprehensive documentation and ease of use. A study indicated RecBole as a preferred library for recommendation experiments at the ACM Recommender Systems Conference.[2], reflecting its popularity in the field.[2]

References

  1. 1.0 1.1 1.2 Zhao, Wayne Xin (2021). "RecBole: Towards a Unified, Comprehensive and Efficient Framework for Recommendation Algorithms". CIKM. https://recbole.io/. 
  2. 2.0 2.1 2.2 2.3 Vente, Tobias; Wegmeth, Lukas; Said, Alan; Beel, Joeran (2024-10-08). "18th ACM Conference on Recommender Systems" (in en). ACM. pp. 580–590. doi:10.1145/3640457.3688074. ISBN 979-8-4007-0505-2. 
  3. Zhao, Wayne Xin; Hou, Yupeng; Pan, Xingyu; Yang, Chen; Zhang, Zeyu; Lin, Zihan; Zhang, Jingsen; Bian, Shuqing et al. (2022-10-17). "Proceedings of the 31st ACM International Conference on Information & Knowledge Management" (in en). ACM. pp. 4722–4726. doi:10.1145/3511808.3557680. ISBN 978-1-4503-9236-5. 
  4. 4.0 4.1 "RecBole Documentation". RecBole. https://recbole.io/docs/. Retrieved 2024-11-18. 
  5. Schmidt, Michael; Nitschke, Jannik; Prinz, Tim (2024-07-18). "Evaluating the performance-deviation of itemKNN in RecBole and LensKit". arXiv:2407.13531 [cs.LG].
  6. RUCAIBox/RecBole, RUCAIBox, 2024-11-18, https://github.com/RUCAIBox/RecBole, retrieved 2024-11-18 

External links