Knowledge/Science Papers

[AD] Deep Learning Recommendation Model for Personalization and Recommendation Systems

DonK 2025. 2. 9. 11:07

 

Title

Deep Learning Recommendation Model for Personalization and Recommendation Systems

Links

Summary

1. 왜 딥러닝 추천 모델(DLRM)이 중요한가?

개인화된 광고의 성장과 대규모 데이터

  • 인터넷 사용 시간이 증가함에 따라, 대규모 유저 데이터를 바탕으로 한 개인화 광고의 가치가 커지고 있습니다.
  • 유저가 남긴 수많은 클릭 로그, 관심사 태그, 시간대, 디바이스 정보 등은 방대한 피처(Feature) 공간을 형성하게 됩니다.
  • 추천 시스템은 이러한 이질적인 피처들을 동시에 학습하여, 정확도 높은 광고 추천을 실현해야 합니다.

기존 추천 모델의 한계

  • 전통적인 콜라보레이티브 필터링(Collaborative Filtering) 기반 모델이나 단순 MLP 기반 모델은, 연산 효율성과 학습 효율 사이의 균형을 맞추기가 쉽지 않습니다.
  • 대부분의 서비스가 실시간 혹은 준실시간으로 추천을 수행해야 하기 때문에, 예측 속도도 매우 중요합니다.
  • 또한, 카테고리, 상품 ID 등 범주형(Categorical) 피처가 매우 많은 추천 환경에서, 그들을 어떻게 효율적으로 임베딩(Embedding)하여 모델에 반영하느냐가 매우 큰 이슈입니다.

DLRM은 이러한 규모 확장성과 정확도 향상을 함께 달성하기 위해 제안된 모델로, Meta에서 실제로 대규모 추천 시스템을 운영하면서 얻은 노하우가 담겨 있습니다.

2. DLRM의 핵심 아이디어

 

임베딩(Embedding)과 MLP 조합

DLRM은 크게 연속형 피처(Continuous Features) 와 범주형 피처(Categorical Features) 를 처리하기 위해 서로 다른 경로를 둡니다:

  1. 연속형 피처는 일반적으로 MLP에 그대로 입력(혹은 간단한 정규화 과정을 거치면서)되어, 여러 층의 Fully-connected layer(MLP)를 통해 고차원 표현으로 변환됩니다.
  2. 범주형 피처는 임베딩 테이블(Embedding Table)을 통해 임베딩 벡터로 변환한 후, 추출된 임베딩들을 합치거나 서로 간 교차(interaction)하는 과정을 거칩니다.

이를 통해 모델은 연속형, 범주형 피처 각각이 가진 특성을 최대한 반영하면서, 최종적으로 MLP를 통해 두 그룹을 융합하여 최종 예측 값을 산출합니다.

Feature Interaction(특성 상호작용)

추천 모델에서 피처 간의 상호작용은 예측 정확도에 매우 중요한 역할을 합니다. 예를 들어, “사용자 A”가 “스포츠 관심사”라는 범주형 피처와 “오후 시간대”라는 연속형 피처와의 조합이 “사용자 B”가 “음악 관심사 + 오전 시간대”인 경우와는 전혀 다른 추천 결과를 가져올 수 있습니다. DLRM에서는 다음과 같은 구조로 피처 상호작용을 수행합니다:

  1. 연속형 피처 쪽 MLP에서 나온 은닉 벡터와,
  2. 범주형 피처를 각각 임베딩한 뒤,
  3. 이 벡터들을 Dot product 등을 통해 상호작용을 시키거나, Concatenate하여 추가 MLP 레이어에 투입합니다.

Dot Product 기반 상호작용은 다양한 피처 조합을 저비용(파라미터가 많아지지 않는)으로 효과적으로 학습할 수 있는 장점이 있습니다.

3. 모델 구조 상세

입력 피처 구조

  • 연속형(Continuous) 피처 예시: 나이, 거래 금액, 시간대(연속적 또는 큰 정수 가능) 등
  • 범주형(Categorical) 피처 예시: 사용자 ID, 상품 ID, 관심사 태그, 브라우저 종류 등

임베딩 레이어(Embedding Layer)

  • 범주형 피처의 수가 매우 많을 경우(예: 수백만~수억 개), 임베딩 테이블이 거대해집니다.
  • 적절한 임베딩 차원 설정이 중요하며, 병렬화 분산 처리를 통해 스케일링하는 것이 핵심입니다.

MLP(다층 퍼셉트론) 구조

  1. Bottom MLP: 연속형 피처를 입력받아 은닉 표현(hidden representation)을 추출합니다.
  2. Top MLP: 범주형 피처를 임베딩한 벡터들과 Bottom MLP의 출력값이 상호작용한 후에, 최종 예측을 위해 사용합니다.
  3. Feature Interaction: 범주형 임베딩끼리도 쌍wise로 점곱(dot product)을 하여 상호작용을 명시적으로 표현하고, 이것을 Top MLP로 전달합니다.

4. 주요 기술적 성과와 시사점

대규모 데이터 처리

  • Meta 광고 서비스 수준의 수십 억 건 이상 데이터를 처리하기 위해, 모델과 데이터 파이프라인이 고도로 최적화되어야 합니다.
  • 논문에서는 이러한 대규모 연산을 위해 GPU 및 CPU 최적화 전략을 제시하며, 특히 임베딩 테이블 접근/업데이트 효율에 많은 공을 들였습니다.
  • 메모리 상에 임베딩 테이블을 분산 배치하고, 각 파티션에 대한 병렬 처리로 학습 속도를 개선합니다.

Sparse vs. Dense 연산 최적화

  • 범주형 피처는 Sparse(희소) 데이터의 특성을 지니기 때문에, 일반적인 Dense 연산 최적화 기법과는 다른 방식이 요구됩니다.
  • Meta에서는 PyTorch와 Caffe2 등을 이용해 Sparse 연산에 특화된 커스텀 커널을 구현하여, 단일 노드나 멀티 노드에서 빠르게 학습할 수 있도록 했습니다.

모델의 성능 지표

  • 논문에서 제시된 벤치마크 결과를 보면, CTR(Click-Through Rate) 예측 정확도 등의 추천 성능이 기존 방식 대비 높은 예측력을 보여줍니다.
  • 특히 딥러닝 모델의 표현 학습 능력이 방대한 범주형 피처를 효과적으로 학습하여, 사용자 개개인에게 정교한 맞춤 광고를 제공할 수 있음을 증명합니다.

5. DLRM이 주는 인사이트

범주형 피처 중요성 재확인

전통적 딥러닝에서는 주로 이미지나 텍스트 등 연속된 데이터에 집중했지만, 광고/추천 시스템은 범주형 피처가 핵심입니다. 따라서 임베딩 테이블 관리 전략이 모델의 성능과 효율을 결정짓습니다.

확장성(Scalability) 문제 해결

엄청난 크기의 데이터셋을 다루기 위해 분산 학습과 병렬 연산이 필수적임을 보여줍니다. 특히 임베딩 테이블은 매우 큰 메모리를 소모하기에 효율적인 파티셔닝이 성능의 열쇠가 됩니다.

Feature Interaction 방식의 발전

단순히 ‘피처들을 Concat 후 MLP에 태운다’가 아닌, 점곱(Dot-product) 등 특정 연산을 통한 상호작용 구조가 CTR 예측 등에서 높은 성능을 낸다는 사실이 다시 한 번 강조되었습니다. 이는 이후에 출시된 다양한 모델들(예: DeepFM, xDeepFM 등)에도 큰 영감을 주었습니다.

엔지니어링(Engineering)과 리서치의 결합

딥러닝 모델 자체도 중요하지만, 해당 모델을 실제 프로덕션 환경에서 대용량으로 학습·서빙하기 위해서는 엔지니어링 레벨에서의 최적화, 병렬처리, 인프라 구성이 필수적이라는 사실을 잘 보여주는 사례입니다.

6. 마무리 및 개인 생각

모델 적용 분야 확장

  • 개인화 광고뿐 아니라, 개인화 추천이 필요한 거의 모든 서비스(전자상거래, 스트리밍 플랫폼, SNS 피드 등)에 적용 가능성이 높습니다.
  • 대용량 범주형 데이터를 다루면서 실시간/준실시간 추천이 필요한 시스템에서는 유용한 아키텍처를 참고할 수 있을 것입니다.

앞으로의 전망

  • 최근에는 Transformer를 응용한 추천 모델도 나오는 등, 추천 시스템의 진화 속도가 굉장히 빠릅니다.
  • 그러나 규모가 방대한 범주형 데이터와 sparse 연산 최적화가 중요한 구조적인 문제는 그대로 남아 있기 때문에, DLRM과 유사한 임베딩 기반 접근이 당분간은 주류를 이룰 가능성이 큽니다.

배경 지식과 학습 리소스

  • DLRM의 기본 구성 요소인 MLP, Embedding, Dot-product 상호작용 등을 좀 더 깊이 이해하고 싶다면, **CF(협업 필터링)**와 Factorization Machine, **FM 변형 모델들(DeepFM, NFM, xDeepFM 등)**에 대한 학습을 함께 권장드립니다.
  • 대규모 분산 학습 환경을 다루는 PyTorch Distributed, Horovod, Parameter Server 개념도 공부해두면, 실제 모델 적용 시 많은 도움이 될 것입니다.

DLRM은 대규모 범주형 피처를 효율적으로 학습하여 고품질 개인화 추천을 수행하기 위한 딥러닝 모델로, 광고 산업뿐 아니라 다양한 추천 서비스에서 큰 효과를 보일 수 있다는 점이 인상적입니다. “어떻게 범주형 피처를 다루느냐”와 “어떻게 대규모 데이터 학습을 병렬·분산화하느냐”가 이 모델의 핵심 포인트입니다.

앞으로도 추천 모델들은 변화무쌍하게 발전하겠지만, DLRM이 제시한 임베딩 + MLP + 피처 상호작용 패턴은 계속해서 적용되고 확장될 것입니다. 개인화 마케팅이나 추천 알고리즘에 관심 있으신 분들이라면, 본 논문을 통해 대규모 피처 처리와 고효율 예측의 결합 방법을 한 번쯤 꼼꼼히 살펴보시는 것을 추천드립니다.

Questions

  • 임베딩 테이블의 크기가 너무 커질 때, 어떤 방식으로 메모리 사용을 최적화할 수 있을까요?
  • DLRM과 MF(Matrix Factorization)나 Factorization Machine 계열 모델을 비교했을 때, 학습 효율이나 해석성 측면에서 어떤 차이가 있을까요?
  • GPU, CPU, 혹은 TPU 등 다양한 하드웨어 환경에서 Sparse 연산 최적화를 진행하는 핵심 팁은 무엇일까요?