
이론과 실제의 괴리를 극복하고 실전에서 승리하는 추천 시스템 서빙 아키텍처 가이드
이 아티클은 핀터레스트 엔지니어링 팀이 겪은 L1 랭킹 모델의 성능 불일치 문제를 심층 분석합니다. 단순히 모델의 성능을 높이는 것을 넘어, 서빙 인프라와 피처 파이프라인의 정렬이 왜 중요한지 실무적인 관점에서 설명합니다. 특히 대규모 추천 시스템을 운영하는 개발자들에게 오프라인 지표의 함정을 피하는 구체적인 체크리스트를 제공합니다.
대규모 추천 시스템을 설계하는 엔지니어라면 모델의 수식 개선보다 피처 파이프라인의 일관성 확인을 우선해야 합니다. 특히 L1/L2 등 다단계 랭킹 구조를 운영한다면 각 단계 간의 목표 정렬 상태를 주기적으로 점검할 것을 권장합니다.
핀터레스트의 L1 전환(CVR) 모델이 오프라인 지표(Loss, Calibration)에서는 20~45%의 성능 향상을 보였으나, 실제 온라인 A/B 테스트에서는 CPA 감소로 이어지지 않거나 부정적인 지표를 보이는 '온라인-오프라인(O/O) 불일치'가 발생했습니다.
문제 해결을 위해 모델 평가, 서빙 및 피처, 깔때기(Funnel) 설계의 3단계 가설 검증을 수행했습니다. 이 과정에서 서빙 아티팩트의 피처 누락을 수정하고, 투타워(Two-tower) 모델의 임베딩 버전 스큐(Skew)를 관리하며, L1 모델과 전체 깔때기 간의 정렬(Alignment)을 개선했습니다.
L2에서 사용되는 피처를 L1 임베딩에도 자동 적용되도록 도구화를 개선하고, 모델 배포 전 버전 스큐 민감도 테스트를 의무화했습니다. 이를 통해 모델 예측의 정확도가 실제 비즈니스 가치(CPA)로 연결될 수 있도록 시스템적 신뢰도를 확보했습니다.
Trade-off
오프라인 성능 향상이 전체 시스템의 리콜(Recall) 한계에 부딪힐 경우 더 이상의 모델 개선이 무의미할 수 있음을 확인했으며, 서빙 일관성을 위해 배치 추론을 강제하는 등의 배포 제약 조건이 추가되었습니다.
머신러닝 모델이 오프라인 테스트 데이터셋에서는 우수한 성능을 보이지만, 실제 운영 환경(온라인)에서는 기대한 효과를 내지 못하는 현상을 의미합니다.
사용자/쿼리와 아이템을 각각 별도의 신경망(Tower)을 통해 임베딩으로 변환한 뒤, 두 임베딩의 내적을 통해 유사도를 계산하는 모델 구조입니다.
수천 개의 후보군 중 지연 시간(Latency) 제약 내에서 가장 유망한 항목들을 선별하여 하위 시스템으로 전달하는 초기 필터링 단계입니다.









