추천 시스템을 위한 캐시 라이브러리 기능 캐싱 노트

추천 시스템을 위한 캐시 라이브러리 기능 캐싱

Pinterest에서는 피처 캐싱이 최적의 효율성을 달성하는 데 중요한 역할을 하는 대규모 온라인 머신러닝 추론 시스템을 운영하고 있습니다. 저희는 처리량이 높고 유연한 기능 캐시를 구축하기 위해 Meta Open Source의 Cachelib 프로젝트를 채택하고 그 기능을 확장하기로 결정했습니다. 우리 시스템은 ML 기능을 효과적으로 제공하기 위해 캐싱 시스템에 크게 의존하고 있으며, 시스템 내에서 캐시를 배치하는 것이 매우 중요합니다. 저희는 ML 추론 플랫폼이 CPU에서 GPU로 전환됨에 따라 시스템 아키텍처를 발전시켰습니다. 세 가지 캐시 아키텍처를 실험해 보았습니다: 샤딩된 DRAM 캐시, 단일 노드 하이브리드 DRAM + NVM 캐시, 별도의 캐시 및 추론 노드. 또한 기능 요청을 로깅하고, 로깅된 요청을 S3에 업로드하고, 새 노드에서 요청을 재생하는 것으로 구성된 파이프라인을 구현하여 트래픽 서비스를 시작하기 전에 새 노드에서 콜드 캐시를 워밍업했습니다.