Membangun dan melatih sistem pemberi rekomendasi dalam 10 menit menggunakan Keras dan JAX

13 MEI 2025
Yufeng Guo Developer Advocate
Monica Song Product Manager

Hari ini, kami sangat senang dapat mengumumkan peluncuran Keras Recommenders, sebuah library baru yang menempatkan teknik rekomendasi termutakhir di ujung jari Anda.


Mendukung pengalaman digital dengan sistem rekomendasi

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.


Instal KerasRS dengan JAX, TensorFlow, atau PyTorch

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}
Python

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)
Python

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.


Jelajahi dokumentasi dan contoh KerasRS

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.

Mulai

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.



Ucapan Terima kasih

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.