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.
- Paper-ID: 2410.12794
- Titel: A Disaggregation Approach to Embedding Recommendation Systems
- Autoren: Yibo Huang, Zhenning Yang, Jiarong Xing, Yi Dai, Yiming Qiu, Dingming Wu, Fan Lai, Ang Chen
- Klassifizierung: cs.IR cs.AI
- Veröffentlichungszeit/Konferenz: arXiv 2024 (Arbeitspapier)
- Paper-Link: https://arxiv.org/abs/2410.12794
Die effiziente Bereitstellung von Embedding-basierten Empfehlungsmodellen (EMR) bleibt aufgrund ihrer wachsenden Speicheranforderungen eine große Herausforderung. Der aktuelle Ansatz besteht darin, Modelle auf mehreren monolithischen Servern zu verteilen, auf denen GPU, CPU und DRAM in festen Verhältnissen konfiguriert sind. Dieser Ansatz führt zu suboptimaler Ressourcenauslastung und erhöhten Kosten. Die Trennung von Embedding-Operationen von der neuronalen Netzwerk-Inferenz ist eine vielversprechende Lösung, stellt aber neue Netzwerkherausforderungen dar. Dieses Papier diskutiert das Design von FlexEMR zur Optimierung der EMR-Disaggregation. FlexEMR präsentiert zwei Sätze von Techniken zur Bewältigung von Netzwerkherausforderungen: Nutzung der zeitlichen und räumlichen Lokalität von Embedding-Lookups zur Reduzierung der Datenbewegung im Netzwerk sowie Design einer optimierten Multi-Thread-RDMA-Engine für gleichzeitige Lookup-Subanfragen.
- Massive Speicheranforderungen: Embedding-Tabellen von produktiven EMR-Modellen erreichen TB-Größe (z. B. 50-TB-DLRM-Modell von Meta) und machen über 99% der Modellparameter aus
- Starre Ressourcenkonfiguration: Bestehende monolithische Server konfigurieren GPU, CPU und DRAM in festen Verhältnissen und können sich nicht an unterschiedliche Ressourcenanforderungen verschiedener Modelle und Zeiträume anpassen
- Geringe Kosteneffizienz: Die feste Ressourcenkonfiguration führt zu Ressourcenverschwendung, wobei Forschungen zeigen, dass dies zu Kostenverschwendung von bis zu 23,1% führt
- EMR-Modelle dominieren den KI-Inferenzzyklus in produktiven Rechenzentren (z. B. Meta-Rechenzentren)
- Weit verbreitet in E-Commerce, Suchmaschinen, Kurzvideoservices und anderen Kerngeschäften des Internets
- Der Speicherengpass ist zum Hauptlimitierungsfaktor für die Bereitstellung von EMR-Modellen geworden
- Monolithische Serverarchitektur: Ressourcen werden in festen Verhältnissen konfiguriert und können nicht unabhängig skaliert werden
- GPU-Speicherkonflikte: Embedding-Cache konkurriert mit neuronalen Netzwerkberechnungen um begrenzten GPU-Speicher
- Unzureichende Netzwerkoptimierung: Bestehende RDMA-Systeme sind nicht für EMR-Disaggregationsszenarios optimiert
- Vorschlag der FlexEMR-Disaggregationsarchitektur: Vollständige Trennung von Embedding-Speicher und neuronalen Netzwerkberechnungen auf unabhängigen Servern
- Design von Lokalitätsverbesserungsoptimierungen: Nutzung von zeitlicher und räumlicher Lokalität zur Reduzierung der Netzwerkdatenübertragung
- Entwicklung einer Multi-Thread-RDMA-Engine: Für EMR-Szenarien optimierte Engine für gleichzeitige Lookups
- Implementierung einer adaptiven Caching-Strategie: Dynamische Anpassung der Cachegröße zur Vermeidung von GPU-Speicherkonflikten
- Vorschlag eines hierarchischen Pooling-Mechanismus: Verlagerung von Pooling-Operationen auf Embedding-Server
Eingabe: Benutzerabfragen mit kategorischen (spärlichen) und kontinuierlichen (dichten) Merkmalen
Ausgabe: Top-K-sortierte Ergebnisse von Kandidatenelementen
Einschränkungen: Minimierung der Gesamtbetriebskosten (TCO) unter Einhaltung von Service-Level-Zielen (SLO)
FlexEMR verwendet eine Disaggregationsarchitektur mit folgenden Hauptkomponenten:
- Ranker-Knoten: Ausgestattet mit GPU, verantwortlich für neuronale Netzwerk-Inferenzberechnungen
- Embedding-Server: Ausgestattet mit CPU und großem Speicher, speichern Embedding-Tabellen und verarbeiten Lookup-Anfragen
- Hochgeschwindigkeitsnetzwerk: Verbindung beider Knotentypen über RDMA und ähnliche Technologien
1. Adaptives Embedding-Caching (§3.1.1)
- Dynamische Lastüberwachung: Verwendung von Sliding-Window-Algorithmen zur Überwachung der Aufgabenwarteschlangengröße
- Speicherzuweisungsstrategie: Dynamische Anpassung der Cachegröße basierend auf NN-Berechnungsanforderungen
- Asynchroner Datenaustausch: Transparente Auslagerung und Einlagerung heißer Embeddings
2. Hierarchisches Embedding-Pooling (§3.1.2)
- Nutzung räumlicher Lokalität: Identifikation mehrerer Vektoren auf demselben Embedding-Server
- Verteiltes Pooling: Embedding-Server führen lokales Pooling durch, Ranker führt globales Pooling durch
- Routing-Tabellenoptimierung: Bereichsbasierte Routing-Tabellen reduzieren Speicherverbrauch
3. Multi-Thread-RDMA-Engine (§3.2)
- Mapping-bewusstes Design: Beseitigung von Konkurrenz zwischen RNIC-Paralleleinheiten
- Dynamische Verbindungsmigration: Lastausgleich bei schiefen Zugriffsmuster
- Kreditflusssteuerung: Schnelle Kreditkontrollkanäle basierend auf QoS
- Traditionelle Methode: Feste GPU-Cachegröße konkurriert mit NN-Berechnung um Speicher
- FlexEMR: Dynamische Cachegrößenanpassung, Ausgleich zwischen Latenz und Durchsatz
- Traditionelle Methode: Alle Embedding-Vektoren werden zum Ranker für Pooling übertragen
- FlexEMR: Nutzung von Embedding-Server-CPU-Ressourcen für Voraggregation
- Traditionelle Methode: Multi-Thread-Konkurrenz um RNIC-Ressourcen, 62% Leistungsabfall
- FlexEMR: Eins-zu-eins-Mapping beseitigt Konkurrenz, 2,3-fache Leistungssteigerung
- MLPerf-Framework: Standardisierte Benchmark-Tests für Empfehlungssysteme
- Meta-Produktionstraces: Von Meta veröffentlichte produktive Embedding-Lookup-Traces
- RMC2-Modell: Repräsentatives Empfehlungsmodell zur Leistungsbewertung
- Durchsatz: Verarbeitete Anfragen pro Sekunde (rps)
- Latenz: Einschließlich Median- und P99-Latenz
- GPU-Speicherauslastung: Maximale unterstützte Batch-Größe
- Netzwerkübertragungseffizienz: Datenübertragungsmenge und Bandbreitenauslastung
- Hardwarekonfiguration: Intel Xeon-Server (32 Kerne, 128 GB Speicher), Nvidia A100 GPU (80 GB)
- Netzwerk: 100 Gbps Mellanox RDMA NIC
- Vergleichsmethoden: Single-Thread-RDMA-Baseline, feste Caching-Strategie
- Verwendung von Resource-Domain-Funktionen zur Implementierung von RDMA-Mapping-Bewusstsein
- Sliding-Window-Größe wird dynamisch basierend auf Arbeitsbelastung angepasst
- Kreditflusssteuerung wird auf Verbindungsebene basierend auf QoS implementiert
1. GPU-Speicherkonfliktsanalyse (Abbildung 7)
- Kein Cache: Maximale Batch-Größe etwa 2000
- Großer Cache (75 GB): Maximale Batch-Größe sinkt auf etwa 500
- FlexEMR adaptiver Cache: Behält hohen Durchsatz bei, während Latenzvorteile erhalten bleiben
2. Multi-Thread-RDMA-Leistung (Abbildung 8 links)
- Baseline-Methode: Leistungsabfall mit zunehmender Thread-Anzahl
- FlexEMR: 2,3-fache Durchsatzsteigerung mit 8 RDMA-Engines, erreicht 15M rps
3. Kreditflusssteuerungseffekt (Abbildung 8 rechts)
- Median-Latenz: FlexEMR etwa 35% niedriger als Baseline
- P99-Latenz: Signifikante Verbesserung der Tail-Latenz-Leistung
Das Papier zeigt die unabhängigen Beiträge jeder Komponente:
- Mapping-bewusstes Multi-Threading: Löst RNIC-Ressourcenkonkurrenzprobleme
- Adaptives Caching: Ausgleich zwischen Speichernutzung und Leistung
- Hierarchisches Pooling: Reduzierung des Netzwerkübertragungsaufwands
- Speicherkonflikte sind der Schlüsselengpass: GPU-Cache und NN-Berechnung konkurrieren erheblich um Speicher
- Netzwerkoptimierung ist sehr effektiv: Optimierte RDMA-Engine kann gleichzeitige Lookup-Leistung erheblich verbessern
- Lokalitätsnutzung ist wirksam: Nutzung von zeitlicher und räumlicher Lokalität reduziert Netzwerkaufwand effektiv
- GPU-zentrierte Methoden: Behandlung von EMR als allgemeines Deep-Learning-Modell, hauptsächlich GPU-Ressourcen
- Cache-Optimierung: Verschiedene Embedding-Cache-Mechanismen zur Beschleunigung von Lookup-Operationen
- Spezialisierte Hardware: FPGA und andere spezialisierte Hardware zur Beschleunigung von Empfehlungssystemen
- Kompression und Sharding: Embedding-Tabellen-Kompression und Sharding-Optimierungstechniken
- Systematische Disaggregationslösung: Erste umfassende EMR-Disaggregationsarchitektur
- Fokus auf Netzwerkoptimierung: Tiefgehende Lösung von Netzwerkherausforderungen durch Disaggregation
- Dynamische Anpassungsfähigkeit: Bietet dynamische Optimierung im Vergleich zu statischer Ressourcenverteilung von DisaggRec
- EMR-Disaggregationsarchitektur kann Ressourcenauslastung und Kosteneffizienz erheblich verbessern
- Lokalitätsbewusste Optimierung kann Netzwerkaufwand effektiv reduzieren
- Gezielte RDMA-Optimierung ist für die Leistung der Disaggregationsarchitektur entscheidend
- Adaptive Strategien sind besser geeignet als statische Konfiguration für dynamische Arbeitslasten
- Prototypphase: Derzeit noch früher Prototyp, mangelnde Validierung bei großflächiger Bereitstellung
- Netzwerkabhängigkeit: Leistung hängt stark von Hochgeschwindigkeitsnetzwerk ab, erhöht Infrastrukturkosten
- Erhöhte Komplexität: Disaggregationsarchitektur erhöht Systemkomplexität und Betriebsschwierigkeiten
- Latenz-Overhead: Netzwerkkommunikation führt unvermeidlich zu erhöhter Latenz
- Erweiterung auf andere Modelle: Anwendung auf LLM, multimodale Modelle, MoE usw.
- Intelligentere Planung: Entwicklung ausgefeilteren Ressourcenplanungsalgorithmen
- Hardware-Kodesign: Zusammenarbeit mit Netzwerkhardwareherstellern zur Optimierung
- Fehlertoleranz-Mechanismen: Verbesserung der Systemrobustheit und Fehlerwiederherstellung
- Genaue Problemberkennung: Präzise Identifikation von Kernherausforderungen und Engpässen bei EMR-Diensten
- Vernünftiges Lösungsdesign: Disaggregationsarchitektur entspricht dem Trend der Rechenzentrum-Disaggregation
- Wirksame technische Innovationen: Mehrere technische Innovationspunkte mit experimenteller Validierung
- Hoher praktischer Wert: Löst wichtige Probleme in realen Produktionsumgebungen
- Begrenzte Bewertungsreichweite: Nur in kleinen Umgebungen getestet, mangelnde großflächige Validierung
- Unzureichende Kostenanalyse: Keine detaillierte Kosten-Nutzen-Analyse
- Fehlende Fehlerbehandlung: Unzureichende Diskussion von Fehlerbehandlungsmechanismen in der Disaggregationsarchitektur
- Integration mit bestehenden Systemen: Mangelnde Diskussion der Integration mit bestehenden Empfehlungssystemen
- Akademischer Beitrag: Bietet umfassendes technisches Framework für EMR-Disaggregation
- Industrieller Wert: Wichtige Orientierungshilfe für großflächige Empfehlungssystem-Bereitstellung
- Technologischer Antrieb: Fördert Anwendung von Disaggregationsarchitektur in KI-Diensten
- Standardisierungspotenzial: Könnte zum Referenzstandard für EMR-Disaggregations-Bereitstellung werden
- Großflächige Empfehlungssysteme: Geeignet für große Internetunternehmen wie Meta und Alibaba
- Ressourcenbegrenzte Umgebungen: Rechenzentren, die Ressourcenauslastung optimieren müssen
- Dynamische Lastszenarien: Empfehlungsdienste mit großen Arbeitslastvariationen
- Kostenempfindliche Anwendungen: Geschäftsszenarien mit strengeren TCO-Anforderungen
Das Papier zitiert 61 verwandte Arbeiten, hauptsächlich einschließlich:
- EMR-Systemoptimierungsarbeiten (wie AdaEmbed, RecSSD usw.)
- Disaggregierte Systemarchitekturforschung (wie LegoOS, DxPU usw.)
- RDMA-Netzwerkoptimierungstechniken (wie FaRM, Aeolus usw.)
- Empfehlungssystem-Benchmarks (MLPerf, Meta DLRM-Datensätze usw.)
Gesamtbewertung: Dies ist ein hochwertiges Systemforschungspapier, das eine innovative Disaggregationslösungsarchitektur für praktische Herausforderungen bei EMR-Diensten vorschlägt. Obwohl es sich derzeit noch in der Prototypphase befindet, hat sein technisches Schema starken praktischen Wert und Verbreitungspotenzial und ist von großer Bedeutung für die Entwicklung der Empfehlungssystem-Infrastruktur.