Pinterest, AI 플랫폼 10년의 여정: 기술 혁신과 조직 문화의 조화
개별 팀 중심의 ML 스택에서 시작하여, Linchpin DSL과 Scorpion을 통해 통합 시도
DNN, GPU, LLM 등장에 따라, MLEnv, TabularML 등 새로운 인프라 구축 및 표준화 진행
모델링과 플랫폼의 긴밀한 협력을 통해 GPU 활용 극대화 및 확장성 확보
Linchpin DSL과 Scorpion: 초기 통합 시도
Pinterest는 초기 ML 모델 구축을 위해 Linchpin DSL을 활용하여 Feature Transformation을 정의하고, Scorpion을 통해 온라인 추론을 수행했다. Linchpin은 Training-Serving Skew 문제를 해결했지만, Python-native framework로의 전환에 따라 유연성이 부족해졌다. 따라서, 유연성 확보를 위해 새로운 접근 방식이 필요했다.
MLEnv와 TabularML: 표준화된 ML 환경 구축
Pinterest는 MLEnv를 통해 Training 환경을 표준화하고, TabularML을 도입하여 데이터셋 형식을 통일했다. MLEnv는 PyTorch 기반의 Deep Learning 워크플로우를 지원하며, TabularML은 Parquet 형식을 사용하여 데이터 저장 비용 절감 및 Feature Backfill 속도 향상을 달성했다. 따라서, ML 개발 생산성 향상을 이끌었다.
GPU 활용 극대화를 위한 아키텍처 변화
Pinterest는 GPU를 활용하여 온라인 추론 성능을 향상시키기 위해, CPU/GPU 간의 데이터 전송 최소화 및 반정밀도 연산을 도입했다. Ray를 활용하여 Training Data Pipeline을 개선하고, Model Farm을 통해 모델 배포 유연성을 확보했다. 결과적으로, Transformer 모델의 성능 향상과 비용 절감을 동시에 달성했다.