이 저장소는 NVIDIA Developer 블로그를 위해 원래 작성된 " 온라인으로 오프라인 : 온라인으로 오프라인 : Offline to Online : Offline to Online : 기능 저장소 "를 보완하는 자산을 보유하고 있습니다.
우리는 추천 시스템 아키텍처의 예를 제공하고 생산 사용을위한 클라우드 배포 지침을 제공합니다. 각 예제는 Redis 및 Nvidia Merlin 프레임 워크에 의존하여 권장 시스템을 만들기위한 여러 빌딩 블록을 제공합니다.
이 저장소에는 3 가지 예가 있습니다
대규모 규모 (> 1 GPU) 훈련 또는 추론을 요구하는 사용 사례에 대한 대규모 규모는 두 번째 아키텍처를 확장합니다.
각 예제는 Docker 및 Docker-Compose를 사용하여 NVIDIA GPU 지원 시스템에서 로컬로 실행하도록 설계되었습니다. NVIDIA GPU (AWS Pytorch AMI)를 사용하여 클라우드 인스턴스에서 다음을 모두 실행하는 것이 좋습니다.
그러나 AWS 인스턴스에서 예제를 실행하는 데 필요한 인프라를 배포 할 수있는 일련의 Terraform 스크립트 및 Ansible 노트북을 제공합니다.

"오프라인"권장 시스템은 배치 컴퓨팅을 사용하여 대량의 데이터를 처리 한 다음 나중에 검색 할 수 있도록 저장합니다. 위의 다이어그램은 2 타워 접근 방식을 사용하여 권장 사항을 생성 한 다음 나중에 검색하기 위해 Redis 데이터베이스 내에 저장하는 시스템의 예를 보여줍니다.
오프라인 노트북은 이러한 유형의 추천 시스템을 구축하는 방법을 제공 할뿐만 아니라 다음 섹션에서 온라인 추천 시스템을 실행하는 데 필요한 모델을 기차 및 수출하는 방법을 제공합니다.
노트북을 실행하려면 다음을 실행하십시오
$ cd offline-batch-recsys/
$ docker compose up # -d to daemonize그런 다음 Browser에서 Jupyter가 생성 한 링크를 엽니 다.

"온라인"권장 시스템은 주문형 권장 사항을 생성합니다. 배치 지향 시스템과 달리 온라인 시스템은 대기 시간이 제한됩니다. 이러한 시스템을 설계 할 때 권장 사항을 생성하는 시간이 가장 중요한 요소 일 수 있습니다. 일반적으로 약 100-300ms의 캡핑 된 시스템의 각 부분에는 효율적일뿐만 아니라 수백만 명의 사용자와 품목에게 확장 가능한 구성 요소가 필요합니다. 온라인 추천 시스템을 만드는 것은 배치 시스템보다 훨씬 더 많은 제약 조건이 있지만, 정보 (기능)을 실시간으로 업데이트 할 수 있으므로 결과는 종종 더 나은 권장 사항입니다. 위의 다이어그램은이 아키텍처의 예를 보여줍니다.
배치 권장 사항의 이전 예제는이 노트북의 모델과 데이터 세트를 생성하지만 다음과 같이 AWS CLI를 사용하여 미리 훈련 된 자산을 다운로드 할 수도 있습니다.
aws s3 cp s3://redisventures/merlin/merlin-recsys-data.zip ./data
노트북을 실행하려면 다음을 실행하십시오
$ cd online-multi-stage-recsys/
$ docker compose up # -d to daemonize이 섹션에는 두 개의 노트북이 포함되어 있습니다. 하나는 기능 저장소 (REDIS)를 배포하고 벡터 인덱스 (REDIS)를 생성하고 다른 하나는 전체 파이프 라인 (Triton)을 실행하기 위해 앙상블 모델을 정의하고 실행하기위한 것입니다.
참고 : 두 번째 노트를 실행하기 전에 첫 번째 노트북을 실행하십시오. 그렇지 않으면 모델이 실행되지 않습니다.

추천 시스템을 위해 DLRM과 같은 모델을 교육 할 때 매우 큰 데이터 세트를 처리하는 방법을 보여주는 마지막 노트북. 대기업에는 종종 수백만 명의 사용자와 품목이 있습니다. 모델의 전체 임베딩 테이블은 단일 GPU에 맞지 않을 수 있습니다. 이를 위해 Nvidia는 Huglect Framework를 만들었습니다.
Hugect는 Nvidia Merlin 프레임 워크의 일부이며 분산 교육 및 권장 모델 서비스를위한 시설을 추가합니다. 여기에 자세히 설명 된 노트북은 Hugect의 배포 및 서빙에 중점을두고 예식에 사용할 수있는 미리 훈련 된 DLRM 버전을 제공합니다. Huglect와의 분산 교육에 대한 자세한 내용은 여기를 참조하십시오.
로컬 노트북을 실행하려면 다음을 실행하십시오
$ cd large-scale-recsys/
$ docker compose up # -d to daemonize이 폴더에는 Terraforf Scripts 및 배포하는 Ansible Playbook이 포함됩니다.
Amazon Web Services의 모든 것.

이 저장소에 제시된 예제는 모두 최소한의 변경으로 Terraformed 인프라에서 실행할 수 있습니다. 이는이 인프라를 배포하여 여기에 자세히 설명 된 권장 시스템 파이프 라인을 시험해 볼 수있는 빠른 방법입니다. 클라우드 배치 내의 readme를 참조하십시오.
이 튜토리얼의 모델은 실행하여 AWS CLI로 검색 할 수 있습니다.
aws s3 cp s3://redisventures/merlin/merlin-recsys-data.zip ./data
다음 repostories는 기사 및 노트북에 사용되는 코드/자산에 링크
여기서 노트북은 많은 기존 노트북의 작업을 바탕으로합니다.
읽는 것이 좋습니다