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