Google AI presenta STATIC: un marco de matriz dispersa que ofrece una decodificación restringida 948 veces más rápida para la recuperación generativa basada en LLM

En los sistemas de recomendación industriales, el cambio hacia la recuperación generativa (GR) está reemplazando la búsqueda tradicional del vecino más cercano basada en incrustaciones con modelos de lenguaje grande (LLM). Estos modelos representan elementos como ID semánticos (SID) (secuencias de tokens discretas) y tratan la recuperación como una tarea de decodificación autorregresiva. Sin embargo, las aplicaciones industriales a menudo requieren un estricto cumplimiento de la lógica empresarial, como exigir la actualización del contenido o la disponibilidad del inventario. La decodificación autorregresiva estándar no puede imponer de forma nativa estas restricciones, lo que a menudo lleva al modelo a “alucinar” identificadores de artículos no válidos o agotados.

El cuello de botella del acelerador: intentos versus TPU/GPU

Para garantizar una salida válida, los desarrolladores suelen utilizar un árbol de prefijos (trie) para enmascarar tokens no válidos durante cada paso de decodificación. Si bien conceptualmente son sencillas, las implementaciones tradicionales de trie son fundamentalmente ineficientes en aceleradores de hardware como TPU y GPU.

La brecha de eficiencia surge de dos cuestiones principales:

Latencia de la memoria: las estructuras de persecución de punteros dan como resultado patrones de acceso a la memoria aleatorios y no contiguos. Esto evita que la memoria se fusione y no utiliza las capacidades de ráfaga de memoria de alto ancho de banda (HBM) de los aceleradores modernos. Incompatibilidad de compilación: los aceleradores se basan en gráficos de cálculo estáticos para la compilación de aprendizaje automático (por ejemplo, XLA de Google). Los intentos estándar utilizan un flujo de control dependiente de los datos y ramificaciones recursivas, que son incompatibles con este paradigma y a menudo obligan a costosos viajes de ida y vuelta entre el dispositivo host.

https://arxiv.org/pdf/2602.22647

ESTÁTICO: Índice Trie acelerado por matriz de transición dispersa

Los investigadores de Google DeepMind y Youtube han introducido STATIC (índice Trie acelerado por matriz de transición dispersa para decodificación restringida) para resolver estos cuellos de botella. En lugar de tratar el trie como un gráfico a recorrer, STATIC lo aplana en una matriz estática de filas dispersas comprimidas (CSR). Esta transformación permite ejecutar recorridos de árboles irregulares como operaciones matriciales dispersas completamente vectorizadas.

La arquitectura de decodificación híbrida

STATIC emplea una estrategia de búsqueda de dos fases para equilibrar el uso de la memoria y la velocidad:

Enmascaramiento denso (t-1 < d): para las primeras capas d=2, donde el factor de ramificación es más alto, STATIC utiliza un tensor booleano denso empaquetado en bits. Esto permite búsquedas O(1) durante los pasos iniciales más costosos desde el punto de vista computacional. Núcleo de transición de nodo vectorizado (VNTK): para capas más profundas (l ≥ 3), STATIC utiliza un núcleo sin ramas. Este núcleo realiza una 'porción especulativa' de un número fijo de entradas (Bt), correspondiente al factor de rama máximo en ese nivel. Al utilizar un segmento de tamaño fijo independientemente del recuento real de niños, todo el proceso de decodificación sigue siendo un único gráfico de cálculo estático.

Este enfoque logra una complejidad de E/S de O(1) en relación con el tamaño del conjunto de restricciones, mientras que los métodos anteriores de búsqueda binaria acelerados por hardware escalaban logarítmicamente (O(log|C|)).

Rendimiento y escalabilidad

Evaluado en aceleradores Google TPU v6e utilizando un modelo de 3 mil millones de parámetros con un tamaño de lote de 2 y un tamaño de haz (M) de 70, STATIC demostró mejoras de rendimiento significativas con respecto a los métodos existentes.

Método sobrecarga de latencia por paso (ms) % del tiempo total de inferencia ESTÁTICO (nuestro)+0,0330,25 % PPV aproximado +1,5611,9 % mapa de bits hash +12,394,0 % CPU Trie+31,3239 % PPV exacto +34,1260 %

STATIC logró una aceleración de 948 veces en comparación con los intentos descargados de CPU y superó la línea base de búsqueda binaria (PPV) exacta en 1033 veces. Su latencia permanece casi constante incluso cuando aumenta el tamaño del vocabulario de identificación semántica (|V|).

Para un vocabulario de 20 millones de elementos, el límite superior de STATIC para el uso de HBM es de aproximadamente 1,5 GB. En la práctica, debido a la distribución no uniforme y la agrupación de ID semánticos, la utilización real suele ser ≤75% de este límite. La regla general para la planificación de la capacidad es aproximadamente 90 MB de HBM por cada millón de restricciones.

Resultados de la implementación

STATIC se implementó en YouTube para imponer una restricción de actualización de los “últimos 7 días” para las recomendaciones de videos. El sistema atendió un vocabulario de 20 millones de artículos nuevos con un cumplimiento del 100%.

Las pruebas A/B en línea mostraron:

Un aumento del +5,1 % en visualizaciones de vídeos nuevos en 7 días. Un aumento del +2,9 % en visualizaciones de vídeos nuevos en 3 días. Un aumento del +0,15% en la tasa de clics (CTR).

Rendimiento de arranque en frío

El marco también aborda la limitación del “arranque en frío” de la recuperación generativa: recomendar elementos que no se ven durante el entrenamiento. Al limitar el modelo a un conjunto de elementos de inicio en frío en conjuntos de datos de Amazon Reviews, STATIC mejoró significativamente el rendimiento con respecto a las líneas de base sin restricciones, que registraron un 0,00 % de recuperación@1. Para estas pruebas, se utilizó una arquitectura Gemma de mil millones de parámetros con L = 4 tokens y un tamaño de vocabulario de |V|=256.

Conclusiones clave

Eficiencia vectorizada: STATIC reformula la decodificación restringida de un problema de recorrido de gráfico en operaciones de matriz dispersa vectorizadas y amigables con el hardware al aplanar árboles de prefijos en matrices estáticas de filas dispersas comprimidas (CSR). Aceleraciones masivas: el sistema logra una latencia de 0,033 ms por paso, lo que representa una aceleración de 948 veces en comparación con los intentos descargados de la CPU y una aceleración de 47 a 1033 veces en comparación con las líneas base de búsqueda binaria aceleradas por hardware. Complejidad O(1) escalable: al lograr una complejidad de E/S O(1) en relación con el tamaño del conjunto de restricciones, STATIC mantiene un alto rendimiento con una huella de memoria baja de aproximadamente 90 MB por 1 millón artículos. Resultados probados en producción: la implementación en YouTube mostró un 100 % de cumplimiento con las restricciones de la lógica empresarial, lo que generó un aumento del 5,1 % en las vistas de videos nuevos y un aumento del 0,15 % en las tasas de clics. Solución de arranque en frío: el marco permite que los modelos de recuperación generativa recomienden con éxito artículos de arranque en frío, lo que aumenta el rendimiento de Recall@1 del 0,00 % a niveles no triviales en los puntos de referencia de Amazon Reviews.

Consulte el documento y los códigos. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 120.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.