DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
KOEN
Read Original

Contents

Continue Reading

  • More from Pinterest
  • Related reads#RecommendationSystems
#AI

리퀘스트 단위 중복 제거를 통한 추천 시스템 스케일링

리퀘스트 단위 중복 제거를 통한 추천 시스템 스케일링
01

Summary

핀터레스트는 어떻게 추천 모델 서빙 처리량을 7배나 높였을까?

리퀘스트 단위 중복 제거로 인프라 비용은 잡고 모델 규모는 100배 키운 엔지니어링 전략

이 아티클은 핀터레스트가 거대해진 추천 모델을 효율적으로 운영하기 위해 도입한 '리퀘스트 단위 중복 제거' 기술을 다룹니다. 저장, 학습, 서빙 전 과정에서 발생하는 데이터 중복을 제거하여 얻은 압도적인 성능 향상 수치와 그 과정에서 마주한 기술적 난제들의 해결법을 상세히 공유합니다.

  • 01Apache Iceberg와 리퀘스트 정렬을 통한 최대 50배의 저장 공간 압축
  • 02IID 붕괴 문제를 해결하고 모델 성능을 복구한 SyncBatchNorm 도입
  • 03검색 모델의 품질 저하를 막는 사용자 레벨 identity 마스킹 기법
  • 04트랜스포머의 연산을 분리해 효율을 극대화한 DCAT 아키텍처 개발
  • 05커스텀 Triton 커널을 활용한 서빙 레이턴시 및 처리량 최적화

+RECOMMENDATION

대규모 사용자 시퀀스 데이터를 다루는 추천 시스템 엔지니어나, 모델 규모 확장에 따른 인프라 비용 최적화가 고민인 시스템 아키텍트에게 강력히 추천합니다.

The Problem

추천 모델의 규모가 커지면서 리퀘스트당 수천 개의 아이템에 대해 동일한 사용자 시퀀스 데이터가 중복 처리 및 저장되어 인프라 비용과 부하가 기하급수적으로 증가하는 문제가 발생했습니다.

The Solution

데이터 저장 시 리퀘스트 ID 기반 정렬과 Apache Iceberg를 활용하고, 학습 시 SyncBatchNorm과 사용자 레벨 마스킹을 도입했으며, 서빙 효율을 위해 DCAT(Deduplicated Cross-Attention Transformer) 아키텍처를 적용했습니다.

The Result

저장소 10~50배 압축, 학습 속도 최대 4배 향상, 서빙 처리량 7배 증가를 달성하여 모델 규모를 100배 키우면서도 인프라 비용을 효과적으로 관리했습니다.

Trade-off

리퀘스트 단위 정렬 시 독립 동일 분포(IID) 가정이 깨져 배치 통계가 불안정해지고 검색 모델에서 가짜 음성(False Negative) 비율이 상승하는 부작용이 있어 추가적인 보정 기술이 필요했습니다.

03

Key Concepts

Concept · 01

Request-Level Deduplication

한 리퀘스트 내의 여러 아이템이 공유하는 사용자 정보나 컨텍스트 데이터를 매번 반복하지 않고 한 번만 처리하도록 만드는 최적화 기법입니다.

  • 데이터 저장, 이동, 연산 시 발생하는 불필요한 중복을 제거함
  • ML 라이프사이클 전반에 걸쳐 효율성을 개선하는 핵심 전략
Concept · 02

SyncBatchNorm

분산 학습 시 모든 디바이스의 로컬 배치 통계치를 합산하여 전체 데이터에 대한 평균과 분산을 계산하는 배치 정규화 방식입니다.

  • 리퀘스트 단위 정렬로 인해 특정 사용자에 편향된 배치 통계 문제를 해결
  • 학습 수렴 속도와 최종 모델 품질을 IID 샘플링 수준으로 복구
Concept · 03

DCAT (Deduplicated Cross-Attention Transformer)

사용자 히스토리 처리(Context)와 개별 아이템과의 연산(Crossing)을 분리하여 컨텍스트 연산 결과를 재사용하는 트랜스포머 구조입니다.

  • 모든 아이템에 대해 사용자 시퀀스를 중복 계산하던 낭비를 제거
  • 서빙 시 KV 캐싱과 결합하여 처리량을 7배까지 끌어올림
Continue reading · same source

PinterestMore from Pinterest

View all posts from Pinterest
  • 핀터레스트 홈 피드를 위한 조건부 학습 검색(CLR) 확장하기

    Recommendation SystemsLearned RetrievalTransformer
    3일 전
  • 피너의 성장: 핀터레스트의 주간 활성 사용자 증가를 이끄는 유스케이스 표현 개선 사례

    Recommendation SystemsClusteringEmbeddings
    1개월 전
  • 대규모 인프라 보안 확보: 핀터레스트의 리소스 프로비저너 파이프라인(RPP) 도입기

    TerraformAWSGitHub Actions
    1개월 전
  • 핀터레스트 파운데이션 모델을 위한 선형에 가까운 학습 확장성 달성

    Distributed TrainingPyTorchNCCL
    2개월 전
  • 핀터레스트의 차세대 DB 인제스션 프레임워크 내 자동화된 스키마 진화

    CDCApache IcebergFlink
    2개월 전

Related reads#RecommendationSystems

Explore #RecommendationSystems
Netflix·CLIP

MAPS: 넷플릭스의 대규모 멀티모달 에셋 개인화

#RecommendationSystems1일 전
Pinterest

핀터레스트 홈 피드를 위한 조건부 학습 검색(CLR) 확장하기

#RecommendationSystems3일 전
Netflix·LLM

GenRec: 넷플릭스의 LLM 네이티브 추천 시스템을 향하여

#RecommendationSystems1개월 전
Pinterest

피너의 성장: 핀터레스트의 주간 활성 사용자 증가를 이끄는 유스케이스 표현 개선 사례

#RecommendationSystems1개월 전
Pinterest·Distributed Training

핀터레스트 파운데이션 모델을 위한 선형에 가까운 학습 확장성 달성

#RecommendationSystems2개월 전

Source

Pinterest
Pinterest
Engineering Blog

Published · April 13, 2026

Topics

Recommendation SystemsTransformerSystem ScalingApache IcebergTriton