Efficiently serving embedding-based recommendation (EMR) models remains a significant challenge due to their increasingly large memory requirements. Today's practice splits the model across many monolithic servers, where a mix of GPUs, CPUs, and DRAM is provisioned in fixed proportions. This approach leads to suboptimal resource utilization and increased costs. Disaggregating embedding operations from neural network inference is a promising solution but raises novel networking challenges. In this paper, we discuss the design of FlexEMR for optimized EMR disaggregation. FlexEMR proposes two sets of techniques to tackle the networking challenges: Leveraging the temporal and spatial locality of embedding lookups to reduce data movement over the network, and designing an optimized multi-threaded RDMA engine for concurrent lookup subrequests. We outline the design space for each technique and present initial results from our early prototype.
- ID del Artículo: 2410.12794
- Título: A Disaggregation Approach to Embedding Recommendation Systems
- Autores: Yibo Huang, Zhenning Yang, Jiarong Xing, Yi Dai, Yiming Qiu, Dingming Wu, Fan Lai, Ang Chen
- Clasificación: cs.IR cs.AI
- Fecha de Publicación/Conferencia: arXiv 2024 (Artículo de trabajo en progreso)
- Enlace del Artículo: https://arxiv.org/abs/2410.12794
El servicio eficiente de modelos de recomendación basados en incrustaciones (EMR) sigue siendo un desafío importante debido a sus crecientes requisitos de memoria. El enfoque actual consiste en distribuir el modelo en múltiples servidores monolíticos, donde GPU, CPU y DRAM se configuran en proporciones fijas. Este método resulta en una utilización subóptima de recursos y costos incrementados. La separación de operaciones de incrustación de la inferencia de redes neuronales es una solución prometedora, pero presenta nuevos desafíos de red. Este artículo analiza el diseño de FlexEMR para optimizar la desagregación de EMR. FlexEMR propone dos conjuntos de técnicas para abordar los desafíos de red: aprovechar la localidad temporal y espacial de búsquedas de incrustaciones para reducir el movimiento de datos en la red, y diseñar un motor RDMA multihilo optimizado para búsquedas de subrequests concurrentes.
- Requisitos de Memoria Masivos: Las tablas de incrustación de modelos EMR de nivel de producción alcanzan escala de TB (como el modelo DLRM de 50TB utilizado por Meta), ocupando más del 99% de los parámetros del modelo
- Configuración de Recursos Rígida: Los servidores monolíticos existentes configuran GPU, CPU y DRAM en proporciones fijas, sin poder adaptarse a cambios en los requisitos de recursos de diferentes modelos y períodos
- Baja Eficiencia de Costos: La configuración fija de recursos resulta en desperdicio de recursos, con estudios que muestran pérdidas de costos de hasta el 23.1%
- Los modelos EMR dominan el ciclo de inferencia de IA en centros de datos de producción (como los centros de datos de Meta)
- Ampliamente aplicados en comercio electrónico, motores de búsqueda, servicios de video corto y otros negocios centrales de Internet
- El cuello de botella de memoria se ha convertido en el factor limitante principal para la implementación de modelos EMR
- Arquitectura de Servidor Monolítico: Los recursos se configuran en proporciones fijas, lo que dificulta la expansión independiente
- Competencia de Memoria GPU: El caché de incrustación compite con el cálculo de redes neuronales por memoria GPU limitada
- Optimización de Red Insuficiente: Los sistemas RDMA existentes no están optimizados para escenarios de desagregación de EMR
- Propuesta de Arquitectura de Desagregación FlexEMR: Separación completa del almacenamiento de incrustaciones y cálculo de redes neuronales en servidores independientes
- Diseño de Optimizaciones Mejoradas por Localidad: Utilización de localidad temporal y espacial para reducir transmisión de datos en red
- Desarrollo de Motor RDMA Multihilo: Motor de búsqueda concurrente optimizado para escenarios EMR
- Implementación de Estrategia de Caché Adaptativa: Ajuste dinámico del tamaño de caché para evitar competencia de memoria GPU
- Propuesta de Mecanismo de Agrupación Jerárquica: Traslado de operaciones de agrupación parcial a servidores de incrustación
Entrada: Consultas de usuario que contienen características categóricas (dispersas) y características continuas (densas)
Salida: Resultados de clasificación Top-K de elementos candidatos
Restricción: Minimizar el costo total de propiedad (TCO) mientras se cumplen los objetivos de nivel de servicio (SLO)
FlexEMR adopta una arquitectura separada que contiene principalmente:
- Nodos Ranker: Equipados con GPU, responsables del cálculo de inferencia de redes neuronales
- Servidores de Incrustación: Equipados con CPU y memoria grande, almacenan tablas de incrustación y procesan solicitudes de búsqueda
- Red de Alta Velocidad: Conecta ambos tipos de nodos mediante tecnologías como RDMA
1. Caché de Incrustación Adaptativo (§3.1.1)
- Monitoreo de Carga Dinámica: Utiliza algoritmo de ventana deslizante para monitorear el tamaño de la cola de tareas
- Estrategia de Asignación de Memoria: Ajusta dinámicamente el tamaño de caché según los requisitos de cálculo de NN
- Intercambio de Datos Asincrónico: Realiza operaciones transparentes de intercambio de incrustaciones activas
2. Agrupación de Incrustación Jerárquica (§3.1.2)
- Utilización de Localidad Espacial: Identifica múltiples vectores en el mismo servidor de incrustación
- Agrupación Distribuida: El servidor de incrustación ejecuta agrupación local, Ranker ejecuta agrupación global
- Optimización de Tabla de Enrutamiento: Tabla de enrutamiento basada en rangos reduce el consumo de memoria
3. Motor RDMA Multihilo (§3.2)
- Diseño Consciente del Mapeo: Elimina competencia entre unidades paralelas de RNIC
- Migración Dinámica de Conexión: Equilibrio de carga en respuesta a patrones de acceso sesgados
- Control de Flujo de Crédito: Canal de control de crédito rápido basado en QoS
- Método Tradicional: Caché GPU de tamaño fijo, compite con cálculo de NN por memoria
- FlexEMR: Ajusta dinámicamente el tamaño de caché, equilibra latencia y rendimiento
- Método Tradicional: Todos los vectores de incrustación se transfieren a Ranker para agrupación
- FlexEMR: Utiliza recursos de CPU del servidor de incrustación para preaglomeración
- Método Tradicional: Competencia multihilo por recursos RNIC, rendimiento disminuye 62%
- FlexEMR: Mapeo uno a uno elimina competencia, rendimiento mejora 2.3 veces
- Marco MLPerf: Pruebas de referencia estandarizadas de sistemas de recomendación
- Trazas de Producción de Meta: Trazas de búsqueda de incrustación de nivel de producción publicadas por Meta
- Modelo RMC2: Modelo de recomendación representativo para evaluación de rendimiento
- Rendimiento: Número de solicitudes procesadas por segundo (rps)
- Latencia: Incluye latencia mediana y P99
- Utilización de Memoria GPU: Tamaño máximo de lote soportado
- Eficiencia de Transmisión de Red: Volumen de transferencia de datos y utilización de ancho de banda
- Configuración de Hardware: Servidores Intel Xeon (32 núcleos, 128GB de memoria), GPU Nvidia A100 (80GB)
- Red: NIC RDMA Mellanox de 100Gbps
- Métodos de Comparación: Línea base RDMA de un solo hilo, estrategia de caché fijo
- Utiliza característica de dominio de recursos para implementar mapeo consciente de RDMA
- El tamaño de ventana deslizante se ajusta dinámicamente según la carga de trabajo
- Control de flujo de crédito implementado basado en QoS a nivel de conexión
1. Análisis de Competencia de Memoria GPU (Figura 7)
- Sin caché: Tamaño máximo de lote soportado aproximadamente 2000
- Caché grande (75GB): Tamaño máximo de lote disminuye a aproximadamente 500
- Caché adaptativo FlexEMR: Mantiene alto rendimiento mientras preserva ventajas de latencia
2. Rendimiento RDMA Multihilo (Figura 8 izquierda)
- Método de línea base: Rendimiento disminuye con aumento de hilos
- FlexEMR: Rendimiento mejora 2.3 veces con 8 motores RDMA, alcanzando 15M rps
3. Efecto de Control de Flujo de Crédito (Figura 8 derecha)
- Latencia mediana: FlexEMR reduce aproximadamente 35% en comparación con línea base
- Latencia P99: Mejora significativa en rendimiento de latencia de cola
El artículo demuestra las contribuciones independientes de cada componente:
- Multihilo consciente del mapeo: Resuelve problema de competencia de recursos RNIC
- Caché adaptativo: Equilibra uso de memoria y rendimiento
- Agrupación jerárquica: Reduce gastos generales de transmisión de red
- Competencia de Memoria es Cuello de Botella Clave: La competencia de memoria entre caché GPU y cálculo de NN afecta significativamente el rendimiento
- Optimización de Red es Efectiva: El motor RDMA optimizado puede mejorar significativamente el rendimiento de búsqueda concurrente
- Utilización de Localidad es Efectiva: La utilización de localidad temporal y espacial puede reducir efectivamente gastos generales de red
- Métodos Centrados en GPU: Tratan EMR como modelos de aprendizaje profundo genéricos, utilizan principalmente recursos GPU
- Optimización de Caché: Varios mecanismos de caché de incrustación para acelerar operaciones de búsqueda
- Hardware Especializado: Aceleración de hardware especializado como FPGA para sistemas de recomendación
- Compresión y Fragmentación: Técnicas de compresión y fragmentación de tablas de incrustación
- Solución de Desagregación Sistemática: Primer diseño de arquitectura de desagregación EMR integral
- Enfoque en Optimización de Red: Aborda profundamente desafíos de red introducidos por desagregación
- Capacidad de Adaptación Dinámica: Proporciona optimización dinámica en comparación con asignación de recursos estática de DisaggRec
- La arquitectura de desagregación EMR puede mejorar significativamente la utilización de recursos y eficiencia de costos
- La optimización consciente de localidad puede reducir efectivamente gastos generales de red
- La optimización RDMA específica es crucial para el rendimiento de arquitectura desagregada
- Las estrategias adaptativas son más adecuadas que configuración estática para cargas de trabajo dinámicas
- Fase de Prototipo: Actualmente aún es prototipo temprano, carece de validación de implementación a gran escala
- Dependencia de Red: El rendimiento depende altamente de red de alta velocidad, aumenta costos de infraestructura
- Complejidad Aumentada: La arquitectura desagregada aumenta la complejidad del sistema y dificultad operativa
- Gastos Generales de Latencia: La comunicación de red inevitablemente aumenta la latencia
- Extensión a Otros Modelos: Aplicación a LLM, modelos multimodales, MoE, etc.
- Programación Más Inteligente: Desarrollo de algoritmos de programación de recursos más sofisticados
- Diseño Cooperativo de Hardware: Colaboración con fabricantes de hardware de red para optimización
- Mecanismos de Tolerancia a Fallos: Mejora de robustez del sistema y capacidad de recuperación ante fallos
- Identificación Precisa del Problema: Identifica con precisión desafíos y cuellos de botella principales del servicio EMR
- Diseño de Solución Razonable: El diseño de arquitectura desagregada se alinea con tendencias de desagregación en centros de datos
- Innovaciones Técnicas Efectivas: Múltiples puntos de innovación técnica tienen apoyo de verificación experimental
- Alto Valor Práctico: Resuelve problemas importantes en entornos de producción real
- Alcance de Evaluación Limitado: Pruebas solo en entorno pequeño, carece de validación a gran escala
- Análisis de Costos Insuficiente: No proporciona análisis detallado de costo-beneficio
- Manejo de Fallos Faltante: No discute suficientemente mecanismos de manejo de fallos de arquitectura desagregada
- Integración con Sistemas Existentes: Carece de discusión sobre integración con sistemas de recomendación existentes
- Contribución Académica: Proporciona marco técnico integral para desagregación de sistemas EMR
- Valor Industrial: Tiene importancia significativa para guiar implementación de sistemas de recomendación a gran escala
- Impulso Tecnológico: Promueve aplicación de arquitectura desagregada en servicios de IA
- Potencial de Estandarización: Puede convertirse en estándar de referencia para implementación de desagregación EMR
- Sistemas de Recomendación a Gran Escala: Adecuado para grandes empresas de Internet como Meta y Alibaba
- Entornos con Recursos Limitados: Centros de datos que necesitan optimizar utilización de recursos
- Escenarios de Carga Dinámica: Servicios de recomendación con cambios significativos de carga de trabajo
- Aplicaciones Sensibles a Costos: Escenarios comerciales con requisitos estrictos de TCO
El artículo cita 61 referencias relacionadas, que incluyen principalmente:
- Trabajos relacionados con optimización de sistemas EMR (como AdaEmbed, RecSSD, etc.)
- Investigación de arquitectura de sistemas desagregados (como LegoOS, DxPU, etc.)
- Técnicas de optimización de red RDMA (como FaRM, Aeolus, etc.)
- Pruebas de referencia de sistemas de recomendación (conjunto de datos MLPerf, Meta DLRM, etc.)
Evaluación General: Este es un artículo de investigación de sistemas de alta calidad que propone una solución de arquitectura desagregada innovadora para desafíos prácticos del servicio EMR. Aunque actualmente se encuentra en fase de prototipo, su solución técnica posee fuerte valor práctico y potencial de promoción, con importancia significativa para el desarrollo de infraestructura de sistemas de recomendación.