반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- nlp
- yandexmusic
- recommendation system
- yambda5b
- ML
- Retrieval
- LCM
- regex
- Transformer
- Data Warehouse
- Python
- Data Engineering
- RecSys
- MySQL
- Ai
- META AI
- yambda
- 정규표현식
- Deep Neural Network
- 시계열
- llm
- time series
- SQL
- query
- DataSet
- Machine Learning
- a/b test
- crossformer
- Datalake
- music dataset
Archives
- Today
- Total
mayreel 님의 블로그
Yambda-5B: A Large-Scale Multi-modal Dataset for Ranking And Retrieval 본문
Paper
Yambda-5B: A Large-Scale Multi-modal Dataset for Ranking And Retrieval
mayreel 2025. 7. 2. 11:50반응형
- 본 논문에서는 Yandex.Music이라는 음악 스트리밍 서비스에서 수집한 대규모 공개 데이터셋 Yambda-5B를 소개
Abstract
- 데이터셋 규모, 구성
- Yambda-5B는 1백만 명의 사용자로부터 939만 개 트랙에 걸쳐 약 47억 9천만 건의 User-Item 상호작용 데이터를 포함
- Yambda-5B의 user-item 상호작용
- 암묵적 피드백: 사용자가 음악 재생
- 명시적 피드백: 사용자가 '좋아요(likes)', '싫어요(dislikes)', '좋아요 취소(unlikes)', '싫어요 취소(undislikes)'를 누른 선호/비선호 여부
- 또한 대부분의 트랙에 대해 오디오 스펙트로그램으로 학습된 CNN을 통해 생성된 오디오 임베딩도 제공
- Yambda-5B의 주요 특징(
is_organic)is_organic의도입으로 사용자의 자발적인 행동(organic action)과 시스템 추천에 따른 행동(recommendation-driven event)을 구분 가능- Yandex.Music은 사용자의 음악 선택을 개인화하기 위해 추천 시스템을 이용하므로, 이러한 구분은 머신러닝 알고리즘 개발 및 평가에서 매우 중요
- 평가 프로토콜, 벤치마크
- 엄격한 벤치마킹을 지원하기 위해 글로벌 시계열 분할(Global Temporal Split) 기반의 평가 프로토콜을 제안
- 이를 통해 추천 알고리즘을 실제 환경과 유사한 조건에서 평가 가능
- baseline model과 advanced model를 사용하여 다양한 Metric을 지표로 벤치마크 수행
- baseline model: ItemKNN, iALS
- advanced model: SANSA, SASRec
Introduction
- 현대 추천 시스템은 음악 스트리밍 서비스와 숏폼 비디오 플랫폼의 성공을 이끄는 핵심 요소로, 추천 시스템이 콘텐츠를 개인화하는 능력은 사용자 참여도와 서비스 수익 창출에 직접적인 영향을 미침
- 추천 시스템 알고리즘의 발전 과정
- 과거의 추천 알고리즘은 전통적인 협업 필터링 방식에서 출발하여 DSSM이나 DCN과 같은 신경망 구조로 발전
- 이후 LSTM, GRU 같은 sequential model을 기반으로 (예: GRU4Rec)로 발전
- 특히 Transformer 기반 모델인 BERT4Rec와 SASRec이 등장하면서, 사용자의 긴 세션 의존성까지 포착
- 이후, Computer vision Transformer와 NLP(GPT-3, Chinchilla)관련 연구로 데이터와 모델 파라미터의 규모를 확장하는 것이 성능 향상의 핵심임을 확인
- 예를 들어 Kaplan은 NLP 모델의 성능이 데이터와 연산량의 다항함수 형태로 증가함을 보였고, 추천 시스템 분야에서도 모델의 성능이 데이터와 연산량에 좌우됨
- 데이터 크기와 품질에 의해 추천 시스템의 성능이 바뀌지만, 산업계에서는 테라바이트 단위의 대용량 데이터를 활용하는 반면, 학계는 제한된 규모의 데이터에 의존
- 이러한 연구 격차를 해소하기 위해 Yambda-5B(YAndex Music Billion-interactions DAtaset)를 제안하여 sequential한 추천 기법과 모델 확장성에 대한 가설 검증, 그리고 데이터 희소성(sparsity) 문제에 대한 해결 방법을 개발하는데 기여

- Yambda-5B(Yandex Music Billion-interactions Dataset)
- 11개월에 걸쳐 수집된 음악 청취 상호작용 데이터셋
- 1백만 명의 사용자
- 47억 9천만 건의 User-Item 상호작용(재생, 좋아요, 싫어요, 좋아요 취소, 싫어요 취소)
- 각 트랙의 재생 시간, 오디오 임베딩, 아티스트, 앨범 정보, 타임스탬프 제공

- MovieLens(100K, 1M, 10M, 20M, 25M, 32M)
- 1998년에 공개된 영화 추천 데이터셋
- 사용자들이 1-5점으로 영화에 평가를 남긴 평점과 사용자가 남긴 영화에 대한 태그가 포함
- 추가적으로 모든 상호작용에는 정확한 타임스탬프, 영화의 제목, 제작 연도, 장르 같은 메타데이터도 함께 제공
- 해당 데이터셋은 matrix factorization 기반 추천 연구에서 활용되었지만, item 개수가 약 1만 개로 제한적이어서 수백만 개 이상의 아이템을 다루는 산업 규모에는 부적합
- Steam
- PC 게임 플랫폼인 Stram의 게임에 대한 사용자 리뷰 데이터셋
- 게임에 대한 추천/비추천 여부를 포함한 리뷰, 리뷰 평점, 일 단위 타임스탬프를 포함
- 텍스트 리뷰가 제공되지만, 주로 소비 후 작성된 명시적 피드백(리뷰)에 초점을 맞추므로 음악 스트리밍과 같은 실시간 순차적 상호작용 모델링에는 부적합
- Netflix
- 2006 ~ 2009년 넷플릭스 경진대회 데이터
- 익명화된 1-5점 사이의 평점, 날짜로 구성
- 날짜 단위로만 기록된 낮은 시간 정밀도와 약 1만 7천 편의 영화로 적은 데이터 규모로 인해 실시간 추천 시스템에 적용하기에는 어려움
- Amazon Reviews
- 2013년에 공개된 대규모 전자상거래 리뷰 데이터셋
- 상품 리뷰 텍스트, 평점, 제목, 설명, 카테고리, 가격, 이미지, 밀리초 단위의 타임스탬프를 포함
- 해당 데이터셋은 구매 순서를 모델링하는 데 유용하지만, 리뷰 중심의 명시적 피드백이 주를 이루어 실제 시스템에서 중요한 암묵적 신호(클릭, 체류 시간 등)가 충분히 반영되지 않을 수 있음
- Criteo 1TB Click Logs
- 클릭률(CTR) 예측을 위한 테라바이트 규모의 데이터셋
- 약 10억 명의 사용자와 5억 개의 배너 데이터 그리고 광고 노출과 클릭 정보를 포함
- 1TB로 규모는 산업적 요구를 충족하지만, 피처 설명이나 타임스탬프, uer/item 식별자 정보가 공개되어 있지 않아 재현성이 떨어지고 순차적 모델링에 적용하기 어려움
- Music4 All-Onion
- Last.fm 이용자의 청취 이력에 콘텐츠 기반 데이터(가사, 오디오 스펙트로그램, 동영상 임베딩)를 결합한 Multimodal 데이터
- Multimodal 추천 시스템 연구에 유용하나, 전체 상호작용 수가 약 2억 5천만 건으로 상대적으로 적음
- 사용자 행동이 아닌 콘텐츠 메타데이터에 초점을 두고 있어 대규모 sequence 모델링 용도로는 제한적
- LFM-1b, LFM-2b
- 각각 10억 건과 20억 건의 청취 이벤트를 포함하는 음악 데이터셋
- 오디오 특징, 트랙 메타데이터, 사용자 인구통계 정보를 포함
- 라이선스 문제로 현재 공개가 제한되어 학계에서 자유롭게 활용하기 어려움
- Music Listening Histories Dataset(MLHD)
- Last.fm의 58만 3천 명의 사용자 청취 이력 데이터
- 700만 곡 이상의 방대한 카탈로그를 포함
- 하지만 접근성이 제한되어 있어 추천 시스템 연구에 활용하기 어려움
- 따라서 학계와 산업계의 격차를 메우기 위해서는 다음 세 가지 핵심 데이터셋 속성이 필요
- Large-Scale
- 사용자와 아이템 수가 백만 단위, 상호작용 수가 수십억 건에 이르는 산업 규모의 데이터가 필요
- graph neural network나 Transformer 기반 모델처럼 규모에 민감한 알고리즘의 확장성(scalability)과 견고성(robustness)을 검증할 수 있어야 함
- Diverse Feedback Types
- 음악 스트리밍 분야에서는 빠른 피드백 루프가 중요하기 때문에 Click/Skip과 같은 암묵적 피드백과 좋아요/평점 같은 명시적 피드백이 공존해야 함
- Global Temporal Split
- 각 이벤트에 대한 타임스탬프 또는 모든 이벤트의 global ordering를 제공해야 함
- Large-Scale
- 앞서 소개한 데이터셋들은 이런 속성이 하나 이상 결여되어 있음
- MovieLens와 Netflix는 상대적으로 데이터 규모가 작고 명시적 피드백만 제공
- Criteo는 사용자/아이템 식별자가 없어 순차 분석이 어려움
The Yambda Dataset
Dataset Content

- 트랙 청취 시 발생한 트랙의 재생 시간과 재생 비율(재생 시간 대비 청취 시간)을 기록
- Yambda 데이터셋은 다음 다섯 가지 유형의 사용자-아이템 상호작용 이벤트를 포함
- 청취(Listen), 좋아요(Like), 싫어요(Dislike), 좋아요 취소(Unlike), 싫어요 취소(Undislike)
- 사용자의 행동은 유기적(organic) 또는 추천 기반(recommendation-driven)으로 분류 가능
- 유기적 행동: 사용자가 독립적으로 트랙을 발견하여 발생한 상호작용
- 추천 기반 행동: 서비스의 추천 알고리즘에 의해 제시된 트랙에서 발생한 상호작용
- 데이터셋의 모든 이벤트에 대해 is_organic을 제공하여, 유기적 행동과 추천 기반 행동을 분리 가능
- is_organic은 추천 시스템이 사용자 행동을 수집할 때 발생하는 편향을 분리 분석하는 데 중요
- 신경망 임베딩은 대조 학습(contrastive learning) 방식으로 훈련된 합성곱 신경망(CNN)을 통해 생성
- 이러한 임베딩은 음악 추천 시스템에서 중요한 역할을 하며, 특히 콘텐츠 기반 추천과 현대적인 Semantic ID 접근법을 가능하게 함
Data Availability

- Yambda-5B 원본 데이터는 규모가 매우 크기 때문에, 접근성을 높이기 위해 작은 데이터셋도 함께 제공
- 원본 데이터셋인 Yambda-5B를 기준으로 1/10로 축소한 Yambda-500M과 1/100로 축소한 Yambda-50M
- 해당 데이터셋들은 2가지 형식으로 제공
- Flat: 'uid', 'item_id', 'timestamp', 'is_organic' 등 Tuple 형태로 저장되며 상호작용 별로 각각 제공
- Sequential: 사용자 기록이 각 상호작용 유형별로 시간순으로 정렬하여 하나의 리스트로 저장되어 Sequential Modeling에 적합

Table 4: Dataset File Structure
- 평가 편의성을 위해 모든 이벤트 유형을 하나로 합친
multi_event파일도 제공 - 데이터는 Hadoop, Spark같은 분산 처리 프레임워크와 Pandas, Polars 등의 분석 도구와 호환되는 Parquet 형식으로 배포
Acquisition And Processing
- 데이터셋 구축을 위해 약 11개월간의 관측 기간을 정의
- 첫 10개월 동안 최소 10회 이상의 상호작용을 수행
- 이후 1개월 동안 최소 1회 이상의 상호작용을 유지한 사용자를 선별
- 이 조건을 만족하는 100만 명의 사용자를 무작위로 추출하여 해당 기간 동안의 상호작용 이력을 수집
- 플랫폼 정책에 따라 사용자와 트랙 정보는 모두 익명화
- 사용자 ID, 트랙 ID, 앨범 ID, 아티스트 ID 등은 전부 숫자로만 구성
- 이벤트의 타임스탬프(timestamp)는 첫 이벤트 발생 시점을 기준으로 시간 순서를 보존하면서 변환
- 각 이벤트의 원시 타임스탬프 $t$에 대해 처음 이벤트의 시간 $t_0$을 뺀 뒤 5초 단위로 나누고 내림(floor) 하여 새로운 타임스탬프 $t'$를 생성
- $ t' = \lfloor \frac{t - t_0}{5} \rfloor \times 5 $
- 각 이벤트의 원시 타임스탬프 $t$에 대해 처음 이벤트의 시간 $t_0$을 뺀 뒤 5초 단위로 나누고 내림(floor) 하여 새로운 타임스탬프 $t'$를 생성
- 따라서 전체적인 시간 순서는 유지하면서 5초 단위로 표현
- 트랙 길이 정보는 5초 단위로 반올림
- 청취 비율은 1% 단위의 정밀도로 제공
Analysis And Statistics


- Yambda 데이터셋은 사용자 개인화를 강조하기 위해 이용자별 상호작용 이력을 자세히 분석할 수 있도록 설계
- Figure 1은 데이터셋에 포함된 모든 이벤트 유형에 걸쳐 각 사용자의 상호작용 이력 길이 분포를 보여줌
- 해당 분포에서 중앙값은 GPT-3와 같은 LLM의 context window size와 유사
- Table 5를 확인해 보면 대부분의 사용자의 이력은 주로 암묵적 피드백(청취 이벤트)으로 구성
- 자세한 코드는 Github에서 확인 가능

- Figure 2를 확인해보면 트랙별 분포에서 편향을 확인할 수 있음
- 극소수의 인기 트랙들이 대부분의 상호작용을 차지하지만, 대부분의 트랙들은 1~2회의 상호작용만을 기록하여 long tail 분포를 이루고 있음
- 이러한 분포는 소수의 인기 콘텐츠가 대부분의 사용자 활동을 차지하는 추천 시스템에서 주로 확인할 수 있는 분포로 파레토 분포 또는 멱법칙 분포의 특징을 보여줌
Benchmarking
Evaluation Process
- 실제 온라인 테스트 환경에 접근할 수 없기 때문에 대부분의 연구는 두 가지 오프라인 평가 방식을 사용
- Leave-One-Out(LOO)
- 각 사용자의 마지막 긍정적 상호작용 하나를 테스트용으로 분리하고 나머지는 훈련에 사용
- 훈련 데이터에 테스트 시점 이후의 상호작용이 포함되어 시간 순서를 위배할 수 있는 단점을 가짐
- Global Temporal Split(GTS)
- 전체 데이터셋을 시간 순서에 따라 훈련 세트와 테스트 세트로 분할
- 시간적 일관성을 보장하지만, 테스트 기간에 등장하는 새로운 사용자의 상호작용을 예측할 방법이 없어 일부 사용자가 누락될 수 있음
- Leave-One-Out(LOO)
- 본 논문에서는 실제 운영 환경에 가까운 평가를 위해 개선된 GTS 방식을 채택
- 훈련에는 300일간의 데이터를 사용, 이후 30분간의 공백(Gap)을 둠
- 해당 공백 구간의 데이터는 훈련과 평가 모두에 사용하지 않아, 실제 서비스 배포 시 발생할 수 있는 latency를 고려
- 공백 이후의 1일 데이터를 테스트(평가) 기간으로 설정
Baselines


- 다음과 같은 추천 알고리즘들을 벤치마크의 기본 모델로 선정하여 평가
- MostPop
- 전체 아이템의 인기(popularity)를 기준으로 추천
- 단순히 가장 많이 소비된 아이템을 추천
- DecayPop
- MostPop에서 최근 인기도를 더 많이 반영하여 추천
- ItemKNN
- neighborhood collaborative filtering 방식으로 user-item 유사도를 기반으로 사용자가 이전에 좋아한 아이템과 유사한 아이템을 추천
- 코사인 유사도나 피어슨 상관계수 등을 사용하여 아이템 간 유사도를 계산
- 사용자가 과거에 선호한 아이템과 유사한 항목을 선호한다는 가정
- iALS
- implicit feedback dataset에 최적화된 MF 모델
- user-item 상호작용 행렬을 latent user, item factors로 분해하고 정규화를 통해 과적합을 방지
- 교대 최소자승법(ALS)을 활용해 확장성과 효율성이 뛰어나 대규모 데이터에 적합
- BPR(Bayesian Personalized Ranking)
- implicit feedback을 위해 설계된 pairwise 순위 최적화 모델
- user가 관찰한 아이템을 관찰하지 않은 아이템보다 더 선호할 확률(사후 확률)을 최대화하여 개인화된 순위를 학습
- triplet loss와 확률적 경사 하강법(stochastic gradient descent)을 활용해 사용자 선호도의 순서 관계를 모델링
- SANSA (Scalable Approximate Non-Symmetric Autoencoder)
- 대규모 item dataset에서 발생하는 병목 현상을 해결하기 위해 설계된 모델
- EASE(Embarrassingly Shallow Autoencoders for Sparse Data)에서 item 간 유사도 행렬애 대한 대칭 제약 문제를 완화하고, 근사 학습을 사용해 시간 복잡도와 메모리 사용량을 줄이면서 높은 추천 정확도를 유지
- SASRec
- self-attention을 활용한 트랜스포머 기반 추천 모델
- 과거 상호작용에 동적으로 attention을 부여하여 시간에 따라 변화하는 사용자의 선호도를 모델링
Results
- 알고리즘 분석을 위해 NDCG@k(𝑘 ∈ {10, 100})와 같은 널리 사용되는 지표를 활용하여 순위 품질을 평가
- Recall@k로 후보 아이템 생성 성능을 측정하고 Coverage@k로 추천 시스템이 전체 아이템을 얼마나 포괄적으로 대표하는지 측정
- Coverage 평가는 다음 공식을 사용해 계산
- $ \text{Coverage@k} = \frac{\left|\bigcup_{u \in U} R(u,k)\right|}{|I|} $
- $U$: 사용자 집합
- $I$: 아이템 집합
- $ R(\cdot , \cdot) $: 사용자와 관련된 아이템을 반환하는 랭킹 함수
- $ \text{Coverage@k} = \frac{\left|\bigcup_{u \in U} R(u,k)\right|}{|I|} $
- 알고리즘 성능 평가는 두 가지 방식으로 진행
- Listen+: 암묵적 피드백으로 트랙 재생 시간의 50% 이상을 들은 경우에만 긍정적 평가로 정의
- Like: 명시적 피드백
- 추가적으로 더 작은 dataset에서도 테스트를 진행
- DecayPop, ItemKNN, iALS, BPR, SANSA의 하이퍼파라미터는 GTS를 사용해 튜닝
- SASRec은 계산 자원 한계로 하이퍼파라미터 튜닝은 진행하지 않음
- 하이퍼파라미터 튜닝을 위해 훈련 데이터 중 하루를 검증용으로 따로 남기고, 일관성을 위해 30분의 공백을 유지
- 순위 평가에 널리 쓰이는 NDCG 지표를 기준으로 OPTUNA를 사용해 최적화 진행
- 최종 결과는 하이퍼파라미터 튜닝을 적용한 train data에서 모델을 학습
- Listen+: 모든 데이터셋 크기에서 상위 2개 모델에 항상 ItemKNN과 SASRec이 포함
- Like: 다른 모델에 비해 상대적으로 단순한 DecayPop이 가장 우수한 성능을 보임
Future Work
- 학술 연구와 실제 산업 환경 간의 격차를 줄이고, 차세대 추천 시스템 아키텍처의 필요성을 제시
- 해당 논문에서 진행한 연구를 확장하기 위해 3가지 주요 연구 방향을 제안
- 향상된 시간적 평가 프로토콜
- 다음과 같은 방식을 적용하여 Global Temporal Split 방식을 개선하여 산업용 추천 시스템을 더 잘 모방할 예정
- 스트리밍 데이터 파이프라인을 통한 사용자 상태 업데이트
- 고정 간격으로 경량 알고리즘(예: iALS, BPR) 주기적 재훈련
- 동적 사용자/아이템을 포함하여 콜드 스타트 시뮬레이션
- 다음과 같은 방식을 적용하여 Global Temporal Split 방식을 개선하여 산업용 추천 시스템을 더 잘 모방할 예정
- Multi-Modal 추천 방식
- 행동 시퀀스, 오디오 임베딩, 트랙 메타데이터를 결합한 데이터셋의 Multi-Modal 특성을 활용해 아래의 연구 진행
- 하이브리드 추천 아키텍처를 위한 교차 모달 융합 기법
- 아티스트-앨범-트랙 관계를 활용하는 그래프 신경망
- 오디오 특징과 사용자 선호도를 정렬하는 대조 학습 프레임워크
- 행동 시퀀스, 오디오 임베딩, 트랙 메타데이터를 결합한 데이터셋의 Multi-Modal 특성을 활용해 아래의 연구 진행
- Organic vs Algorithmic 상호작용 분석
- 행동 차이에 대한 분석을 다음과 같은 주제에 중점을 두고 진행할 예정
- 추천 후 사용자 참여도 감소의 시간적 패턴
- 알고리즘 큐레이션으로 인한 피드백 루프의 편향 전파
- 유기적 발견의 다양성과 우연성을 정량화하는 지표
- 행동 차이에 대한 분석을 다음과 같은 주제에 중점을 두고 진행할 예정
- 향상된 시간적 평가 프로토콜
Conclusion
- 본 논문에서 소개한 데이터는 학술적 실험과 산업 배포 간의 격차를 해소하는 기초 자원 역할을 하도록 설계
- 47억 9천만 건의 user-item 상호작용을 포함한 대규모 데이터셋을 추천 시스템 연구 발전을 위해 공개
- 해당 데이터셋은 다음과 같은 3가지 특징을 보유
- 고품질 오디오 임베딩: 트랙의 스펙트럼 분석을 통해 생성된 오디오 임베딩이 제공되어 콘텐츠 기반 추천 가능
- is_organic flag: 각 상호작용에 대한 is_organic flag가 포함되어 있어 사용자 행동과 알고리즘에 의해 유도된 행동을 구분 가능
- 정밀한 타임스탬프: Global Temporal Split 평가 프로토콜에 맞춰 설계된 시간 데이터 세분화 방식으로 기준 모델 성능 평가 시 시간적 데이터 누출을 엄격하게 차단하도록 구현
- 기존 협업 필터링(행렬 분해 등)은 실시간 환경에서 성능 저하
- Transformer 계열 아키텍처가 시퀀스 처리에 필수적임을 입증
반응형