Sistem rekomendasi

Dari pemesanan makanan hingga video on demand dan streaming audio hingga mode, sistem rekomendasi mendukung beberapa aplikasi paling populer saat ini. Jelajahi bagaimana Anda dapat membangun sistem rekomendasi siap produksi dengan pustaka dan alat open source dari ekosistem TensorFlow.

Sistem rekomendasi meningkatkan keterlibatan pengguna dalam aplikasi Anda dan meningkatkan pengalaman pengguna dengan menyediakan konten yang paling diinginkan. Pemberi rekomendasi modern adalah sistem kompleks yang sering dipecah menjadi beberapa tahap untuk mencapai latensi rendah dalam produksi. Melalui tahap pengambilan, pemeringkatan, dan kemungkinan pasca pemeringkatan, item yang tidak relevan secara bertahap disaring dari sejumlah besar kandidat dan daftar opsi yang paling mungkin berinteraksi dengan pengguna akhirnya disajikan.

Mulailah membangun dengan TensorFlow Rekomendasi , kerangka kerja yang mudah digunakan yang memfasilitasi alur kerja penuh dalam membangun sistem pemberi rekomendasi mulai dari persiapan data hingga penerapan.

Setelah Anda selesai melatih model Anda, terapkan model tersebut ke dalam produksi untuk memberikan rekomendasi kepada pengguna akhir. TensorFlow Serving memproduksi model Anda untuk inferensi performa tinggi. Hal ini bertujuan untuk memaksimalkan throughput model pembelajaran mesin dan dapat mendukung model rekomendasi besar yang memerlukan penyajian terdistribusi.

# Deploy the retrieval model with TensorFlow Serving
docker run -t --rm -p 8501:8501 \
  -v "RETRIEVAL/MODEL/PATH:/models/retrieval" \
  -e MODEL_NAME=retrieval tensorflow/serving &

# Retrieve top movies that user 42 may like
curl -X POST -H "Content-Type: application/json" \
  -d '{"instances":["42"]}'  \
  http://localhost:8501/v1/models/retrieval:predict

# Output
# {
#    "predictions":[
#       {
#          "output_1": [2.032, 1.969, 1.813],
#          "output_2": ["movie1”, “movie2”, “movie3”]
#       }
#    ]
# }

# Deploy the ranking model with TensorFlow Serving
docker run -t --rm -p 8501:8501 \
  -v "RANKING/MODEL/PATH:/models/ranking" \
  -e MODEL_NAME=ranking tensorflow/serving &

# Get the prediction score for user 42 and movie 3
curl -X POST -H "Content-Type: application/json" \
  -d '{"instances":[{"user_id":"42", "movie_title":"movie3"}]}' \
  http://localhost:8501/v1/models/ranking:predict

# Output:
# {"predictions": [[3.66357923]]}
kode_blok
Pelajari cara membuat dan menerapkan sistem rekomendasi tumpukan penuh dengan TensorFlow

Meningkatkan tahap pengambilan dan pemeringkatan mesin rekomendasi

Sistem rekomendasi berskala besar mengharuskan item yang paling relevan ditentukan dari jutaan kandidat melalui tahap pengambilan dan pemeringkatan secara efektif dan efisien. Lengkapi Pemberi Rekomendasi TensorFlow dengan algoritme penelusuran Approximate Nearest Neighbor (ANN) yang canggih dan teknik learning-to-rank (LTR) untuk meningkatkan rekomendasi.

Google Pemindaian

ScaNN adalah perpustakaan untuk pencarian kesamaan vektor dalam skala besar. Ini memanfaatkan teknik ANN yang canggih, seperti hashing asimetris dan kuantisasi anisotropik, untuk mempercepat pengambilan kandidat teratas.

Peringkat TensorFlow

TensorFlow Ranking adalah perpustakaan untuk mengembangkan model LTR neural yang skalabel. Ini memberikan fungsionalitas tambahan untuk menentukan peringkat item kandidat guna memaksimalkan utilitas peringkat.

Optimalkan penyematan besar untuk pelatihan dan inferensi model

Operasi pencarian penyematan merupakan komponen penting untuk sistem rekomendasi berskala besar. Manfaatkan akselerasi perangkat keras dan teknologi penyematan dinamis untuk mengatasi hambatan kinerja yang umum terjadi pada tabel penyematan besar.

Penyematan TPU TensorFlow

API lapisan TPUEmbedding memfasilitasi pelatihan dan penyajian tabel penyematan besar di Tensor Processing Unit (TPU).