Por Qué la Representación Jerárquica de Intereses es Importante
¿Alguna vez te has preguntado cómo Meta logra mostrar anuncios relevantes incluso cuando los usuarios casi no hacen clic ni convierten? La respuesta está en una nueva área de investigación llamada Representación Jerárquica de Intereses (Hierarchical Interest Representation).
El ranking tradicional de deep funnel depende de señales de engagement dispersas—unos clics, una compra aquí y allá. A la escala de Meta (miles de millones de usuarios, millones de anunciantes), esta dispersión es un cuello de botella fundamental.
La Representación Jerárquica de Intereses resuelve esto aprendiendo una capa de representación upstream universal sobre todo el ecosistema de anuncios. Unifica usuarios, anunciantes, productos y servicios en un único espacio de embeddings. En lugar de tratar cada impresión de anuncio de forma aislada, el sistema razona sobre relaciones de largo alcance en una estructura de grafo.
Fuente: Blog de Ingeniería de Meta – Explorando la Representación Jerárquica de Intereses para Optimización de Deep Funnel
![]()
Arquitectura Principal: Transformer en un Grafo
La Representación Jerárquica de Intereses se construye sobre un grafo heterogéneo tipado, ponderado y con decaimiento temporal. Los nodos representan usuarios, anuncios, anunciantes, campañas, productos y píxeles. Las aristas capturan interacciones—clics, vistas, compras—cada una con timestamp y tipo de acción.
El Codificador Jerárquico
El codificador es un transformer adaptado para datos de grafo. Innovaciones clave:
- Enriquecimiento con Conocimiento del Mundo: Características multimodales (texto, imágenes, video) de los catálogos de los anunciantes se procesan mediante LLMs para producir embeddings iniciales ricos. Esto permite que el modelo entienda qué es un producto, no solo cómo los usuarios interactúan con él.
- Codificadores de Estructura: Un codificador de nodos fusiona tipo de nodo, ID de nodo controlado por deep hash, conocimiento del mundo y metadatos por tipo. Un codificador de posición inyecta topología local mediante random walk y muestreo priorizado por importancia. Un codificador de aristas añade tipo, peso y señales temporales.
- Composición de Sesgo: Las señales estructurales del grafo (transiciones de tipo de nodo, distancias de camino más corto) se añaden como sesgos de atención. Esto hace que el modelo sea consciente de la topología, evitando el problema de over-smoothing común en GNNs basadas en message-passing.
- Atención con Eficiencia de Memoria: Usando FlexAttention, los sesgos estructurales del grafo se computan on-the-fly—no se materializa ninguna matriz de sesgo completa. Esto permite escalar a miles de millones de nodos.
# Pseudocódigo simplificado ilustrando la composición del sesgo de atención
import torch
import torch.nn.functional as F
def atencion_jerarquica(query, key, value, sesgo_arista, sesgo_tipo_nodo):
"""
query, key, value: [batch, seq_len, d_model]
sesgo_arista: [batch, seq_len, seq_len] – sesgo estructural del grafo
sesgo_tipo_nodo: [batch, seq_len, seq_len] – sesgo de transición de tipo
"""
scores = torch.matmul(query, key.transpose(-2, -1)) / (key.size(-1) ** 0.5)
scores = scores + sesgo_arista + sesgo_tipo_nodo # inyecta estructura del grafo
pesos_atencion = F.softmax(scores, dim=-1)
output = torch.matmul(pesos_atencion, value)
return output
Entrenamiento: Destilación Auto-Supervisada Cross-View
El entrenamiento usa un esquema teacher-student. Para cada nodo ancla, se muestrean una vista amplia (teacher) y una vista estrecha (student). El student aprende a predecir el mismo cluster de interés que el teacher. El balanced assignment de Sinkhorn-Knopp evita el colapso de clusters.
Un cabezal de predicción de engagement añade señal supervisada: dadas dos representaciones de nodo, un tipo de engagement y un tiempo, predecir si existe una arista real en ese momento. Esto ancla los clusters latentes en el comportamiento observado del usuario.
![]()
Tokens Bag-of-Meaning: De Embeddings a Unidades Accionables
Los embeddings continuos son poderosos para ranking, pero no son adecuados para recuperación por índice invertido o interpretación humana. La Representación Jerárquica de Intereses los discretiza en tokens Bag-of-Meaning (BoM) mediante cuantización compuesta.
- Un usuario se representa por los tokens BoM que describen sus intereses.
- Un anuncio o anunciante se representa por los tokens BoM de los intereses que atiende.
Esto permite recall rápido y compacto para recuperación y aumenta la personalización con señales de interés latente.
Desafíos Técnicos y Limitaciones
| Desafío | Mitigación | Limitación Restante |
|---|---|---|
| Feedback disperso del usuario | Destilación auto-supervisada de vistas amplias del grafo | Cold-start para segmentos de usuario completamente nuevos |
| Captura de relaciones de largo alcance | Sesgos de atención estructurales del grafo | Costo computacional aún alto para serving en tiempo real |
| Causalidad temporal | Cutoff estricto de timestamps, división cronológica train/val/test | Requiere infraestructura cuidadosa para evitar fuga de datos |
| Actualización de embeddings | Motor de grafo online con entrenamiento GPU pipeline | Reentrenamiento frecuente aún es caro; fine-tuning eficiente es trabajo futuro |
Ojo
La Representación Jerárquica de Intereses está diseñada para el ecosistema específico de Meta. Los requisitos de infraestructura (miles de millones de nodos, motor de grafo online, kernels de atención personalizados) son prohibitivos para la mayoría de las organizaciones. Sin embargo, las ideas centrales—enriquecimiento con conocimiento del mundo, clustering jerárquico, aprendizaje auto-supervisado de grafos—pueden adaptarse para sistemas de recomendación de menor escala.

Conclusión y Próximos Pasos
La Representación Jerárquica de Intereses es un paso significativo para resolver la dispersión de señales en deep funnel de anuncios. Al unificar usuarios, anunciantes y productos en un único espacio de embeddings enriquecido con conocimiento, permite la entrega de anuncios más relevantes incluso cuando el feedback explícito es escaso.
Para equipos de ingeniería construyendo sistemas similares, los aprendizajes clave son:
- Enriquece señales dispersas con conocimiento del mundo—usa LLMs para entender la semántica de productos y anuncios.
- Piensa jerárquicamente—clusters de interés gruesos para estabilidad, tokens finos para especificidad.
- Invierte en infraestructura de grafos—motores de grafo online con causalidad temporal son esenciales para producción.
Lee a Continuación
- Más Allá del Modelo: Cómo Pantone Construyó una Base de Datos Lista para IA para Creatividad Agéntica
- Privacidad por Diseño: Cómo Airbnb Construyó Funcionalidades Sociales Sensibles al Contexto sin Sacrificar la Confianza
Profundiza
- Estudia redes neuronales de grafos con PyTorch Geometric o DGL.
- Explora métodos de aprendizaje auto-supervisado como SimCLR y BYOL para datos de grafo.
- Investiga arquitecturas transformer de gran escala (ej.: Longformer, BigBird) para dependencias de largo alcance.