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

Meta Hierarchical Interest Representation transformer graph architecture diagram for ads deep funnel optimization Technical Structure Concept

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.

Meta production data center server rack powering billion-scale graph neural network training Development Concept Image

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íoMitigaciónLimitación Restante
Feedback disperso del usuarioDestilación auto-supervisada de vistas amplias del grafoCold-start para segmentos de usuario completamente nuevos
Captura de relaciones de largo alcanceSesgos de atención estructurales del grafoCosto computacional aún alto para serving en tiempo real
Causalidad temporalCutoff estricto de timestamps, división cronológica train/val/testRequiere infraestructura cuidadosa para evitar fuga de datos
Actualización de embeddingsMotor de grafo online con entrenamiento GPU pipelineReentrenamiento 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.

Data analysis dashboard showing hierarchical interest clusters and user-ad engagement metrics Algorithm Concept Visual

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:

  1. Enriquece señales dispersas con conocimiento del mundo—usa LLMs para entender la semántica de productos y anuncios.
  2. Piensa jerárquicamente—clusters de interés gruesos para estabilidad, tokens finos para especificidad.
  3. Invierte en infraestructura de grafos—motores de grafo online con causalidad temporal son esenciales para producción.

Lee a Continuación

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.
Este contenido fue redactado con la asistencia de herramientas de IA, basándose en fuentes confiables, y fue revisado por nuestro equipo editorial antes de su publicación. No reemplaza el asesoramiento de un profesional especializado.