2025-11-15T16:01:12.014757

Disaggregating Embedding Recommendation Systems with FlexEMR

Huang, Yang, Xing et al.
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.
academic

Disaggregazione dei Sistemi di Raccomandazione con Embedding tramite FlexEMR

Informazioni Fondamentali

  • ID Articolo: 2410.12794
  • Titolo: A Disaggregation Approach to Embedding Recommendation Systems
  • Autori: Yibo Huang, Zhenning Yang, Jiarong Xing, Yi Dai, Yiming Qiu, Dingming Wu, Fan Lai, Ang Chen
  • Classificazione: cs.IR cs.AI
  • Data di Pubblicazione/Conferenza: arXiv 2024 (Articolo di Lavoro in Corso)
  • Link dell'Articolo: https://arxiv.org/abs/2410.12794

Riassunto

L'efficiente servizio dei modelli di raccomandazione basati su embedding (EMR) rimane una sfida significativa a causa della crescente domanda di memoria. L'approccio attuale consiste nel distribuire il modello su più server monolitici, dove GPU, CPU e DRAM sono configurati in proporzioni fisse. Questo metodo comporta un utilizzo subottimale delle risorse e costi aumentati. La separazione delle operazioni di embedding dall'inferenza della rete neurale rappresenta una soluzione promettente, ma pone nuove sfide di rete. Questo articolo discute la progettazione di FlexEMR per ottimizzare la disaggregazione di EMR. FlexEMR propone due serie di tecniche per affrontare le sfide di rete: sfruttare la località temporale e spaziale delle ricerche di embedding per ridurre il movimento dei dati sulla rete, e progettare un motore RDMA multi-thread ottimizzato per ricerche di sottorichieste concorrenti.

Contesto di Ricerca e Motivazione

Descrizione del Problema

  1. Enormi Requisiti di Memoria: Le tabelle di embedding dei modelli EMR di livello produttivo raggiungono dimensioni in TB (ad esempio, il modello DLRM da 50TB utilizzato da Meta), occupando oltre il 99% dei parametri del modello
  2. Configurazione Rigida delle Risorse: I server monolitici esistenti configurano GPU, CPU e DRAM in proporzioni fisse, incapaci di adattarsi ai cambiamenti delle esigenze di risorse tra diversi modelli e periodi
  3. Bassa Efficienza dei Costi: La configurazione fissa delle risorse comporta spreco di risorse, con studi che mostrano sprechi di costi fino al 23,1%

Importanza

  • I modelli EMR dominano il ciclo di inferenza AI nei data center di produzione (ad esempio, nei data center di Meta)
  • Ampiamente applicati nei servizi di e-commerce, motori di ricerca, servizi video brevi e altre attività core di Internet
  • Il collo di bottiglia della memoria è diventato il principale fattore limitante per la distribuzione dei modelli EMR

Limitazioni degli Approcci Esistenti

  1. Architettura Server Monolitica: Le risorse sono configurate in proporzioni fisse, difficili da espandere indipendentemente
  2. Competizione per la Memoria GPU: La cache di embedding compete con il calcolo della rete neurale per la memoria GPU limitata
  3. Ottimizzazione di Rete Insufficiente: I sistemi RDMA esistenti non sono ottimizzati per scenari di disaggregazione EMR

Contributi Principali

  1. Propone l'Architettura di Disaggregazione FlexEMR: Separa completamente l'archiviazione di embedding e il calcolo della rete neurale su server indipendenti
  2. Progetta Ottimizzazioni Consapevoli della Località: Sfrutta la località temporale e spaziale per ridurre la trasmissione di dati di rete
  3. Sviluppa un Motore RDMA Multi-Thread: Motore di ricerca concorrente ottimizzato per scenari EMR
  4. Implementa Strategie di Cache Adattive: Regola dinamicamente la dimensione della cache per evitare la competizione della memoria GPU
  5. Propone un Meccanismo di Pooling Stratificato: Esegue il push-down di operazioni di pooling parziale ai server di embedding

Spiegazione Dettagliata del Metodo

Definizione del Compito

Input: Query utente contenenti caratteristiche categoriche (sparse) e caratteristiche continue (dense) Output: Risultati di ranking Top-K degli articoli candidati Vincoli: Minimizzare il costo totale di proprietà (TCO) rispettando gli obiettivi del livello di servizio (SLO)

Architettura del Modello

Progettazione dell'Architettura Complessiva

FlexEMR adotta un'architettura disaggregata, contenente principalmente:

  • Nodi Ranker: Equipaggiati con GPU, responsabili del calcolo dell'inferenza della rete neurale
  • Server di Embedding: Equipaggiati con CPU e memoria ampia, archiviando tabelle di embedding ed elaborando richieste di ricerca
  • Rete ad Alta Velocità: Collegamento tra i due tipi di nodi tramite tecnologie come RDMA

Funzionalità dei Moduli Principali

1. Cache di Embedding Adattiva (§3.1.1)

  • Monitoraggio del Carico Dinamico: Utilizza algoritmi di finestra scorrevole per monitorare la dimensione della coda di attività
  • Strategia di Allocazione della Memoria: Regola dinamicamente la dimensione della cache in base alle esigenze di calcolo NN
  • Scambio di Dati Asincrono: Esegue trasparentemente operazioni di swap in/out degli embedding hot

2. Pooling di Embedding Stratificato (§3.1.2)

  • Sfruttamento della Località Spaziale: Identifica più vettori sullo stesso server di embedding
  • Pooling Distribuito: Il server di embedding esegue il pooling locale, il Ranker esegue il pooling globale
  • Ottimizzazione della Tabella di Routing: Tabella di routing basata su intervalli per ridurre l'occupazione di memoria

3. Motore RDMA Multi-Thread (§3.2)

  • Progettazione Consapevole della Mappatura: Elimina la competizione tra unità parallele RNIC
  • Migrazione Dinamica della Connessione: Bilanciamento del carico in risposta a modelli di accesso distorti
  • Controllo di Flusso del Credito: Canale di controllo del credito veloce basato su QoS

Punti di Innovazione Tecnica

1. Cache Adattiva vs Cache Tradizionale

  • Metodo Tradizionale: Cache GPU di dimensione fissa, compete con il calcolo NN per la memoria
  • FlexEMR: Regola dinamicamente la dimensione della cache, bilancia latenza e throughput

2. Pooling Stratificato vs Pooling Centralizzato

  • Metodo Tradizionale: Tutti i vettori di embedding vengono trasferiti al Ranker per il pooling
  • FlexEMR: Sfrutta le risorse CPU del server di embedding per la pre-aggregazione

3. RDMA Consapevole della Mappatura vs RDMA Multi-Thread Tradizionale

  • Metodo Tradizionale: Competizione multi-thread per le risorse RNIC, degradazione delle prestazioni del 62%
  • FlexEMR: Mappatura uno-a-uno elimina la competizione, miglioramento delle prestazioni di 2,3 volte

Configurazione Sperimentale

Dataset

  • Framework MLPerf: Test di benchmark standardizzato per sistemi di raccomandazione
  • Tracce di Produzione Meta: Tracce di ricerca di embedding di livello produttivo pubblicate da Meta
  • Modello RMC2: Modello di raccomandazione rappresentativo per la valutazione delle prestazioni

Metriche di Valutazione

  • Throughput: Numero di richieste elaborate al secondo (rps)
  • Latenza: Include latenza mediana e P99
  • Utilizzo della Memoria GPU: Dimensione massima del batch supportato
  • Efficienza di Trasmissione di Rete: Volume di trasmissione dati e utilizzo della larghezza di banda

Ambiente Sperimentale

  • Configurazione Hardware: Server Intel Xeon (32 core, 128GB memoria), GPU Nvidia A100 (80GB)
  • Rete: NIC RDMA Mellanox 100Gbps
  • Metodi di Confronto: Baseline RDMA single-thread, strategia di cache fissa

Dettagli di Implementazione

  • Utilizzo della funzione resource domain per implementare la mappatura consapevole RDMA
  • Dimensione della finestra scorrevole regolata dinamicamente in base al carico di lavoro
  • Controllo di flusso del credito implementato a livello di connessione basato su QoS

Risultati Sperimentali

Risultati Principali

1. Analisi della Competizione di Memoria GPU (Figura 7)

  • Senza cache: Supporta dimensione massima del batch di circa 2000
  • Cache grande (75GB): Dimensione massima del batch ridotta a circa 500
  • Cache adattiva FlexEMR: Mantiene alto throughput preservando vantaggi di latenza

2. Prestazioni RDMA Multi-Thread (Figura 8 sinistra)

  • Metodo baseline: Le prestazioni diminuiscono con l'aumento del numero di thread
  • FlexEMR: Miglioramento del throughput di 2,3 volte con 8 motori RDMA, raggiungendo 15M rps

3. Effetto del Controllo di Flusso del Credito (Figura 8 destra)

  • Latenza mediana: FlexEMR riduce di circa il 35% rispetto al baseline
  • Latenza P99: Miglioramento significativo delle prestazioni di coda

Esperimenti di Ablazione

L'articolo mostra il contributo indipendente di ogni componente:

  • Multi-thread consapevole della mappatura: Risolve il problema della competizione di risorse RNIC
  • Cache adattiva: Bilancia l'utilizzo della memoria e le prestazioni
  • Pooling stratificato: Riduce il sovraccarico di trasmissione di rete

Scoperte Sperimentali

  1. La Competizione di Memoria è un Collo di Bottiglia Critico: La competizione di memoria tra cache GPU e calcolo NN influisce significativamente sulle prestazioni
  2. L'Ottimizzazione di Rete è Efficace: Il motore RDMA ottimizzato può migliorare significativamente le prestazioni di ricerca concorrente
  3. Lo Sfruttamento della Località è Efficace: L'utilizzo della località temporale e spaziale può ridurre efficacemente il sovraccarico di rete

Lavori Correlati

Principali Direzioni di Ricerca

  1. Metodi Incentrati su GPU: Trattano EMR come modelli di deep learning generici, utilizzando principalmente risorse GPU
  2. Ottimizzazione della Cache: Vari meccanismi di cache di embedding per accelerare le operazioni di ricerca
  3. Hardware Specializzato: Accelerazione hardware specializzata come FPGA per sistemi di raccomandazione
  4. Compressione e Sharding: Tecniche di compressione e sharding delle tabelle di embedding

Vantaggi di Questo Articolo

  1. Soluzione di Disaggregazione Sistematica: Primo progetto architetturale completo di disaggregazione EMR
  2. Enfasi su Ottimizzazione di Rete: Affronta profondamente le sfide di rete introdotte dalla disaggregazione
  3. Capacità di Adattamento Dinamico: Fornisce ottimizzazione dinamica rispetto all'allocazione statica di risorse di DisaggRec

Conclusioni e Discussione

Conclusioni Principali

  1. L'architettura di disaggregazione EMR può migliorare significativamente l'utilizzo delle risorse e l'efficienza dei costi
  2. L'ottimizzazione consapevole della località può ridurre efficacemente il sovraccarico di rete
  3. L'ottimizzazione RDMA mirata è cruciale per le prestazioni dell'architettura disaggregata
  4. Le strategie adattive sono più adatte alle strategie statiche per i carichi di lavoro dinamici

Limitazioni

  1. Fase di Prototipo: Attualmente ancora in fase di prototipo iniziale, manca la validazione di distribuzione su larga scala
  2. Dipendenza dalla Rete: Le prestazioni dipendono altamente dalla rete ad alta velocità, aumentando i costi dell'infrastruttura
  3. Aumento della Complessità: L'architettura disaggregata aumenta la complessità del sistema e le difficoltà operative
  4. Sovraccarico di Latenza: La comunicazione di rete inevitabilmente aumenta la latenza

Direzioni Future

  1. Estensione ad Altri Modelli: Applicazione a LLM, modelli multimodali, MoE e altri
  2. Pianificazione Più Intelligente: Sviluppo di algoritmi di pianificazione delle risorse più sofisticati
  3. Progettazione Cooperativa Hardware: Collaborazione con produttori di hardware di rete per l'ottimizzazione
  4. Meccanismi di Tolleranza ai Guasti: Miglioramento della robustezza del sistema e della capacità di recupero dai guasti

Valutazione Approfondita

Punti di Forza

  1. Identificazione Accurata del Problema: Identifica accuratamente le sfide core e i colli di bottiglia del servizio EMR
  2. Progettazione Razionale della Soluzione: La progettazione dell'architettura disaggregata si allinea con la tendenza di disaggregazione dei data center
  3. Innovazioni Tecniche Efficaci: Molteplici punti di innovazione tecnica supportati da verifiche sperimentali
  4. Alto Valore Pratico: Risolve importanti problemi negli ambienti di produzione reali

Insufficienze

  1. Portata di Valutazione Limitata: Testato solo in ambienti di piccola scala, manca la validazione su larga scala
  2. Analisi dei Costi Insufficiente: Non fornisce analisi dettagliata del rapporto costi-benefici
  3. Gestione dei Guasti Mancante: Non affronta sufficientemente i meccanismi di gestione dei guasti dell'architettura disaggregata
  4. Integrazione con Sistemi Esistenti: Manca la discussione sull'integrazione con i sistemi di raccomandazione esistenti

Impatto

  1. Contributo Accademico: Fornisce un framework tecnico completo per la disaggregazione di sistemi EMR
  2. Valore Industriale: Ha significato guida importante per la distribuzione di sistemi di raccomandazione su larga scala
  3. Promozione Tecnologica: Promuove l'applicazione di architetture disaggregate nei servizi AI
  4. Potenziale di Standardizzazione: Potrebbe diventare uno standard di riferimento per la distribuzione disaggregata di EMR

Scenari Applicabili

  1. Sistemi di Raccomandazione su Larga Scala: Adatto per grandi aziende Internet come Meta e Alibaba
  2. Ambienti con Risorse Limitate: Data center che necessitano di ottimizzazione dell'utilizzo delle risorse
  3. Scenari di Carico Dinamico: Servizi di raccomandazione con variazioni significative del carico di lavoro
  4. Applicazioni Sensibili ai Costi: Scenari commerciali con requisiti rigorosi di TCO

Riferimenti Bibliografici

L'articolo cita 61 riferimenti correlati, principalmente includenti:

  • Lavori correlati all'ottimizzazione di sistemi EMR (come AdaEmbed, RecSSD, ecc.)
  • Ricerca su architetture di sistemi disaggregati (come LegoOS, DxPU, ecc.)
  • Tecniche di ottimizzazione di rete RDMA (come FaRM, Aeolus, ecc.)
  • Test di benchmark di sistemi di raccomandazione (MLPerf, dataset DLRM di Meta, ecc.)

Valutazione Complessiva: Questo è un articolo di ricerca di alta qualità che propone una soluzione innovativa di architettura disaggregata per affrontare le sfide pratiche del servizio EMR. Sebbene attualmente ancora in fase di prototipo, la sua soluzione tecnica possiede un forte valore pratico e potenziale di promozione, con significato importante per lo sviluppo dell'infrastruttura dei sistemi di raccomandazione.