meta-pytorch/torchrec

Pytorch domain library for recommendation systems

해결하는 문제

TorchRec은 대규모 추천 시스템(RecSys)의 학습과 배포 과정에서 발생하는 문제를 해결합니다. 이러한 모델은 일반적으로 고카디널리티의 범주형 스파스 특징을 사용하며, 이는 거대한 임베딩 테이블을 필요로 합니다. 이러한 테이블은 단일 GPU에 수용하기 어려울 정도로 크기 때문에, 여러 장치 및 노드에 효율적으로 분산시켜야 합니다.

작동 방식

PyTorch 기반의 스파스성 및 병렬 처리 기반의 기본 기능을 제공합니다. 다음 기능을 포함합니다:

  • 샤딩 전략: 테이블 단위, 행 단위, 열 단위 등 다양한 방법으로 임베딩 테이블을 분할하여 GPU 간에 모델을 분산하는 도구.
  • 자동 계획: 성능을 극대화하는 최적의 샤딩 계획을 생성하는 플래너.
  • 파이프라인 학습: 데이터 로딩, 장치 전송, 계산을 겹쳐 수행하여 병목 현상을 줄이는 시스템.
  • 최적화된 커널: FBGEMM 기반의 고성능 RecSys 커널.
  • 양자화: 정밀도를 낮춰 학습 및 추론 속도를 향상시키고, C++ 추론을 위한 최적화를 지원.

대상 사용자

수많은 GPU와 프로덕션 환경으로 확장이 필요한 최신 개인화 및 추천 모델을 개발하는 연구자 및 엔지니어를 위한 것입니다.

주요 특징

  • Meta의 프로덕션 RecSys 모델을 구동.
  • 하이브리드 데이터 병렬 및 모델 병렬을 지원.
  • Criteo 클릭 로그 및 MovieLens과 같은 내장 RecSys 데이터셋 제공.
  • DLRM 이벤트 예측 모델과 같은 엔드투엔드 학습 예제 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트