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% 제거

연관 개념


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