El problema fundamental que GenRec aborda es la complejidad y el costo de mantenimiento de los sistemas de recomendación tradicionales a escala de hyperscaler, que dependen de miles de características diseñadas manualmente y arquitecturas especializadas. Estos sistemas, aunque efectivos, son costosos de adaptar a nuevos tipos de contenido o superficies de producto, requiriendo una ingeniería de características y una infraestructura significativas. La aparición de los Large Language Models (LLMs) ofrece una oportunidad para simplificar esta pila tecnológica, aprovechando su conocimiento del mundo y su capacidad de comprensión del lenguaje para representar historias de usuarios y metadatos de ítems directamente como texto.
Sin embargo, los LLMs genéricos no son directamente aplicables a la recomendación en producción debido a su tendencia a sobre-recomendar contenido popular, "alucinar" ítems fuera del catálogo e ignorar restricciones de negocio. GenRec resuelve esto mediante el post-entrenamiento de un LLM fundacional interno con datos específicos de Netflix y objetivos de ranking, integrando un cabezal de puntuación consciente del catálogo y señales de recompensa para alinear las recomendaciones con el valor a largo plazo del miembro y los objetivos de negocio. Esto permite un sistema de recomendación que iguala o supera a los sistemas de producción maduros con una fracción de los datos y señales de entrada, cambiando el enfoque de la ingeniería de características a la ingeniería de contexto.
Arquitectura del Sistema
La arquitectura de GenRec se basa en un framework de entrenamiento de dos fases. La Fase 1 adapta un LLM de código abierto en corpus propietarios de Netflix para aprender capacidades fundacionales como la comprensión de contenido de Netflix, patrones de comportamiento de miembros y comprensión general del lenguaje. Este modelo fundacional, actualizado con poca frecuencia, sirve como un backbone compartido y consciente de Netflix para múltiples aplicaciones.
La Fase 2 post-entrena este modelo fundacional para convertirlo en un modelo de ranking de alta calidad. Esta fase se enfoca en la calidad del ranking, incorpora múltiples señales de recompensa a través de pérdidas ponderadas por recompensa y se refresca con mayor frecuencia para adaptarse a nuevo contenido y gustos cambiantes. Durante el entrenamiento, los datos de interacción del miembro se convierten en "conversaciones" de una o varias vueltas, donde el mensaje del usuario verbaliza el contexto, el perfil, el historial y los metadatos del ítem, y el mensaje del asistente representa el engagement real del miembro. En la inferencia, se utiliza un cabezal de puntuación consciente del catálogo para clasificar los ítems sin decodificar mensajes del asistente.
El modelo GenRec es un Transformer decoder-only entrenado con objetivos de predicción del siguiente token, aumentado con un cabezal de ranking que puntúa solo los ítems del catálogo de Netflix. El pipeline de puntuación implica la verbalización de la historia del usuario y el contexto en una secuencia de texto (x), el procesamiento de x por el LLM para extraer un estado oculto agrupado (h), y la combinación de h con un embedding aprendido (eᵢ) de cada ítem del catálogo (i) mediante un producto punto o un pequeño MLP para producir una puntuación (sᵢ). Todos los parámetros (backbone, cabezal de puntuación y embeddings de ítems) se entrenan conjuntamente. Para catálogos muy grandes, se utilizan técnicas como sampled softmax o conjuntos de candidatos para un entrenamiento e inferencia eficientes. La inferencia se realiza en modo prefill-only en la pila de LLM de Netflix, utilizando vLLM, para optimizar costos, evitando la decodificación auto-regresiva que sería prohibitivamente costosa para conjuntos de candidatos grandes.
Flujo de Entrenamiento de GenRec (Fase 2)
- 1 Eventos de Interacción Cientos de miles de millones de eventos de interacción de miembros (vistas, r...
- 2 Conversiones a 'Conversaciones' Log data convertido en 'conversaciones' de usuario-recomendador (mensaje de u...
- 3 Verbalización y Context Engineering Contexto, perfil, historial e ítems verbalizados como texto; compactación de ...
- 4 LLM Fundacional Adaptado (Fase 1) Backbone del LLM pre-entrenado en corpus propietarios de Netflix
- 5 Post-entrenamiento (Fase 2) Entrenamiento con objetivos de ranking, LM y pérdidas ponderadas por recompensa
- 6 Alineación por Recompensas Señales de modelos de recompensa para satisfacción a largo plazo y reequilibr...
- 7 Modelo GenRec Entrenado LLM con cabezal de puntuación consciente del catálogo y embeddings de ítems
Flujo de Inferencia de GenRec
- 1 Solicitud de Recomendación Usuario (u), contexto (τ), tiempo (t), historial (H)
- 2 Verbalización (V) Serialización de H, τ, metadatos de ítems en secuencia de texto (x)
- 3 Procesamiento LLM LLM procesa x, extrae estado oculto agrupado (h)
- 4 Scoring Head (ϕ) Combina h con embeddings de ítems (eᵢ) para producir puntuaciones (sᵢ)
- 5 Ranking (π) Softmax sobre puntuaciones para generar una distribución de probabilidad y ra...
- 6 Recomendaciones Ranking personalizado de ítems del catálogo de Netflix
| Capa | Tecnología | Justificación |
|---|---|---|
| compute | LLM (Large Language Model) | Core del sistema de recomendación, procesa el contexto verbalizado y genera representaciones para el ranking. vs Modelos de recomendación tradicionales (factorización matricial, redes neuronales profundas con feature engineering manual) Decoder-only Transformer, post-entrenado con datos específicos de Netflix. |
| data-processing | Verbalization / Context Engineering | Transforma el historial de interacciones y metadatos en secuencias de texto para el LLM, optimizando el presupuesto de tokens. vs Feature engineering manual para modelos tradicionales Priorización de historial reciente y de alta señal, compresión de comportamientos repetitivos, omisión de eventos de baja señal. |
| orchestration | Netflix's internal LLM stack | Infraestructura subyacente para el entrenamiento y servicio de LLMs a escala. |
| compute | vLLM | Motor de inferencia de LLM utilizado para el servicio eficiente de GenRec, especialmente en modo prefill-only. vs Otros frameworks de serving de LLM (ej. Triton Inference Server) Modo prefill-only para scoring de conjuntos de candidatos, evitando la decodificación auto-regresiva. |
Trade-offs
Ganancias
- ▲ Reducción de dependencia en feature engineering manual
- △ Mejora en métricas de ranking (MRR)
- ▲▲ Eficiencia de datos (menos datos etiquetados para Phase 2)
- ▲ Consistencia en escalado de datos y modelos (scaling laws)
- ▲ Reutilización de backbone LLM entre tareas
Costes
- ▲ Costo de inferencia (mitigado por optimizaciones)
- ▲ Complejidad de la ingeniería de contexto
- ▲ Riesgo de "alucinaciones" (mitigado por cabezal de scoring)
Fundamentos Teóricos
La transición de sistemas de recomendación basados en ingeniería de características a enfoques basados en LLM se alinea con la evolución de la investigación en procesamiento de lenguaje natural y aprendizaje profundo. Los sistemas de recomendación tradicionales a menudo se basan en modelos de factorización matricial (como los popularizados por Bell y Koren en el "Netflix Prize" de 2007-2009) o redes neuronales profundas que procesan características densas y embeddings, inspirados en trabajos como los de Covington et al. (2016) en YouTube.
El uso de LLMs para la recomendación se conecta con la idea de que los modelos de lenguaje pueden aprender representaciones semánticas ricas a partir de texto, una capacidad explorada en trabajos fundacionales sobre embeddings de palabras (Mikolov et al., 2013) y, más recientemente, en arquitecturas Transformer (Vaswani et al., 2017). La verbalización de la historia del usuario y los metadatos de los ítems como texto, y la posterior inferencia de patrones por el LLM, refleja el principio de que los modelos con suficiente capacidad y datos pueden descubrir características de alto nivel que antes requerían ingeniería manual. La optimización multi-objetivo y el uso de recompensas para alinear el modelo con objetivos a largo plazo y restricciones de negocio se inspira en el campo del aprendizaje por refuerzo (Sutton y Barto, 1998), aunque GenRec utiliza una aproximación más sencilla y eficiente de pérdidas ponderadas por recompensa en lugar de RL completo.