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#DistributedTraining
#AI

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

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

Summary

핀터레스트는 어떻게 8개 노드에서 93.75%의 미친 학습 효율을 뽑아냈을까?

통신 지옥에 빠진 거대 모델 학습을 구원한 5단계 최적화 전략과 2D Parallel의 마법

거대 추천 모델 학습의 최대 적은 '통신 병목'입니다. 핀터레스트 엔지니어링 팀이 노드를 추가할수록 느려지던 최악의 상황에서 선형에 가까운 확장성을 확보하기까지의 여정을 공개합니다. 하드웨어의 한계를 소프트웨어 아키텍처로 극복한 실전 레시피를 만나보세요.

  • 01AWS EFA와 OS-bypass 네트워킹을 통한 성능 베이스라인 복구
  • 02QComms 적용으로 FP32 임베딩 통신 부하를 FP8로 75% 이상 절감
  • 03All-to-All 통신을 노드 내부(NVLink)로 가두는 최적화된 2D 병렬화 토폴로지
  • 04임베딩 차원과 로우 수 조정을 통한 대역폭 친화적 모델 구조 설계
  • 05Distributed Checkpoint(DCP) 마이그레이션으로 유연한 리샤딩 환경 구축

+RECOMMENDATION

거대 임베딩 테이블을 다루는 추천 시스템 엔지니어라면 반드시 읽어보아야 합니다. 특히 GPU 개수에 비례해 학습 속도가 나지 않아 고민인 팀에게 2D 병렬화와 양자화 통신은 즉각적인 해답이 될 것입니다.

The Problem

핀터레스트의 파운데이션 모델은 대부분의 파라미터가 임베딩 테이블에 집중되어 있어 단일 GPU 메모리를 초과하며, 멀티 노드 학습 시 노드 간 통신 병목으로 인해 노드를 추가해도 성능이 오히려 저하되거나 확장성이 매우 낮았습니다.

The Solution

AWS EFA 도입을 시작으로 통신 양을 줄이는 양자화 통신(QComms), 임베딩 차원 재조정, 그리고 비싼 All-to-All 통신을 노드 내부로 한정시키는 2D 병렬화(All-to-All Optimized) 토폴로지를 적용했습니다.

The Result

이러한 최적화를 통해 4개 노드에서 이론적 한계치의 97.5%인 3.9배, 8개 노드에서 93.75%인 7.5배의 확장성을 달성했으며, 최종적으로 2개 노드 기준 초기 대비 13배의 처리량 향상을 기록했습니다.

Trade-off

서빙 측의 임베딩 구성 제약으로 인해 일부 최적화 기법(Balanced Sharding)의 독립적 채택이 제한되기도 했으며, 최신 PyTorch 프레임워크 업그레이드 과정에서 라이브러리 간 버전 충돌 및 메모리 프로파일러 오류를 해결해야 하는 운영 공수가 발생했습니다.

03

Key Concepts

Concept · 01

TorchRec & DistributedModelParallel

대규모 추천 모델을 위한 PyTorch 라이브러리로, 거대한 임베딩 테이블을 여러 GPU에 효율적으로 분산(sharding)하여 학습할 수 있게 돕습니다.

  • 핀터레스트 모델 파라미터의 99%를 차지하는 임베딩 테이블을 GPU 간에 분산 배치하는 데 사용되었습니다.
Concept · 02

2D Parallel (All-to-All Optimized)

데이터 병렬화와 모델 병렬화를 결합한 방식으로, 통신 비용이 비싼 작업을 네트워크 특성에 맞춰 재배치하는 전략입니다.

  • 비싼 All-to-All 통신은 빠른 노드 내부(NVLink)에서 처리하고, 상대적으로 가벼운 AllReduce만 노드 간 통신으로 처리하도록 토폴로지를 뒤집었습니다.
Concept · 03

Quantized Communications (QComms)

통신 시 발생하는 데이터 페이로드를 줄이기 위해 텐서를 낮은 정밀도(예: FP8)로 압축하여 전송하는 기술입니다.

  • FBGEMM 라이브러리를 활용해 모델 품질 저하 없이 통신 데이터 크기를 줄여 확장성을 1.13x에서 1.57x(2노드 기준)로 끌어올렸습니다.
Continue reading · same source

PinterestMore from Pinterest

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

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

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

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

    CDCApache IcebergFlink
    2개월 전
  • 사용자 시퀀스 데이터를 더 효율적이고 빠르며 사용하기 쉽게 만들기

    User SequenceLambda ArchitectureML Infrastructure
    3개월 전

Related reads#DistributedTraining

Explore #DistributedTraining
Netflix·Microservices

사일로에서 서비스 토폴로지로: 넷플릭스가 실시간 서비스 맵을 구축한 이유

#DistributedTraining3개월 전
SSG·MSA

“왜 노출이 안 될까?”를 한 번에 추적하는 방법

#DistributedTraining5개월 전

Source

Pinterest
Pinterest
Engineering Blog

Published · June 25, 2026

Topics

Distributed TrainingPyTorchNCCLEFARecommendation System