HyperAIHyperAI

Command Palette

Search for a command to run...

vor 3 Monaten
NVIDIA
LLM
vLLM

NVIDIA optimiert verteiltes Inference mit Transfer-Library

Verteilte KI-Inferenzanforderungen haben sich erheblich gewandelt, was den Bedarf an einer verbesserten Datenübertragung zwischen verschiedenen Speicher- und Hardwarekomponenten unterstreicht. Bei modernen Anwendungen wie Code-Assistenten oder komplexen Reasoning-Modellen entstehen große Kontexte, deren Zwischenergebnisse (KV-Caches) effizient geladen werden müssen, statt sie bei jedem neuen Gesprächsabschnitt neu zu berechnen. Gleichzeitig erfordern Architekturen mit breiter Experte-Parallelität eine extrem latenzarme Kommunikation zwischen den GPU-Spezialisten. Die dynamische Natur dieser Dienste, die rund um die Uhr laufen, verlangt nach Systemen, die sich flexibel an schwankende Auslastungen anpassen und selbst bei Hardwareausfällen widerstandsfähig bleiben. Da zudem unterschiedlichste Hardwarekomponenten mit verschiedenen Speicherebenen von lokalem NVMe bis zu Cloud-Speichern zusammenarbeiten müssen, ist eine einheitliche Abstraktionsschicht unerlässlich. NVIDIA hat mit der NVIDIA Inference Transfer Library (NIXL) eine Open-Source-Lösung entwickelt, die genau diese Herausforderungen adressiert. NIXL ist eine herstellerunabhängige Bibliothek, die eine vereinfachte API zur schnellen Übertragung von Datenpunkten über verschiedene Speichertypen hinweg bereitstellt. Die Bibliothek unterstützt eine breite Palette von Technologien, darunter RDMA-Netzwerke, GPU-initiierte Netzwerkkommunikation, GPU-Direct Storage sowie Block- und Dateispeicherlösungen. Sie fungiert als Bindeglied zwischen GPU-Speicher, CPU-Speicher und verteilten Speichersystemen und ermöglicht so eine effiziente Datenbewegung in heterogenen Umgebungen. Bereits wichtige KI-Frameworks wie vLLM, SGLang, NVIDIA TensorRT LLM und Anyscale Ray integrieren NIXL, um ihre Leistung zu steigern. Das Design von NIXL beruht auf einem Agenten-Modell, das aus einem Conductor-Prozess und Transfer-Agenten besteht. Der Conductor entscheidet, wann welche Übertragungen notwendig sind, während die Agenten die eigentlichen Datenbewegungen durchführen. Die Architektur nutzt Beschreibungsobjekte, die Speicherorte in Host- oder GPU-Speicher sowie in Dateisystemen definieren. Ein entscheidender Mechanismus ist der dynamische Austausch von Metadaten zwischen den Agenten. Dieser ermöglicht es dem System, das Netzwerk der Agenten flexibel zu skalieren, neue Knoten hinzuzufügen oder ausgefallene Komponenten zu ersetzen, ohne den Betrieb unterbrechen zu müssen. Für Geräte-APIs, die von GPU-Kernen direkt genutzt werden, stellt NIXL sicher, dass alle notwendigen Metadaten effizient an die Hardware übermittelt werden. NIXL bietet eine vollständig nicht-blockierende API, die eine hohe Parallelität ermöglicht und die Übertragungslatenz minimiert. Die Bibliothek wählt automatisch den optimalen Backend-Algorithmus für die jeweilige Aufgabe aus, sei es über das offene Universal Communication Interface (UCX) oder andere spezialisierte Protokolle. Dies gewährleistet maximale Leistung und bleibt hardwareunabhängig. Für die Bewertung der Systemleistung stellt NIXL spezialisierte Benchmark-Tools bereit. NIXLBench ermöglicht modellunabhängige Tests, um Bandbreite und Latenz in Echtzeit zu messen. Für KI-Entwickler steht zudem KVBench zur Verfügung, das automatisch den exakten I/O-Bedarf von KV-Caches für bestimmte Sprachmodelle berechnet und Benchmark-Befehle generiert. Die Software ist vollständig quelloffen und auf GitHub unter der Adresse ai-dynamo/nixl verfügbar. Sie wurde in C++ für maximale Effizienz geschrieben und bietet Schnittstellen für C, Python und Rust. Aktuell unterstützt NIXL Linux-Umgebungen wie Ubuntu und RHEL. Erste Nutzer können über einfache Zwei-Knoten-Beispiele den Prozess der Registrierung, des Metadatenaustauschs und der Datenübertragung kennenlernen. Die NVIDIA-Inferenztransferbibliothek ist ein wichtiger Schritt zur Standardisierung und Optimierung der Infrastruktur für die nächste Generation von KI-Diensten.

Verwandte Links

NVIDIA optimiert verteiltes Inference mit Transfer-Library | Aktuelle Beiträge | HyperAI