
3개의 독립 모델을 하나로 합쳐 성능과 운영 효율이라는 두 마리 토끼를 잡은 기술적 비결
핀터레스트 엔지니어링 팀이 복잡한 광고 예측 시스템을 단일 프레임워크로 통합하며 겪은 도전과 해결책을 다룹니다. 서비스별 특성을 유지하면서도 공유 표현 학습을 극대화한 아키텍처 설계와 대규모 서빙 최적화 노하우를 상세히 공유합니다.
대규모 트래픽 환경에서 여러 도메인의 ML 모델을 운영하며 관리 효율성과 모델 성능 사이의 균형을 고민하는 AI 엔지니어에게 필독을 권장합니다.
홈 피드, 검색, 관련 핀 등 핀터레스트의 다양한 지면에서 독립적인 광고 참여 예측 모델을 운영함에 따라 개발 속도가 저하되고 중복적인 학습 비용 및 높은 유지보수 부담이 발생했습니다.
다중 작업 학습(Multi-task Learning) 기반의 통합 아키텍처를 설계하고, 서비스별 캘리브레이션 레이어와 DCNv2 기반의 투영 레이어, 그리고 유저 임베딩 조회를 최적화하는 요청 레벨 브로드캐스팅 기술을 도입했습니다.
오프라인 및 온라인 지표에서 유의미한 성능 향상을 확인했으며, 코드 경로 단일화를 통해 실험 속도를 높이고 효율적인 인프라 활용이 가능해졌습니다.
Trade-off
초기 모델 통합 과정에서 기능 병합으로 인해 모델 크기가 커져 지연 시간(Latency)이 일시적으로 증가했으며, 효율성을 위해 도입한 임베딩 공유 방식은 배치 내 고유 사용자 수의 상한선이라는 제약을 동반했습니다.
공통된 전문가(Expert) 레이어들을 여러 작업이 공유하되, 게이팅 네트워크를 통해 각 작업에 필요한 정보만 선택적으로 사용하는 구조입니다.
피처 간의 복잡한 상호작용을 명시적이고 효율적으로 학습하기 위해 고안된 신경망 구조입니다.
배치 내의 중복된 데이터(예: 동일 유저)를 한 번만 처리한 후 결과를 복사하여 연산 횟수를 줄이는 서빙 최적화 기법입니다.









