Pinterest 여러 Surface의 Ads Engagement Modeling 통합
HF·SR를 하나의 모델로 묶고 Surface별 calibration과 경량화로 성과를 냈다.
Pinterest의 광고 engagement 모델은 Home Feed(HF), Search(SR), Related Pins(RP) 같은 여러 surface에 흩어져 있었지만, 핵심 과제는 결국 같은 광고 engagement를 얼마나 정확히 예측하느냐였다. 기존에는 surface별로 독립된 production model을 운영해 왔고, user sequence modeling, feature crossing, feature representation, training configuration이 서로 달라지며 iteration 속도 저하, 중복 학습 비용, 유지보수 부담이 계속 커졌다.
이를 해결하기 위해 먼저 baseline unified model을 만들었다. 세 surface의 feature를 합치고, 기존 모듈을 하나의 architecture로 묶고, 학습 데이터도 통합했다. 오프라인 성과는 좋아졌지만 training과 serving 비용이 크게 늘어, 실제 production 적용을 위해 추가 최적화가 필요했다.
다음 단계에서는 비용이 상대적으로 높은 RP를 제외하고 HF와 SR부터 통합했다. 이 과정에서 MMoE와 long user sequences 같은 핵심 요소를 하나의 unified model 안에 결합했고, 단독 surface에서 적용했을 때는 효과가 불안정하던 요소들도 HF+SR의 결합 학습에서는 더 나은 개선으로 이어졌다. 최종 목표 구조는 하나의 모델이 세 surface를 모두 지원하되, surface-specific tower tree와 그 안의 모듈을 통해 각 surface에 맞는 계산만 수행하는 형태다.
정확도 측면에서는 surface-specific calibration이 중요했다. 하나의 global calibration layer는 HF와 SR의 traffic distribution을 섞어 버릴 수 있어, view type specific calibration layer로 각각 따로 보정하도록 바꿨고, 온라인 실험에서 기존 shared calibration보다 더 나은 성과를 보였다.
유연성을 되살리기 위해 multi-task learning과 surface-specific exports도 도입했다. 하나의 shared architecture를 유지하면서도 surface별 checkpoint를 따로 내보내 각 surface가 더 적합한 구조를 선택할 수 있게 했고, shared representation learning의 이점은 계속 가져갔다.
성능과 비용 문제를 줄이기 위해 인프라 최적화도 병행했다.
- DCNv2로 Transformer output을 더 작은 representation으로 projection한 뒤 downstream crossing과 tower tree에 연결해 serving latency를 낮췄다.
- fused kernel embedding으로 inference latency를 개선했고, TF32로 training speed를 끌어올렸다.
- serving에서는 request-level broadcasting을 적용해 같은 user에 대한 embedding lookup을 반복하지 않고 한 번만 가져온 뒤 batch 전체에 broadcast했다.
마지막으로 offline experiment와 online experiment 모두에서 HF와 SR 성능 개선을 확인했다. 다음 단계는 아직 통합되지 않은 RP까지 모델을 확장하는 것이며, 가장 큰 과제는 더 높은 효율을 유지하면서 serving performance target을 만족시키는 것이다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.