[논문 리뷰] RecBole: Towards a Unified, Comprehensive and Efficient Framework for Recommendation Algorithms
RecBole은 28개 데이터셋에 걸친 73개 모델을 구현하는 통합 PyTorch 기반 추천 라이브러리로, 재현성 및 효율성을 높이기 위해 표준화된 데이터, 모델, 평가 모듈을 제공합니다.
In recent years, there are a large number of recommendation algorithms proposed in the literature, from traditional collaborative filtering to deep learning algorithms. However, the concerns about how to standardize open source implementation of recommendation algorithms continually increase in the research community. In the light of this challenge, we propose a unified, comprehensive and efficient recommender system library called RecBole, which provides a unified framework to develop and reproduce recommendation algorithms for research purpose. In this library, we implement 73 recommendation models on 28 benchmark datasets, covering the categories of general recommendation, sequential recommendation, context-aware recommendation and knowledge-based recommendation. We implement the RecBole library based on PyTorch, which is one of the most popular deep learning frameworks. Our library is featured in many aspects, including general and extensible data structures, comprehensive benchmark models and datasets, efficient GPU-accelerated execution, and extensive and standard evaluation protocols. We provide a series of auxiliary functions, tools, and scripts to facilitate the use of this library, such as automatic parameter tuning and break-point resume. Such a framework is useful to standardize the implementation and evaluation of recommender systems. The project and documents are released at https://recbole.io/.
연구 동기 및 목표
- 다양한 작업에서 추천 알고리즘의 표준화되고 재현 가능한 구현의 필요성을 촉진한다.
- 데이터, 모델, 평가를 통합하는 통합 프레임워크를 제공하여 공정한 비교와 빠른 개발을 촉진한다.
- 재현 가능한 연구와 벤치마크를 지원하기 위해 광범위한 데이터셋, 모델 및 도구를 제공한다.
제안 방법
- 중앙 프레임워크를 통해 구성 가능한 데이터, 모델, 평가의 세 가지 핵심 모듈을 가진 통합 PyTorch 기반 라이브러리를 구현한다.
- 원시 입력에서 내부 표현(Interaction)으로의 일반 데이터 흐름을 도입하고 모델 입력으로 사용하며, 주류 작업을 다루기 위한 여섯 가지 원자 파일 유형을 사용한다.
- 일반, 시퀀스, 컨텍스트 인식, 지식 기반 추천 범주 전반에 걸쳐 73개의 구현 모델을 제공하고, 학습 및 테스트를 위한 통일 인터페이스를 제공한다 (calculate_loss 와 predict).
- GPU 가속 실행 및 상위-K 평가를 위한 가속 전략을 도입하여 전체/샘플링 랭킹을 일관된 행렬 형태로 변환하고 GPU에서의 효율적 topk를 사용한다.
- Group, Split, Order, NegSample 인터페이스를 통해 광범위한 평가 프로토콜(전체 순위 및 샘플링 랭킹)과 다양한 데이터 분할 및 정렬 옵션을 지원한다.
실험 결과
연구 질문
- RQ1다양한 추천 알고리즘의 개발 및 평가를 표준화하는 데 하나의 프레임워크가 어떤 도움을 줄 수 있는가?
- RQ2일반, 시퀀스, 컨텍스트 인식, 지식 기반 추천 작업에서 재현 가능한 연구를 가장 잘 지원하는 데이터, 모델 및 평가 추상화는 무엇인가?
- RQ3GPU 가속 실행 및 평가 가속화가 상위-K 추천의 효율성에 어떤 영향을 미치는가?
- RQ4포괄적인 데이터셋과 모델을 어떻게 통합하여 공정하고 비교 가능한 벤치마킹을 가능하게 할 수 있는가?
- RQ5자동 매개변수 튜닝, 중단점 재개와 같은 도구가 추천 연구의 사용성 및 재현성을 어떻게 향상시키는가?
주요 결과
- RecBole은 28개 데이터셋에 걸친 73개 모델을 구현하여 개발 및 평가의 표준화를 추진한다.
- 라이브러리는 원자 파일과 Interaction으로 구성된 통일된 데이터 구조와 새로운 모델을 쉽게 추가할 수 있는 설정 가능한 워크플로를 제공한다.
- GPU 가속 실행과 전용 상위-K 가속 전략은 MovieLens-10M과 같은 대형 데이터셋을 포함해 평가 효율성을 크게 개선한다.
- 자동 매개변수 튜닝과 중단점 재개가 재현성 및 실험 효율성을 향상시키는 데 지원된다.
- 프레임워크는 전체 및 샘플링 랭킹을 포함한 다양한 평가 프로토콜과 유연한 데이터 분할 및 아이템 정렬 옵션을 지원한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.