GPU로 두 타워 모델을 서빙한 광고 참여도 예측 경량화
MMOE-DCN 기반 GPU 서빙으로 광고 참여도 예측의 정확도와 지연을 함께 개선했다.
Pinterest의 광고 lightweight ranking은 복잡한 하위 랭킹 모델로 넘기기 전 후보 광고를 빠르게 거르는 단계다. 여기서 two-tower 구조를 유지하되, Pin(광고) tower는 오프라인 배치로 임베딩을 만들고 query(사용자) tower는 실시간 임베딩을 생성해, 두 임베딩의 dot product에 sigmoid를 적용해 점수를 계산한다.
기존에는 모든 two-tower 모델을 CPU에서 서빙했지만, 2025년에는 참여도 예측용 첫 GPU-serving 모델을 출시했다. 새 모델은 기존 MTMD에서 MMOE와 DCN 조합으로 바뀌었고, 각 expert는 full-rank와 low-rank DCN 레이어를 함께 사용한다. GPU 서빙 덕분에 더 복잡한 구조를 쓰면서도 CPU baseline과 비슷한 latency를 유지했다.
성능 면에서는 이전 프로덕션 CTR 예측 모델 대비 offline loss가 5~10% 낮아졌고, standard ad와 shopping ad 시나리오를 분리해 각자 관련 데이터만 학습하자 loss가 추가로 5~10% 더 줄었다. 이 분리 방식은 offline 모델 iteration 속도도 2배로 끌어올렸다.
학습 효율 개선을 위해 다음 최적화를 적용했다.
- Dataloader 최적화: GPU prefetch로 batch i+1을 준비하는 동안 GPU가 batch i를 처리하도록 구성하고, p4d 인스턴스의 1TB CPU 메모리를 활용해 worker thread 수를 늘렸다.
- 모델 코드 효율화: CPU에서의 비싼 zero allocation을 피하고 GPU에서 직접 처리했으며, 여러 개의 개별 kernel 대신 fused kernels를 사용했다.
- 학습 설정 개선: BF16 정밀도를 도입하고 batch size를 키워 메모리 활용도를 높였다.
학습은 downstream ranking model의 prediction score를 라벨로 삼고, 라벨과 예측값 사이의 KL divergence를 loss로 사용했다. 평가 대상은 auction winners와 auction candidates였으며, offline과 online 모두에서 loss 감소가 확인됐다. 온라인 실험에서는 CPC가 낮아지고 CTR이 올라가면서, GPU 인프라와 모델 구조 개선이 함께 성과를 만들었다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.