Crea y entrena un sistema recomendador en 10 minutos con Keras y JAX

13 DE MAYO DE 2025
Yufeng Guo Developer Advocate
Monica Song Product Manager

Hoy, nos complace anunciar el lanzamiento de Keras Recommenders, una nueva biblioteca que pone a tu alcance técnicas de recomendación de vanguardia.


Potencia las experiencias digitales con sistemas de recomendación

Los sistemas de recomendación potencian muchas de las interacciones que tienes en la actualidad con la tecnología. Si abres cualquier aplicación en tu teléfono, es probable que interactúes con un modelo de recomendación de inmediato, desde el feed de inicio de un plataforma de redes sociales hasta las sugerencias de video de YouTube e, incluso, los anuncios que aparecen en tus juegos favoritos. Conforme el mundo de la IA continúa evolucionando, ofrecer experiencias personalizadas es más importante que nunca. Los modelos de lenguaje grandes no pueden hacerlo todo y los sistemas de recomendación son responsables de crear muchas experiencias digitales de primer nivel en la actualidad.

Para ayudar a los desarrolladores a crear sistemas recomendadores eficientes y exactos, Keras Recommenders (KerasRS) contiene un conjunto de APIs con elementos fundamentales diseñados para tareas como clasificación y recuperación. Por ejemplo, en Google, usamos KerasRS para ayudar a potenciar el feed en Google Play.


Instala KerasRS con JAX, TensorFlow o PyTorch

Para empezar, instala mediante pip el paquete keras-rs. Luego, configura el backend en JAX (o TensorFlow o PyTorch). Ahora puedes comenzar a crear tu propio sistema recomendador de última generación.

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

En este ejemplo, mostramos una arquitectura de recuperación popular en la que identificamos un conjunto de recomendaciones de candidatos. KerasRS proporciona todo lo que se necesita para implementar esta arquitectura, con capas especializadas, pérdidas y métricas diseñadas específicamente para tareas de recomendación. También puedes seguir las instrucciones en este notebook de Colab.

Y, por supuesto, todos estos elementos fundamentales funcionan con las APIs estándar de Keras de model.compile para la compilación de tu modelo y model.fit para configurar fácilmente tu ciclo de entrenamiento.

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

En los próximos meses, planeamos lanzar la clase keras_rs.layers.DistributedEmbedding para aprovechar los chips SparseCore en TPU a fin de realizar grandes búsquedas de incorporación distribuidas en diferentes máquinas. Además, agregaremos continuamente implementaciones de modelos populares a nuestra biblioteca, lo que facilitará aun más la creación de sistemas recomendadores de última generación.


Explora la documentación y los ejemplos de KerasRS

También queremos destacar toda la documentación que tenemos sobre Keras Recommenders en nuestro sitio web keras.io, que se rediseñó hace muy poco. En keras.io/keras_rs, encontrarás ejemplos que involucran la clásica guía de redes profundas y cruzadas (DCN) y el modelo de incorporación de dos torres, que muestran los procesos paso a paso para escribir y entrenar a tu primer recomendador. También hay tutoriales más avanzados, como SASRec, que incluye un ejemplo de extremo a extremo de cómo entrenar un modelo de transformador.

Comenzar

Visita nuestro sitio web hoy mismo si quieres obtener más ejemplos, documentación y guías para crear tu propio sistema de recomendación. También puedes explorar el código y hacer tus contribuciones en https://github.com/keras-team/keras-rs (¡no dudes en darle una estrella ⭐ también mientras estés ahí!).

Esperamos ver todos los excelentes sistemas de recomendación que se compilan con Keras Recommenders.



Agradecimientos

Agradecemos especialmente a Fabien Hertschuh y Abheesht Sharma por crear Keras Recommenders. También queremos agradecer a los equipos de Keras y ML Frameworks, así como a todos nuestros colaboradores y líderes por ayudarnos a conseguir nuestro objetivo.