#AI

간극 줄이기: 핀터레스트 L1 전환 모델의 온라인-오프라인 불일치 진단

간극 줄이기: 핀터레스트 L1 전환 모델의 온라인-오프라인 불일치 진단
01

Summary

오프라인 점수는 100점인데 왜 매출은 안 오를까? 핀터레스트의 ML 모델 정렬 전략

이론과 실제의 괴리를 극복하고 실전에서 승리하는 추천 시스템 서빙 아키텍처 가이드

이 아티클은 핀터레스트 엔지니어링 팀이 겪은 L1 랭킹 모델의 성능 불일치 문제를 심층 분석합니다. 단순히 모델의 성능을 높이는 것을 넘어, 서빙 인프라와 피처 파이프라인의 정렬이 왜 중요한지 실무적인 관점에서 설명합니다. 특히 대규모 추천 시스템을 운영하는 개발자들에게 오프라인 지표의 함정을 피하는 구체적인 체크리스트를 제공합니다.

  • 01L1 랭킹 모델의 오프라인 지표가 온라인 성과로 이어지지 않는 O/O 불일치 현상 규명
  • 02훈련 데이터에는 존재하지만 서빙 시점의 임베딩에는 누락된 피처가 성능 저하의 주범임을 발견
  • 03쿼리와 핀(Pin) 타워 간의 임베딩 버전 불일치로 인한 성능 저하 분석 및 해결
  • 04전체 광고 서빙 깔때기 내에서 리콜(Recall) 한계점이 모델 성능에 미치는 영향 분석
  • 05O/O 불일치를 사후 디버깅 대상이 아닌 초기 설계 제약 조건으로 정의

RECOMMENDATION

대규모 추천 시스템을 설계하는 엔지니어라면 모델의 수식 개선보다 피처 파이프라인의 일관성 확인을 우선해야 합니다. 특히 L1/L2 등 다단계 랭킹 구조를 운영한다면 각 단계 간의 목표 정렬 상태를 주기적으로 점검할 것을 권장합니다.

The Problem

핀터레스트의 L1 전환(CVR) 모델이 오프라인 지표(Loss, Calibration)에서는 20~45%의 성능 향상을 보였으나, 실제 온라인 A/B 테스트에서는 CPA 감소로 이어지지 않거나 부정적인 지표를 보이는 '온라인-오프라인(O/O) 불일치'가 발생했습니다.

The Solution

문제 해결을 위해 모델 평가, 서빙 및 피처, 깔때기(Funnel) 설계의 3단계 가설 검증을 수행했습니다. 이 과정에서 서빙 아티팩트의 피처 누락을 수정하고, 투타워(Two-tower) 모델의 임베딩 버전 스큐(Skew)를 관리하며, L1 모델과 전체 깔때기 간의 정렬(Alignment)을 개선했습니다.

The Result

L2에서 사용되는 피처를 L1 임베딩에도 자동 적용되도록 도구화를 개선하고, 모델 배포 전 버전 스큐 민감도 테스트를 의무화했습니다. 이를 통해 모델 예측의 정확도가 실제 비즈니스 가치(CPA)로 연결될 수 있도록 시스템적 신뢰도를 확보했습니다.

Trade-off

오프라인 성능 향상이 전체 시스템의 리콜(Recall) 한계에 부딪힐 경우 더 이상의 모델 개선이 무의미할 수 있음을 확인했으며, 서빙 일관성을 위해 배치 추론을 강제하는 등의 배포 제약 조건이 추가되었습니다.

03

Key Concepts

Concept · 01

O/O Discrepancy (온라인-오프라인 불일치)

머신러닝 모델이 오프라인 테스트 데이터셋에서는 우수한 성능을 보이지만, 실제 운영 환경(온라인)에서는 기대한 효과를 내지 못하는 현상을 의미합니다.

  • 핀터레스트 L1 모델에서 LogMAE 감소에도 불구하고 실제 CPA는 개선되지 않는 형태로 나타남
Concept · 02

Two-Tower Architecture (투타워 아키텍처)

사용자/쿼리와 아이템을 각각 별도의 신경망(Tower)을 통해 임베딩으로 변환한 뒤, 두 임베딩의 내적을 통해 유사도를 계산하는 모델 구조입니다.

  • 핀터레스트의 L1 랭킹 및 검색 시스템에서 효율적인 후보군 추출을 위해 사용됨
  • 배포 시 쿼리 타워와 핀 타워의 모델 체크포인트 버전이 달라지는 '버전 스큐' 문제가 발생함
Concept · 03

L1 Ranking Stage (L1 랭킹 단계)

수천 개의 후보군 중 지연 시간(Latency) 제약 내에서 가장 유망한 항목들을 선별하여 하위 시스템으로 전달하는 초기 필터링 단계입니다.

  • 하위 단계인 L2 및 옥션(Auction) 시스템으로 전달할 관리 가능한 규모의 광고 세트를 선별함