Repositori ini memegang aset yang melengkapi artikel " Offline ke Online: Penyimpanan Fitur untuk Sistem Rekomendasi Real-Time dengan NVIDIA MERLIN " Awalnya ditulis untuk blog pengembang NVIDIA.
Kami memberikan contoh arsitektur sistem rekomendasi dan memberikan instruksi penyebaran cloud untuk penggunaan produksi. Masing -masing contoh bergantung pada Redis dan kerangka kerja NVIDIA MERLIN yang menyediakan sejumlah blok bangunan untuk membuat sistem rekomendasi.
Ada 3 contoh dalam repositori ini
Skala besar memperluas arsitektur kedua untuk kasus penggunaan yang menuntut pelatihan atau inferensi skala besar (> 1).
Masing-masing contoh dirancang untuk berjalan secara lokal pada sistem yang diaktifkan GPU NVIDIA dengan Docker dan Docker-Compose. Kami merekomendasikan untuk melaksanakan semua hal berikut pada instance cloud dengan GPU NVIDIA (idealnya AWS Pytorch ami)
Namun, kami juga menyediakan serangkaian skrip terraform dan buku catatan ansible yang dapat menggunakan infrastruktur yang diperlukan untuk menjalankan contoh pada contoh AWS.

Sistem rekomendasi "offline" menggunakan komputasi batch untuk memproses data dalam jumlah besar dan kemudian menyimpannya untuk pengambilan nanti. Diagram di atas menunjukkan contoh sistem semacam itu yang menggunakan pendekatan dua menara untuk menghasilkan rekomendasi dan kemudian menyimpannya di dalam database Redis untuk pengambilan nanti.
Notebook offline menyediakan metode untuk membangun sistem rekomendasi jenis ini serta kereta dan ekspor model yang diperlukan untuk menjalankan sistem rekomendasi online di bagian berikut.
Untuk mengeksekusi notebook, jalankan yang berikut
$ cd offline-batch-recsys/
$ docker compose up # -d to daemonizeKemudian buka tautan yang dihasilkan oleh Jupyter di browser.

Sistem rekomendasi "online" menghasilkan rekomendasi sesuai permintaan. Berbeda dengan sistem berorientasi batch, sistem online dibatasi latensi. Saat merancang sistem ini, jumlah waktu untuk menghasilkan rekomendasi kemungkinan merupakan faktor yang paling penting. Biasanya ditutup sekitar 100-300ms, setiap bagian dari sistem membutuhkan komponen yang tidak hanya efisien tetapi juga dapat diukur untuk jutaan pengguna dan item. Membuat sistem rekomendasi online memiliki batasan yang lebih signifikan daripada sistem batch, namun, hasilnya seringkali merupakan rekomendasi yang lebih baik karena informasi (fitur) dapat diperbarui secara real-time. Diagram di atas menunjukkan contoh arsitektur ini.
Contoh sebelumnya untuk rekomendasi batch menghasilkan model dan set data untuk buku catatan ini, tetapi Anda juga dapat mengunduh aset terlatih dengan AWS CLI sebagai berikut
aws s3 cp s3://redisventures/merlin/merlin-recsys-data.zip ./data
Untuk mengeksekusi notebook, jalankan yang berikut
$ cd online-multi-stage-recsys/
$ docker compose up # -d to daemonizeBagian ini berisi dua buku catatan: satu untuk menggunakan fitur Store (REDIS) dan membuat indeks vektor (REDIS) dan lainnya untuk mendefinisikan dan menjalankan model ensemble untuk menjalankan seluruh pipa (Triton).
Catatan: Pastikan untuk menjalankan notebook pertama sebelum yang kedua atau model tidak akan dijalankan.

Notebook terakhir yang menunjukkan cara menangani kumpulan data yang sangat besar saat model pelatihan seperti DLRM untuk sistem rekomendasi. Perusahaan besar sering memiliki jutaan pengguna dan item. Seluruh tabel embedding dari model mungkin tidak sesuai dengan satu GPU. Untuk ini, NVIDIA menciptakan kerangka Hugectr.
Hugectr adalah bagian dari kerangka kerja NVIDIA Merlin dan menambahkan fasilitas untuk pelatihan terdistribusi dan melayani model rekomendasi. Notebook yang terperinci di sini berfokus pada penyebaran dan melayani Hugectr dan menyediakan versi DLRM yang sudah terlatih yang dapat digunakan untuk contoh. Informasi lebih lanjut tentang pelatihan terdistribusi dengan Hugectr dapat ditemukan di sini.
Untuk menjalankan buku catatan lokal, jalankan yang berikut
$ cd large-scale-recsys/
$ docker compose up # -d to daemonizeFolder ini mencakup skrip terraform dan buku pedoman ansible yang menggunakan
Semua di Amazon Web Services.

Contoh -contoh yang disajikan dalam repositori ini semuanya dapat dijalankan pada infrastruktur terraform dengan perubahan minimal. Ini adalah metode cepat untuk menggunakan infrastruktur ini untuk mencoba pipa sistem rekomendasi yang dirinci di sini. Lihat ReadMe di dalam penempatan awan untuk lebih.
Model dalam tutorial ini dapat diambil dengan AWS CLI dengan berlari
aws s3 cp s3://redisventures/merlin/merlin-recsys-data.zip ./data
Tautan Repostories berikut ke kode/aset yang digunakan dalam artikel dan buku catatan
Notebook di sini membangun karya banyak buku catatan yang sudah ada sebelumnya seperti
Kami sangat merekomendasikan membaca