Hari ini, kami sangat senang dapat mengumumkan peluncuran Keras Recommenders, sebuah library baru yang menempatkan teknik rekomendasi termutakhir di ujung jari Anda.
Sistem Rekomendasi mendukung banyak interaksi yang Anda lakukan dengan teknologi saat ini. Buka aplikasi apa pun di ponsel Anda dan Anda mungkin akan langsung berinteraksi dengan model rekomendasi, mulai dari beranda di platform media sosial yang Anda gunakan, saran video di YouTube, hingga iklan yang muncul di game favorit Anda. Seiring dengan perkembangan dunia AI, memberikan pengalaman yang dipersonalisasi menjadi semakin penting. Model bahasa besar tidak bisa melakukan segalanya, dan sistem pemberi rekomendasi bertanggung jawab untuk menciptakan banyak pengalaman digital terbaik saat ini.
Untuk membantu developer membuat sistem pemberi rekomendasi yang berkinerja baik dan akurat, Keras Recommenders (KerasRS) berisi seperangkat API dengan komponen penyusun yang didesain untuk tugas seperti pemeringkatan dan pengambilan. Sebagai contoh, di Google, kami menggunakan KerasRS untuk mendukung feed di Google Play.
Untuk memulai, instal paket keras-rs. Kemudian atur backend ke JAX (atau TensorFlow atau PyTorch). Sekarang Anda sedang dalam proses untuk membuat sistem pemberi rekomendasi termutakhir Anda sendiri.
import os
os.environ["KERAS_BACKEND"] = "jax"
import keras
import keras_rs
class SequentialRetrievalModel(keras.Model):
def __init__(self):
self.query_model = keras.Sequential([
keras.layers.Embedding(query_count, embed_dim),
keras.layers.GRU(embed_dim),
])
self.candidate_model = keras.layers.Embedding(candidate_count, embed_dim)
self.retrieval = keras_rs.layers.BruteForceRetrieval(k=10)
self.loss_fn = keras.losses.CategoricalCrossentropy(from_logits=True)
def call(self, inputs):
query_embeddings = self.query_model(inputs)
predictions = self.retrieval(query_embeddings)
return {"query_embeddings": query_embeddings, "predictions": predictions}
Dalam contoh ini, kami menunjukkan arsitektur pengambilan populer, di sini kami mengidentifikasi seperangkat rekomendasi kandidat. KerasRS menyediakan semua yang diperlukan untuk mengimplementasikan arsitektur ini, dengan lapisan khusus, kerugian, dan metrik yang dirancang khusus untuk tugas pemberi rekomendasi. Anda juga bisa mengikutinya dalam notebook colab ini.
Dan tentu saja, semua komponen penyusun ini bekerja dengan API Keras standar model.compile
demi membangun model Anda dan model.fit
untuk mengonfigurasi loop pelatihan Anda secara mudah.
model.compile(
loss=keras_rs.losses.PairwiseHingeLoss(),
metrics=[keras_rs.metrics.NDCG(k=8, name="ndcg")],
optimizer=keras.optimizers.Adagrad(learning_rate=3e-4),
)
model.fit(train_ds, validation_data=val_ds, epochs=5)
Dalam beberapa bulan mendatang, kami berencana merilis class keras_rs.layers.DistributedEmbedding
untuk memanfaatkan chip SparseCore di TPU untuk melakukan pencarian sematan besar yang didistribusikan ke berbagai mesin. Selain itu, kami akan terus menambahkan implementasi model populer ke dalam library kami, sehingga semakin memudahkan pembangunan sistem pemberi rekomendasi termutakhir.
Kami juga ingin menyoroti semua dokumentasi yang kami miliki untuk Keras Recommenders di situs keras.io yang baru saja didesain ulang. Di keras.io/keras_rs, Anda bisa menemukan contoh awal yang melibatkan Deep and Cross Network (DCN) klasik dan model sematan dua-menara yang menunjukkan proses langkah-demi-langkah untuk menulis dan melatih pemberi rekomendasi pertama Anda. Ada juga tutorial lanjutan, seperti SASRec, yang menunjukkan contoh menyeluruh untuk pelatihan model transformer.
Kunjungi situs kami hari ini untuk melihat lebih banyak contoh, dokumentasi, dan panduan untuk membangun sistem rekomendasi Anda sendiri. Anda juga bisa menjelajahi kodenya dan berkontribusi di https://github.com/keras-team/keras-rs (jangan lupa untuk memberikan bintang ⭐ saat Anda berada di sana!).
Kami berharap dapat melihat semua sistem rekomendasi luar biasa yang dibangun dengan Keras Recommenders.
Terima kasih kepada Fabien Hertschuh dan Abheesht Sharma yang telah membangun Keras Recommenders. Kami juga ingin berterima kasih kepada tim Keras dan ML Frameworks serta semua kolaborator dan pimpinan yang telah membantu kami mewujudkannya.