Draft:RecBole
Review waiting, please be patient.
This may take 6 weeks or more, since drafts are reviewed in no specific order. There are 1,084 pending submissions waiting for review.
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
Reviewer tools
|
Developer(s) | Gaoling School of Artificial Intelligence, Renmin University of China |
---|---|
Initial release | 2020 |
Written in | Python (PyTorch) |
Operating system | Cross-platform |
Type | Recommender system library |
License | MIT License |
Website | recbole.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
[edit]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
[edit]Unified Framework
[edit]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
[edit]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
[edit]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
[edit]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
[edit]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
[edit]- ^ a b c Zhao, Wayne Xin (2021). RecBole: Towards a Unified, Comprehensive and Efficient Framework for Recommendation Algorithms. CIKM.
- ^ a b c d Vente, Tobias; Wegmeth, Lukas; Said, Alan; Beel, Joeran (2024-10-08). From Clicks to Carbon: The Environmental Toll of Recommender Systems. ACM. pp. 580–590. doi:10.1145/3640457.3688074. ISBN 979-8-4007-0505-2.
- ^ Zhao, Wayne Xin; Hou, Yupeng; Pan, Xingyu; Yang, Chen; Zhang, Zeyu; Lin, Zihan; Zhang, Jingsen; Bian, Shuqing; Tang, Jiakai; Sun, Wenqi; Chen, Yushuo; Xu, Lanling; Zhang, Gaowei; Tian, Zhen; Tian, Changxin (2022-10-17). RecBole 2.0: Towards a More Up-to-Date Recommendation Library. ACM. pp. 4722–4726. doi:10.1145/3511808.3557680. ISBN 978-1-4503-9236-5.
- ^ a b "RecBole Documentation". RecBole. Retrieved 2024-11-18.
- ^ Schmidt, Michael; Nitschke, Jannik; Prinz, Tim (2024-07-18), Evaluating the performance-deviation of itemKNN in RecBole and LensKit, doi:10.48550/arXiv.2407.13531, retrieved 2024-11-18
- ^ RUCAIBox/RecBole, RUCAIBox, 2024-11-18, retrieved 2024-11-18