ML Ranking Systems
검색, 광고, 추천에서 다중 목표를 최적화하는 ML 순위 시스템
핵심 개념
ML 순위 시스템은 CTR(클릭률), 전환율, 관련성 등 여러 목표를 동시에 최적화해야 한다. 단일 목표 최적화는 다른 지표를 저하시키는 경우가 많아, 멀티태스크 학습과 구조화된 모델 아키텍처가 필요하다.
패턴: MMoE (Multi-gate Mixture-of-Experts)
Etsy의 광고 순위 시스템이 대표적 사례:
- 전문가 네트워크: 여러 expert 네트워크가 각각 특화된 표현을 학습
- 게이트 메커니즘: 각 태스크(CTR, 구매 예측)별 게이트가 expert를 선택적으로 가중 조합
- 보조 태스크: 희소한 구매 시그널을 보강하기 위해 장바구니 추가(add-to-cart)를 보조 태스크로 활용
- 결과: 구매 AUC 3.5% ↑, 클릭 AUC 1% ↑, 모델 프루닝으로 추론 비용 절감
패턴: Bayesian Trees (희소 데이터)
Lyft의 승객 전환율 예측 사례:
- 문제: 위치×시간×수요 조합의 롱테일에서 일반 ML 모델이 과적합
- 계층적 컨텍스트: Bayesian Tree가 컨텍스트를 계층적으로 조직
- Gaussian Prior + L2 정규화: 데이터가 충분한 리프는 로컬 정확도, 희소한 리프는 부모 노드의 안정된 신호로 퇴보
- 단조성 제약(Monotonicity): 일관되고 해석 가능한 예측 보장
패턴: Hetero-MMoE (이종 전문가)
Uber의 광고 개인화 시스템이 기존 MMoE를 진화시킨 사례:
- 이종 전문가: MLP, Deep Cross Network, Compressed Interaction Network 등 서로 다른 유형의 expert를 혼합하여 저/고차 피처 상호작용 모두 포착
- Sequential Modeling: 정적 집계 피처 대신 타겟 인지 트랜스포머로 시간적 역학 포착
- Multi-head Latent Attention(MLA): O(N²) → 선형 복잡도로 시퀀스 처리 효율화
- 참여도, 광고주 성과, 마켓플레이스 건전성을 동시 최적화
시맨틱 피드 랭킹
LinkedIn의 차세대 피드 시스템은 이질적인 검색 신호를 시맨틱 표현(semantic representation)으로 통합하여 수십억 사용자 대상 서브초 지연시간을 달성한다.
트레이드오프
| 접근법 | 강점 | 약점 |
|---|---|---|
| MMoE | 다중 목표 동시 최적화, 태스크 간 간섭 감소 | 게이트 학습 복잡, expert 수 튜닝 필요 |
| Bayesian Trees | 희소 데이터에 강건, 해석 가능 | 대규모 피처에 스케일링 어려움 |
| Hetero-MMoE | 이종 expert로 다양한 상호작용 포착 | 아키텍처 복잡도 증가 |
| 단일 모델 멀티태스크 | 단순 | 목표 간 충돌 시 성능 저하 |
Shopping Conversion Candidate Generation (Pinterest)
대규모 쇼핑 전환 최적화를 위한 후보 생성(CG) 아키텍처:
- 병렬 DCN v2: 다수의 임베딩 기반 리트리벌 경로를 병렬로 실행하여 recall 극대화
- 통합 멀티태스크 아키텍처: 하나의 모델이 여러 리트리벌 타워를 동시에 학습
- 전통적 순차 파이프라인(후보생성→랭킹) 대신 후보생성 단계에서 전환 신호를 직접 반영
Contextual Sequential Ads (Pinterest)
실시간 컨텍스트를 시퀀셜 추천 모델에 통합하는 패턴:
- 합성 증강 데이터(Synthetic Augmented Data): 컨텍스트 변화를 시뮬레이션하여 학습 데이터 확장
- 하이브리드 오프라인/온라인 추론: 오프라인 사용자 임베딩 + 온라인 컨텍스트 피처 결합
- Two-Tower 구조: 사용자 타워(시퀀스 인코딩) + 아이템 타워를 분리하여 서빙 효율 확보
패턴: DCN — XGBoost에서 딥러닝으로의 전환 (Faire)
Faire의 검색 랭킹을 XGBoost에서 Deep and Cross Network(DCN)으로 2년에 걸쳐 전환한 사례:
전환 동기
- XGBoost는 label engineering에 의존하여 다중 목표 밸런싱이 취약
- 정적 임베딩으로 세션 내 의도 변화를 포착 불가
- 구조적 포지션 디바이어싱 불가
핵심 교훈
- 데이터 품질이 모델 아키텍처보다 중요: 초기 실패 원인의 대부분은 모델이 아닌 데이터 (중복, 불완전 피처, 잘못된 라벨 조인)
- 분포 인지 피처 정규화: MinMaxScaler → Log/Z-score로 전환 시 수렴 안정성·지표 모두 개선
- NaN 인디케이터: 결측값을 0 대체 대신 별도 이진 컬럼으로 표시 → “데이터 없음”과 “낮은 값”을 구분
- 세션 정규화 리스트와이즈 손실: 세션 내 상대 선호도 학습 → 세션 길이 편향 제거
- 멀티태스크 학습으로 관련성-참여도 트레이드오프를 모델 내에서 해결, 후처리 휴리스틱 제거
- 크로스서피스 파인튜닝: Product Search 모델을 Brand Page Search에 파인튜닝하여 개발 주기 ~50% 단축
서빙 인프라 교훈
- 임베딩 테이블 공유 메모리로 워커 간 복제 비용 제거
- CPU 샌드박싱(프로세스별 물리 코어 고정)으로 동시 추론 레이턴시 극적 감소
- GPU 전환 후 더 큰 배치·더 복잡한 모델을 동일 레이턴시에서 처리, 비용도 감소
성과
- +2.14% 주문량(북미), +1.54%(유럽)
- grouped permutation importance + synthetic zero-feature로 불필요 피처 25% 제거
연관 개념
- AI Agent
- Ad Tech Data Infrastructure
- Generative Recommender Systems — 시퀀스 기반 자기회귀 추천
- Multimodal Search — 멀티모달 임베딩 기반 랭킹
- Feature Store
- LLM Fine-Tuning
- Data Quality and Validation — 딥러닝 전환에서 데이터 품질이 핵심
Source: Making Ads Count, Predicting Rider Conversion in Sparse Data Environments with Bayesian Trees, Transforming Ads Personalization with Sequential Modeling and Hetero-MMoE, Engineering the Next Generation of LinkedIns Feed, Shopping Conversion CG at Pinterest, Contextual Sequential Ads at Pinterest, How We Rebuilt Search Ranking at Faire with Deep Learning