행동 시퀀스 모델링 (새 탭에서 열림)
핀터레스트는 사용자의 오프사이트(offsite) 행동 이력을 분석하여 미래의 전환 가능성을 예측하는 행동 시퀀스 모델링(Behavioral Sequence Modeling)을 통해 광고 후보군 생성 시스템을 혁신했습니다. 이 시스템은 트랜스포머(Transformer) 기반의 투타워(Two-tower) 구조를 활용해 사용자별로 개인화된 광고주 및 상품을 추천하며, 이를 통해 광고의 관련성을 높이고 광고주 측면에서는 전환 비용(CPA)을 낮추는 성과를 거두었습니다. 결과적으로 수억 개의 상품 카탈로그 속에서 사용자의 진화하는 쇼핑 의도를 실시간으로 포착하여 정교한 광고 서빙이 가능해졌습니다. **광고주 상호작용 예측 모델 (Phase 1)** - 사용자가 과거에 조회, 구매, 장바구니에 담은 상품 시퀀스를 분석하여 다음에 상호작용할 가능성이 높은 광고주를 예측합니다. - 사용자 타워는 양방향 트랜스포머(Bidirectional Transformer)를 사용하여 이벤트 시퀀스를 인코딩하고, 광고주 타워는 MLP 레이어를 통해 광고주를 표현하는 투타워 구조를 채택했습니다. - 학습 시에는 체크아웃, 장바구니 담기, 가입 등을 양성(Positive) 샘플로 정의하고, 샘플링된 소프트맥스 손실(Sampled Softmax Loss)과 인기 항목에 대한 과도한 페널티를 방지하기 위한 Log-Q 편향 수정을 적용했습니다. - 오프라인 평가에서 200만 개의 광고주 임베딩을 대상으로 Recall@K를 측정하여 성능을 검증했으며, 온라인 실험 결과 전환수 증가와 CPA 감소라는 유의미한 비즈니스 지표 개선을 확인했습니다. **상품 단위(Item-level) 예측으로의 확장 (Phase 2)** - 광고주 단위를 넘어 특정 상품(Pin)을 직접 예측함으로써 더욱 깊이 있는 개인화와 효율적인 광고 전달 시스템을 구축했습니다. - 10억 개 이상의 방대한 상품 데이터를 처리하기 위해 핀터레스트 내부의 핀(Pin) 임베딩과 카탈로그 메타데이터를 통합하여 더욱 풍부한 상품 표현력을 확보했습니다. - 대규모 아이템 코퍼스를 다루기 위해 인배치 부정 샘플(In-batch negatives)과 2,000만 개의 무작위 샘플링된 핀을 혼합하여 대조 학습(Contrastive Learning)의 효과를 극대화했습니다. - 일 단위 추론 작업을 통해 최근 활동이 있는 사용자의 임베딩을 업데이트하고, 이를 온라인 피처 스토어에 게시하여 실시간 서빙 시스템에서 활용합니다. **서빙 플로우 및 성능 평가** - 오프라인 배치 워크플로우에서 예측된 상위 100개의 광고주/상품 리스트를 온라인 피처 스토어에 저장하고, 광고 요청 시 L1 랭커와 L2 랭커로 전달하여 최종 광고를 선정합니다. - 모델 성능은 단순 MLP 기반의 풀링(Max/Mean Pooling) 모델을 베이스라인으로 설정하고, 이보다 우수한 Recall@K 성능을 보이는 트랜스포머 모델을 최종 선택했습니다. - 아이템 단위 예측은 하위 단계의 랭킹 모델이 처리해야 할 후보군 수를 최적화함으로써 시스템의 확장성을 높이고 사용자 만족도를 증진시키는 역할을 합니다. 단순한 인구통계학적 타겟팅에서 벗어나 사용자의 실시간 행동 시퀀스를 반영하는 임베딩 기반 검색(Embedding-based Retrieval) 시스템을 구축하는 것이 대규모 커머스 플랫폼에서 광고 효율을 극대화하는 핵심 전략임을 보여줍니다. 특히 아이템 수가 기하급수적으로 늘어날수록 광고주 단위가 아닌 개별 상품 단위의 시퀀스 모델링이 필수적입니다.