넷플릭스가 추천 시스템을 다시 설계한 이유
넷플릭스는 사용자 맞춤형 추천 시스템으로 유명하지만, 그 이면에는 수많은 개별 모델들이 복잡하게 얽혀 있었습니다. 'Continue Watching(이어서 보기)', '오늘의 추천' 등 목적별로 다르게 설계된 이 모델들은 각각 독립적으로 학습되어, 혁신을 공유하거나 확장하기 어려웠죠.
넷플릭스는 이제 기존 구조의 한계를 넘어, 모든 추천 시스템의 기반이 될 수 있는 **'Foundation Model(기초 추천 모델)'**을 개발했습니다. 이 모델은 방대한 사용자 데이터를 바탕으로 장기적인 선호를 이해하고, 다양한 추천 시나리오에 유연하게 활용될 수 있습니다. 마치 자연어처리(NLP)에서 거대한 언어 모델(LLM)이 다양한 작업을 수행할 수 있게 된 것처럼, 추천 분야에서도 같은 진화를 시도한 것입니다.
1. 왜 ‘Foundation Model’이 필요한가?
복잡한 추천 시스템, 점점 더 비효율적으로
넷플릭스는 다양한 사용자 행동에 맞춘 개별 모델들을 사용하고 있었지만, 그 유지 비용은 점점 증가했고 새로운 기술을 한 모델에서 다른 모델로 옮기기도 어려웠습니다. 특히 대부분의 추천 모델은 최근 시청 이력에만 집중했기 때문에, 장기적인 선호도 파악에는 한계가 있었습니다.
LLM에서 배운 전략들
- 데이터 중심 접근: 기존의 '모델 중심 설계(Feature Engineering)' 대신, 대규모 고품질 데이터를 기반으로 한 엔드 투 엔드 학습 중심의 접근.
- 반지도 학습(Semi-Supervised Learning): LLM이 사용하는 '다음 토큰 예측(next-token prediction)'은 라벨이 없는 데이터도 학습에 활용할 수 있게 해줌.
이러한 전략을 추천 시스템에 적용하면, 단순히 개별 시나리오를 위한 작은 모델을 만드는 대신, 하나의 강력한 모델로 다양한 추천 작업을 수행할 수 있게 됩니다.
2. 📦 데이터: 사용자 행동을 어떻게 토큰화했는가?
넷플릭스는 2024년 기준 3억 명 이상의 사용자를 보유하고 있으며, 이들의 행동은 수백억 건의 인터랙션으로 축적되어 있습니다. 이 데이터를 효율적으로 활용하기 위해 '인터랙션 토큰화(Tokenization)' 방식을 도입했습니다.
행동의 토큰화란?
- 유저의 여러 행동을 하나의 ‘토큰’으로 요약
- 예: 동일 타이틀에 대한 여러 시청 이력을 하나의 토큰으로 병합
- 정보 손실을 최소화하면서도, 과도한 데이터는 압축
이런 방식은 NLP에서의 BPE(Byte Pair Encoding)와 유사하지만, 시청 시간, 장르, 장치 등 보존해야 할 요소가 더 많습니다.
학습 시엔 어떻게 처리할까?
- Sparse Attention: 희소 어텐션 구조로 수백 개 이벤트를 처리
- Sliding Window Sampling: 긴 시퀀스를 여러 윈도우로 나눠 학습
이렇게 하면 실제 사용자 행동의 장기 패턴을 더 깊이 이해하면서도, 실시간 추천을 위한 낮은 지연 시간을 유지할 수 있습니다.
3. 🔍 토큰 내부의 정보 구조
각 토큰은 단순한 시청 이벤트가 아니라, 다음과 같은 다양한 정보를 포함합니다:
- 행동 정보: 시간, 지역, 장치 종류, 시청 길이 등
- 콘텐츠 정보: 콘텐츠 ID, 장르, 국가 등 메타데이터
- 시간 정보: 절대 시간과 상대 시간을 모두 포함
시퀀스 모델 학습을 위한 구성
- Request-Time Features: 현재 단계에서 얻을 수 있는 정보 (예: 로그인 시점)
- Post-Action Features: 이전 행동 이후 얻은 정보 (예: 시청한 콘텐츠)
이 둘을 조합해, 매 시점의 토큰이 사용자의 문맥과 과거 행동을 모두 반영하도록 설계되었습니다.
4. 🎯 학습 목표와 아키텍처 설계
Next-Token Prediction을 그대로 쓸 수 없던 이유
일반적인 LLM은 각 토큰을 동일하게 다루지만, 넷플릭스의 추천에서는 그렇지 않습니다.
- 예: 5분짜리 트레일러 시청과 2시간 영화 시청은 무게가 달라야 함
- 단순한 다음 아이템 예측은 장기 만족도와 연결되지 않음
넷플릭스의 대안 전략
- Multi-token prediction: 한 번에 여러 토큰을 예측하며 장기적 흐름 파악
- Auxiliary Objective 추가: 장르나 언어 등 부가 예측 과제를 추가하여 일반화 향상
이러한 구조는 잡음 많은 데이터에 대한 과적합을 줄이고, 사용자의 근본적인 취향을 더 잘 파악하게 만듭니다.
5. 🧊 차별화된 문제 해결: Cold Start
넷플릭스는 매일 새로운 콘텐츠를 추가하므로, 아직 시청 이력이 없는 타이틀에 대해서도 추천을 해야 합니다.
이를 해결하기 위한 두 가지 핵심 기능
✅ Incremental Training (점진적 학습)
- 매번 전체 모델을 재학습할 수 없기 때문에, 기존 모델의 파라미터를 재사용하고, 새로운 타이틀만 새로 초기화
- 초기화 시에는 비슷한 타이틀의 임베딩을 가중 평균하거나, 약간의 노이즈를 추가
✅ Unseen Entity 처리
- 학습에 포함되지 않은 새로운 타이틀도 추천 가능해야 함
- 이를 위해 메타데이터 기반 임베딩 + ID 기반 임베딩을 결합
- 타이틀의 나이(age)에 따라 가중치를 조정 → 신작은 메타데이터에 더 의존
6. 🔄 활용 예시와 파생 응용
1) 직접적인 예측 모델
- 다양한 예측 헤드를 가지고 있어, 장르별 선호 예측 등도 가능
2) 임베딩 활용
- 사용자와 콘텐츠를 벡터화해 다양한 모델에 활용
- 타이틀 간 유사 콘텐츠 추천에도 활용
단, 각 모델 재학습 시 임베딩 공간이 바뀔 수 있음 → Low-Rank Transformation 기법으로 공간 안정화
3) 파인튜닝
- 전체 모델 혹은 하위 구성요소를 따로 떼어내어, 특정 서비스에 맞게 적은 비용으로 재학습 가능
7. 📈 모델 확장과 스케일링 전략
LLM처럼, 추천 분야에서도 모델을 확장할수록 성능이 향상된다는 사실이 입증됐습니다.
- 데이터 스케일링: 더 많은 사용자 행동, 리뷰, 이미지 등 포함
- 모델 스케일링: 더 많은 파라미터, 더 복잡한 구조
- 컨텍스트 스케일링: 더 긴 시청 이력 포함
성공적인 확장을 위해선 정교한 평가, 효율적인 학습 알고리즘, 막대한 연산 자원이 필요하며, 넷플릭스는 이를 체계적으로 구현하고 있습니다.
넷플릭스의 ‘추천 시스템’은 이제 하나의 플랫폼이다
넷플릭스는 기존의 복잡한 추천 모델을 하나의 거대한 ‘Foundation Model’로 통합하면서, 확장성과 유지 효율성, 그리고 예측 정확도까지 잡았습니다. 이 모델은 단순히 사용자에게 콘텐츠를 추천하는 것 이상의 가치를 가지며, 넷플릭스 전체 서비스의 지능형 인프라로 작동하게 됩니다.
추천의 정확도가 높아질수록, 사용자는 더 만족스러운 경험을 하고, 이는 다시 더 많은 인터랙션과 데이터를 낳습니다. 이 선순환 구조 안에서, 넷플릭스는 진정한 데이터 기반의 개인화 추천을 실현하고 있습니다.
https://netflixtechblog.com/foundation-model-for-personalized-recommendation-1a0bd8e02d39
Foundation Model for Personalized Recommendation
By Ko-Jen Hsiao, Yesu Feng and Sudarshan Lamkhede
netflixtechblog.com
'인공지능' 카테고리의 다른 글
AI가 금융 데이터를 바꾸는 방식: 쿼리 최적화부터 사기 탐지까지 (0) | 2025.04.07 |
---|---|
“공격자는 하나, 방어자는 모두” – 구글의 사이버 보안 AI 모델 ‘Sec-Gemini v1’이 바꾸는 게임의 법칙 (0) | 2025.04.07 |
“지브리 스타일로 변신!” – EasyControl로 만드는 애니메이션 아트의 세계 (0) | 2025.04.07 |
Apple MCP: 메시지부터 지도까지 맥OS 자동화를 완성하는 애플 네이티브 툴킷! (0) | 2025.04.07 |
“모든 파일을 Markdown으로!” – LLM 시대를 위한 경량 변환 도구, MarkItDown 완전 분석 (0) | 2025.04.07 |