핀터레스트(Pinterest), 홈 피드(Home Feed) 추천 시스템의 진화: DPP에서 SSD, Soft-Spacing까지

by DD
1개월 전
조회수 10

핀터레스트(Pinterest)는 홈 피드(Home Feed) 추천 시스템의 핵심인 피드 다양성(Feed Diversification)을 개선하기 위해 멀티-오브젝티브 최적화(Multi-Objective Optimization) 기술을 지속적으로 발전시켜 옴

초기 DPP(Determinantal Point Process) 기반의 다양화 알고리즘에서 SSD(Sliding Spectrum Decomposition) 알고리즘으로 전환하여 계산 복잡도(Computational Complexity)를 낮추고 성능을 개선함

2025년에는 Soft-Spacing 기술을 도입하여 콘텐츠 품질을 향상시키고, 시스템 인프라를 PyTorch 기반으로 이전하여 유연성을 확보함

2025년 3분기에는 PinCLIP 이미지 특징(Image Features)을 활용하여 시각적 표현(Visual Representation)을 강화하고, 4분기에는 Semantic ID를 추가하여 다양성(Diversity)을 더욱 향상시킴

DPP(Determinantal Point Process)에서 SSD(Sliding Spectrum Decomposition)로의 전환

핀터레스트(Pinterest)는 초기 피드 다양성(Feed Diversification)을 위해 DPP(Determinantal Point Process)를 사용했으나, 계산 복잡도(Computational Complexity)와 성능 개선을 위해 SSD(Sliding Spectrum Decomposition)로 전환했다.

DPP: GraphSAGE(GraphSAGE) 임베딩과 카테고리 분류를 활용하여 아이템 간 유사도를 계산하고, Cholesky 분해(Cholesky Decomposition)를 통해 다양성을 확보

SSD: 윈도우 기반의 스펙트럼 분해(Spectral Decomposition)를 통해 계산 효율성(Computational Efficiency)을 높이고, PyTorch(PyTorch)를 활용하여 유연성을 확보

결과: SSD는 DPP 대비 낮은 지연 시간(Latency)과 더 많은 시그널(Signal)을 활용할 수 있는 장점을 제공하며, 2025년 초에 도입되어 핀터레스트(Pinterest)의 추천 시스템에 기여

SSD(Sliding Spectrum Decomposition) 알고리즘의 기술적 특징

SSD(Sliding Spectrum Decomposition)는 핀(Pin)의 임베딩(Embedding)과 유사도 행렬(Similarity Matrix)을 기반으로 피드 내 다양성을 확보하는 알고리즘이다.

윈도우 기반: 슬라이딩 윈도우(Sliding Window) 내에서 로컬 유사성(Local Similarity) 구조를 분석하고, 각 스펙트럼(Spectrum)의 노출 빈도를 조절

수식: Uᵢ(𝑡) = f(rᵢ) − β ∑ₖ₌₁ᴷ wₖ(𝑡)·(uₖ^(ᵗ)[i])² 와 같은 수식을 통해 다양성(Diversity)과 관련성(Relevance)의 균형을 조절

PyTorch(PyTorch) 활용: PyTorch(PyTorch)의 선형대수(Linear Algebra) 연산을 활용하여 구현, DPP(Determinantal Point Process) 대비 계산 복잡도(Computational Complexity) 감소 및 유연성 확보

Soft-Spacing 기술을 통한 콘텐츠 품질 개선

핀터레스트(Pinterest)는 SSD(Sliding Spectrum Decomposition)를 기반으로 콘텐츠 품질을 향상시키기 위해 Soft-Spacing 기술을 도입했다.

Soft-Spacing: qᵢ(t) = 𝟙[cᵢ ∈ R] ∑{d=1}^w (1/d) 𝟙[c{t−d} ∈ R] 와 같은 수식을 통해 품질 위험 콘텐츠(Quality Risk Content)의 클러스터링(Clustering)을 방지

목적: 사용자에게 더 나은 경험(Better Experience)을 제공하고, 품질 저하 콘텐츠의 과도한 노출을 방지

효과: 2025년 중반에 도입되어 콘텐츠 품질 개선에 기여했으며, 향후 확장 가능한 프레임워크(Extensible Framework) 구축을 통해 지속적인 개선을 추진

시스템 인프라(System Infrastructure)의 진화

핀터레스트(Pinterest)의 멀티-오브젝티브 최적화(Multi-Objective Optimization) 시스템은 초기에는 여러 노드(Node)로 구성된 블렌딩 레이어(Blending Layer)를 사용했다.

초기 시스템: Lightweight Reranking 노드를 통해 단기적 참여(Short-term Engagement)와 다양성(Diversity)을 최적화하고, DPP(Determinantal Point Process) 노드를 통해 다양성(Diversity)을 강화

PyTorch(PyTorch) 기반 전환: SSD(Sliding Spectrum Decomposition) 도입과 함께 블렌딩 레이어(Blending Layer)의 로직(Logic)을 PyTorch(PyTorch)로 이전하여 유연성 확보

목표: 블렌딩 레이어(Blending Layer) 내 휴리스틱 로직(Heuristic Logic)을 모델 서버(Model Server)로 이전하여 시스템 복잡성(System Complexity)을 줄이고, 실험(Experiment) 용이성 증대

다양성 시그널(Diversity Signal)의 발전

핀터레스트(Pinterest)는 피드 다양성(Feed Diversification)을 위해 다양한 시그널(Signal)을 활용하며, 특히 임베딩(Embedding) 기술을 적극적으로 도입했다.

초기: 카테고리 시그널(Categorical Signal)과 GraphSAGE(GraphSAGE)를 활용하여 핀(Pin) 간 유사도(Similarity)를 계산

2025년: SSD(Sliding Spectrum Decomposition) 도입과 함께 시각적 임베딩(Visual Embedding), 텍스트 임베딩(Text Embedding), 그래프 임베딩(Graph Embedding)을 활용하여 다양한 시그널(Signal)을 통합

PinCLIP: 2025년 3분기에 PinCLIP 이미지 특징(Image Features)을 도입하여 시각적 표현(Visual Representation)을 강화하고, 실시간(Real-time)에 가까운 시그널(Signal)을 활용

Semantic ID: 2025년 4분기에 Semantic ID를 추가하여 의미론적 다양성(Semantic Diversity)을 확보하고, 반복적인 콘텐츠 클러스터(Content Cluster) 노출을 방지

Evolution of Multi-Objective Optimization at Pinterest Home feed