Transformers4Rec: Llevando el poder del NLP a los sistemas de recomendación modernos
Introducción
A medida que el comercio digital y el consumo de contenido en línea siguen creciendo rápidamente, la demanda de motores de recomendación eficaces y personalizados es más alta que nunca. Tanto compradores como usuarios de streaming esperan recomendaciones a medida, ya sea que estén buscando productos, películas o música. Sin embargo, los sistemas de recomendación tradicionales, que se basan en filtrado colaborativo o basado en contenido, utilizan datos históricos estáticos y a menudo tienen dificultades para adaptarse a los cambios en las preferencias de los usuarios. Para abordar estas limitaciones, los sistemas de recomendación que aprovechan modelos de IA dinámicos que capturan la evolución del comportamiento del usuario se han vuelto esenciales y populares.
En un reciente Unstructured Data Meetup organizado por Zilliz, Kunal Sonalkar, científico de datos en Nordstrom, compartió ideas sobre el uso de Transformers4Rec para habilitar recomendaciones secuenciales y basadas en sesiones que atiendan mejor las necesidades cambiantes de los usuarios. Esta publicación de blog destaca las principales conclusiones de la presentación de Kunal, con nuestra perspectiva sobre el futuro de los sistemas de recomendación. También puedes ver la charla completa de Kunal en YouTube para más detalles.
¿Qué es Transformers4Rec?
Transformers4Rec es una biblioteca potente y flexible diseñada para crear sistemas de recomendación secuenciales y basados en sesiones con PyTorch. Al integrarse con Transformers, uno de los frameworks más populares en procesamiento del lenguaje natural (NLP), Transformers4Rec sirve de puente entre NLP y los sistemas de recomendación.
La siguiente figura muestra el uso de la biblioteca transformers4Rec en un sistema de recomendación. Los datos de entrada para la biblioteca son una secuencia de interacciones del usuario, como artículos que un usuario explora o añade a su carrito durante una sesión. Transformers4Rec procesa estas interacciones para hacer predicciones inteligentes sobre lo que el usuario podría querer a continuación. Por ejemplo, imagina que un cliente está navegando por una librería en línea. Primero mira varias novelas de ciencia ficción, añade una a su carrito y más tarde visita algunas páginas de autores relacionados. Transformers4Rec analiza esta secuencia de acciones y predice que el cliente podría estar interesado en otro título popular de ciencia ficción o en una novela de fantasía relacionada.
Figura- Cómo funciona Transformers4Rec en un sistema de recomendación .png
Figura: Cómo funciona Transformers4Rec en un sistema de recomendación
Kunal destaca que, para construir un sistema de recomendación eficaz, es esencial comprender la intención del cliente, como el tipo de producto que le interesa y si es sensible al precio, para adaptar las recomendaciones en consecuencia.
Por ejemplo, dos clientes que buscan "zapatos" pueden recibir recomendaciones diferentes según sus interacciones y preferencias anteriores, como presupuesto o preferencia de marca.
shoes.png
Arquitectura de Transformers4Rec
Como mencionamos anteriormente, la arquitectura de Transformers4Rec está diseñada para adaptar modelos transformer a recomendaciones secuenciales y basadas en sesiones mediante el procesamiento de datos de interacción del usuario de forma estructurada. Su arquitectura incluye cuatro componentes principales que trabajan juntos para hacer predicciones: Agregación de características, Enmascaramiento de secuencias, Procesamiento de secuencias y Cabezal de predicción.
Figura- Arquitectura de Transformers4Rec .png
Figura: Arquitectura de Transformers4Rec
Agregación de características
El componente Agregación de características recopila datos sobre las interacciones de los usuarios —tanto variables continuas como categóricas— para crear un perfil completo para la recomendación. Por ejemplo, en un sistema de recomendación de comercio electrónico, las características categóricas podrían incluir atributos como la marca y el tipo de producto, mientras que las características continuas podrían capturar el precio, las tasas de descuento o las interacciones recientes (p. ej., el número de clics en un producto en las últimas 24 horas).
Figura- Agregación de características en Transformers4Rec.png
Figura: Agregación de características en Transformers4Rec
Antes de introducir estas secuencias en un bloque transformer, los datos de interacción deben preprocesarse en un formato estandarizado llamado embeddings vectoriales (representaciones numéricas de datos de interacción en un espacio de alta dimensionalidad). Las entradas pueden organizarse por ID de usuario o ID de sesión, con la secuencia de interacciones agregada en una única representación vectorial, conocida como "embedding de interacción". Este embedding contiene información contextual sobre las interacciones de los usuarios, como el tipo de acciones del usuario, los elementos implicados y el orden de interacción, y puede almacenarse en una base de datos vectorial para una recuperación eficiente y búsqueda semántica. Una base de datos vectorial robusta como Milvus o su servicio gestionado Zilliz Cloud, que se integra bien con PyTorch, puede optimizar este proceso. Además, Transformers4Rec incluye un módulo NVTabular para convertir fácilmente los datos sin procesar al formato requerido, lo que hace que la preparación de datos sea más manejable.
Enmascaramiento de secuencias
El componente Enmascaramiento de secuencias en Transformers4Rec aplica máscaras a las interacciones de los usuarios para evitar la fuga de datos y mantener el orden de la secuencia, garantizando que el modelo respete la cronología de los eventos. Por ejemplo, al predecir el siguiente elemento de un usuario, este módulo oculta cualquier acción futura, lo que permite que el modelo aprenda de manera causal, paso a paso.
Diferentes tipos de enmascaramiento de secuencias en Transformers4Rec controlan lo que el modelo "ve" durante el entrenamiento o la inferencia, lo que le ayuda a capturar patrones significativos en el comportamiento del usuario y mejora su capacidad para predecir la siguiente interacción. Transformers4Rec proporciona múltiples opciones en el enmascaramiento de secuencias:
Modelado de lenguaje causal (CLM): Esta técnica enmascara los elementos futuros en una secuencia, entrenando al modelo para predecir cada elemento basándose solo en los elementos anteriores. CLM es ideal para recomendaciones secuenciales donde el orden de las interacciones es crucial.
Modelado de lenguaje enmascarado (MLM): En MLM, ciertas posiciones de la secuencia se enmascaran aleatoriamente, y el modelo aprende a predecir los elementos ocultos usando el contexto circundante. Esta técnica ayuda al modelo a comprender las relaciones entre elementos sin depender de un orden estricto.
Detección aleatoria de tokens (RTD): RTD reemplaza un elemento aleatorio de la secuencia por uno no relacionado, y el modelo aprende a detectar este elemento incorrecto. Este método enseña al modelo a distinguir patrones genuinos del ruido aleatorio o las anomalías.
Modelado de lenguaje por permutación (PLM): Aquí, los elementos de la secuencia se mezclan, y el modelo se entrena para predecir elementos en el nuevo orden permutado. PLM fomenta la flexibilidad al ayudar al modelo a reconocer patrones en cualquier orden.
Figura- Diferencia entre LM causal y LM enmascarado durante el enmascaramiento de secuencias.png
Figura: Diferencia entre LM causal y LM enmascarado durante el enmascaramiento de secuencias
Normalmente, el 20-30% de los embeddings posicionales se enmascaran antes del entrenamiento. La probabilidad de enmascaramiento también desempeña un papel en la robustez del sistema de recomendación.
Estas técnicas de enmascaramiento permiten que el modelo aprenda de las interacciones de los usuarios de diversas maneras, mejorando su capacidad para hacer recomendaciones precisas y conscientes del contexto.
Procesamiento de secuencias
El componente Procesamiento de secuencias alimenta características de entrada a modelos transformer para predecir elementos o posiciones enmascarados en la secuencia de interacción de un usuario. Transformers4Rec admite diversas arquitecturas para el procesamiento de secuencias, incluidas XLNet, GPT-2 y LSTM, lo que permite a los usuarios elegir el modelo más adecuado para su sistema de recomendación.
Los embeddings vectoriales de interacción se pasan al bloque transformer, como se ilustra en el fragmento de código a continuación. Los usuarios pueden configurar la arquitectura del transformer especificando parámetros como el número de capas y la longitud de la secuencia. Se puede crear un bloque secuencial en PyTorch pasando las entradas agregadas, aplicando enmascaramiento y habilitando la configuración de modelo deseada, lo que permite una configuración flexible para tareas de recomendación personalizadas.
Procesamiento de secuencias en Pytorch .png
Fig) _Procesamiento de secuencias en Pytorch_
Cabezal de predicción
El Cabezal de predicción es el módulo final en el marco Transformers4Rec, donde las salidas del modelo transformer se utilizan para generar recomendaciones accionables.
Figura- Las salidas del modelo transformer se utilizan para generar recomendaciones accionables. .png
Figura: Las salidas del modelo transformer se utilizan para generar recomendaciones accionables.
Este módulo admite diversos casos de uso adaptados a las necesidades empresariales, incluidos:
Predicción del siguiente elemento: Esta opción predice el siguiente elemento con el que es probable que un usuario interactúe en función de sus acciones anteriores, lo que ayuda a ofrecer recomendaciones oportunas y relevantes.
Clasificación binaria: Aquí, el modelo calcula la probabilidad de que un usuario haga clic en un elemento específico. Esto es valioso para la predicción de la tasa de clics (CTR), ya que ayuda a determinar qué elementos tienen más probabilidades de captar la atención de los usuarios, contribuyendo a la optimización del diseño y del contenido.
Regresión: Las tareas de regresión permiten predecir valores continuos, como el tiempo que un usuario podría pasar en un elemento, el número de interacciones esperadas o incluso un monto de compra estimado.
El diagrama a continuación ilustra el pipeline de producción de extremo a extremo, incluidos los cuatro componentes—Agregación de características, Enmascaramiento de secuencias, Procesamiento de secuencias y el Cabezal de predicción—trabajando juntos para ofrecer recomendaciones precisas y conscientes del contexto.
Figura- Pipeline de extremo a extremo de un sistema de recomendación construido usando Transformers4Rec.png
Figura: Pipeline de extremo a extremo de un sistema de recomendación construido usando Transformers4Rec
Evaluación y desafíos para usar Transformers4Rec
Construir un sistema de recomendación con Transformers4Rec requiere tanto una evaluación efectiva como una planificación estratégica para superar los desafíos de escalabilidad y mantenimiento.
Evaluación del sistema
La efectividad de un sistema de recomendación depende en gran medida de cuán precisamente satisfaga las necesidades de los usuarios. Para Transformers4Rec, las métricas de evaluación comunes incluyen precisión y recall, que miden qué tan bien las principales recomendaciones ‘N’ del sistema se alinean con las preferencias de los usuarios. Además, también se utilizan métricas de ranking como Mean Average Precision (MAP) y Normalized Discounted Cumulative Gain (NDCG) para evaluar la relevancia y el orden de los elementos recomendados.
Desafíos
Escalar un sistema de recomendación impulsado por Transformers4Rec conlleva costos computacionales significativos, especialmente al implementarlo a gran escala con recursos de GPU. Crear y mantener un sistema de este tipo también exige una infraestructura extensa, que abarca desde la recopilación y el almacenamiento de datos hasta el despliegue del modelo y la inferencia en tiempo real.
Elegir la infraestructura adecuada es crucial para crear un sistema que pueda recuperar rápidamente recomendaciones relevantes. Por ejemplo, usar una base de datos vectorial como Milvus permite realizar búsquedas de similitud rápidas y almacenar de manera eficiente embeddings vectoriales, que se integran bien en el pipeline de recomendación.
Otro desafío clave es gestionar catálogos de productos nuevos o que cambian con frecuencia. Transformers4Rec necesita proporcionar recomendaciones precisas para estos nuevos artículos, incluso con datos históricos limitados. Esto requiere adaptabilidad tanto en el modelo como en la infraestructura de datos para actualizar las recomendaciones en función de contexto reciente.
Resumen
En este blog, analizamos cómo Transformers4Rec utiliza técnicas inspiradas en NLP para crear sistemas de recomendación dinámicos y personalizados. Con componentes como Feature Aggregation, Sequence Masking, Sequence Processing y Prediction Head, el framework captura patrones de usuario complejos para ofrecer recomendaciones relevantes en tiempo real. Métricas clave, incluidas precisión, recall, MAP y NDCG, ayudan a evaluar la eficacia del sistema, asegurando que las recomendaciones satisfagan las necesidades del usuario.
También analizamos los desafíos de escalar Transformers4Rec, particularmente en torno a los costos de infraestructura y las necesidades de almacenamiento, donde herramientas como la base de datos vectorial Milvus respaldan un almacenamiento y una recuperación eficientes de vectores. Ajustar parámetros, como las dimensiones de los vectores y la longitud de secuencia, es una técnica clave que optimiza el rendimiento del modelo, haciendo de Transformers4Rec una solución flexible y potente para los sistemas de recomendación modernos.
Lecturas adicionales
Comprender la arquitectura de los modelos Transformer y sus conceptos centrales
Búsqueda vectorial eficiente en RecSys con Milvus y NVIDIA Merlin
Transformando las recomendaciones de anuncios: el recorrido de SmartNews con Milvus
Desbloquea motores de recomendación avanzados con la nueva búsqueda por rango de Milvus
Crea un motor de recomendación de películas con Milvus y Python
Sigue leyendo

The AWS Outage Was a Wake-Up Call for Vector Database Cross-Region Disaster Recovery
Zilliz Cloud Had the Answer Before the Crisis. Zilliz Cloud is the world's first vector database with native cross-region disaster recovery.

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.

The Great AI Agent Protocol Race: Function Calling vs. MCP vs. A2A
Compare Function Calling, MCP, and A2A protocols for AI agents. Learn which standard best fits your development needs and future-proof your applications.


