Nachrichten (DE)

GreenBoost: Linux-Modul wandelt RAM in CUDA-Speicher um und revolutioniert die Nutzung von LLMs mit NVIDIA

NVIDIA
Foto: NVIDIA - Stock all / Shutterstock.com

Das lokale Entwicklungsszenario für künstliche Intelligenz erfährt mit der Einführung von GreenBoost einen erheblichen Wandel. Das innovative Este-Modul für den Linux-Kernel verspricht, eines der größten Hindernisse für Entwickler und Forscher zu überwinden: die Beschränkung des Videospeichers (VRAM) auf Consumer-NVIDIA-Karten. Durch die Umwandlung des System-RAMs in eine von der CUDA-Architektur nutzbare Ressource öffnet GreenBoost neue Türen für die Ausführung komplexer Large-Scale-Language-Modelle (LLMs) direkt auf Standard-PCs.

Die vom unabhängigen Programmierer Ferran Duarri entwickelte Initiative stellt einen entscheidenden Fortschritt in einer Umgebung dar, in der Hochleistungshardware, wie z. B. GPUs der Enterprise-Klasse mit reichlich VRAM, für die meisten unzugänglich ist. Die Lösung konzentriert sich auf die Optimierung der Nutzung vorhandener Ressourcen, sodass die Rechenleistung von NVIDIA-GPUs auch bei VRAM-Einschränkungen voll ausgenutzt werden kann, was die Forschung und Entwicklung im Bereich Open-Source-KI fördert.

Die Fähigkeit, Modelle, die zuvor Dutzende Gigabyte Speicher benötigten, wie z. B. „glm-4.7-flash:q8_0“ mit 31,8 GB Speicher, auf Verbrauchergeräten auszuführen, war eine nahezu unüberwindbare Herausforderung. Herkömmliche Ansätze führten häufig zu Leistungsengpässen oder einer verminderten Inferenzqualität, sodass die praktische Interaktion mit diesen Modellen für viele Enthusiasten und kleine Entwickler nicht durchführbar war.

Überwindung traditioneller VRAM-Barrieren

In der Vergangenheit gab es nur begrenzte Strategien zur Bewältigung von VRAM-Mängeln bei Consumer-GPUs. Eine der gebräuchlichsten Lösungen bestand darin, die überschüssigen Schichten des neuronalen Netzwerks in den Systemspeicher der CPU auszulagern. Dieser Ansatz litt jedoch unter einem schwerwiegenden Leistungsproblem. Der Mangel an CUDA-Kohärenz im CPU-Speicher erforderte umfangreiche und komplexe Datenübertragungen zwischen der GPU und der CPU, was zu einem Engpass führte, der die Geschwindigkeit der Token-Generierung um das Zehnfache reduzieren konnte.

Eine weitere untersuchte Alternative war die drastische Reduzierung des Quantisierungsgrads des Modells. Embora Dies verringerte den Speicherbedarf und ging mit einer erheblichen Verschlechterung der Schlussfolgerungs- und logischen Argumentationsfähigkeiten des LLM einher. Um die Qualität zu gewährleisten, bestand die einzig praktikable Option darin, in GPUs der Enterprise-Klasse mit 48 GB oder mehr VRAM zu investieren, ein Aufwand, der die Kosten einer vollständigen Workstation übersteigt und für einzelne Entwickler und Start-ups mit begrenzten Budgets unerschwinglich ist.

Die innovative 3-Ebenen-Architektur von GreenBoost

GreenBoost ist nicht nur eine Treiberoptimierung oder Notlösung; ist ein sorgfältig entwickeltes Linux-Kernelmodul, das unter der GPLv2 lizenziert ist. Ele agiert unabhängig und parallel zu den offiziellen NVIDIA-Treibern und greift direkt in die CUDA-Speicherzuweisungsschicht ein. Durch den ausgeklügelten Eingriff von Essa erkennt der GPU-Treiber den System-RAM als „externen Speicher“ und erstellt so eine Speichererweiterungsarchitektur, die auf drei verschiedenen Ebenen arbeitet, um Leistung und Kapazität zu optimieren.

Die erste Schicht, bekannt als T1, ist der ursprüngliche VRAM, der in die GPU integriert ist. In einer Testumgebung mit einer GeForce RTX 5070 mit 12 GB Kapazität und einer Bandbreite von etwa 336 GB/s wird diese Schicht zum kritischen Pfad für die Berechnung. Ela speichert die aktiven Schichten, auf die während des Inferenzprozesses am häufigsten zugegriffen wird, und gewährleistet so maximale Geschwindigkeit für die anspruchsvollsten Vorgänge.

Die zweite Ebene, T2, besteht aus dem DDR4- oder DDR5-RAM-Speicher des Motherboard-Systems. Conectada mit der GPU über eine PCIe 4.0 x16-Verbindung, bietet eine Geschwindigkeit von ca. 32 GB/s. Die Ebene Este dient als effizienter Speicherbereich für statische Modellgewichtsdaten und als umfangreicher Schlüsselwert-Cache (KV), der für LLMs von entscheidender Bedeutung ist, um große Kontexte zu verwalten und zu referenzieren, sodass die KI mit umfassenderen Informationen arbeiten kann.

Die dritte Sicherheitsebene, T3, schließlich ist NVMe-Speicher. Alocado ist ein Auslagerungsbereich mit einer relativ langsameren Geschwindigkeit von etwa 1,8 GB/s und ist so zugeordnet, dass er etwaige Speicherüberläufe absorbiert. Die Schicht Esta kommt nur in Ausnahmesituationen ins Spiel, wenn sowohl VRAM als auch System-RAM vollständig erschöpft sind, und bietet einen Schutz, um Systemausfälle in extremen Nutzungsszenarien zu verhindern.

Die Raffinesse hinter der Integration

Die technische Intelligenz von GreenBoost liegt in der Art und Weise, wie Kernel- und User-Space-Komponenten nahtlos zusammenarbeiten. Das Kernelmodul („greenboost.ko“) verwendet einen optimierten Speicherzuweiser, um einen großen Seitenbereich in DDR4 zu reservieren und so Paging-Overhead und Fragmentierung zu vermeiden. Esses Leerzeichen werden als DMA-BUF-Dateideskriptoren exportiert, was einen direkten Speicherzugriff ermöglicht.

Die GPU importiert diese Betriebssystemseiten dann als externen CUDA-Speicher über die „cudaImportExternalMemory“-API. Der Prozess Die Datenbewegung wird dann als DMA-Übertragung über den PCI Express 4.0-Bus verwaltet, wodurch unnötige Kopierzyklen durch die CPU vermieden werden.

Im Benutzerbereich fungiert die Bibliothek „libgreenboost_cuda.so“ als intelligenter Abfangjäger. Inserida dynamisch über „LD_PRELOAD“, es fängt API-Aufrufe wie „cudaMalloc“ und „cudaFree“ ab. Requisições kleine Zuweisungen werden ohne Latenz direkt an den ursprünglichen VRAM weitergeleitet. Allerdings werden große Anfragen, die die VRAM-Grenzen überschreiten, an das GreenBoost-Modul im Kernel umgeleitet, das den erforderlichen Speicher aus dem System-RAM zuweist und ihn als legitimen CUDA-Gerätezeiger an die Anwendung zurückgibt. Para-Inferenz-Engines, die „dlopen“ und „dlsym“ verwenden, verfügt GreenBoost über Gegenmaßnahmen, indem es die „dlsym“-Funktion selbst abfängt und sogar die gemeldete VRAM-Kapazität ändert, um eine Auslagerung in den RAM zu erzwingen.

Synergie mit Optimierern und praktischer Leistung

GreenBoost ist so konzipiert, dass es mit den neuesten Inferenzansätzen zusammenarbeitet und ein vielfältiges Optimierungstoolset bietet. Ein Beispiel ist die Integration mit „ExLlamaV3“, einer Inferenz-Engine, die den von GreenBoost bereitgestellten KV-Cache-Layer-Pfad nativ unterstützt. Isso ermöglicht die direkte Zuweisung des KV-Tensors des Modells von „/dev/greenboost“ an Python über „mmap“-Zugriff ohne Kopieren, wodurch E/A-Overhead vermieden und die Leistung verbessert wird.

Bei langen Kontexten mit mehr als 100.000 Token kann das Tool „kvpress“ zusammen verwendet werden, um den Overhead für die RAM-Bandbreite des Systems zu reduzieren. Mais Entscheidend ist, dass durch die Integration mit NVIDIA ModelOpt, dem offiziellen Optimierungstool von NVIDIA, 31,8-GB-Modelle ohne Umschulung in das effiziente FP8-Format konvertiert werden können, wodurch die Größe auf weniger als 16 GB reduziert wird. Die strategische Kombination Essa, die VRAM den Modellgewichten und System-RAM dem KV-Cache zuweist, hat auf der GeForce RTX 5070 durchschnittliche Inferenzgeschwindigkeiten von 10 bis 25 Token pro Sekunde (tok/s) gezeigt, eine deutliche Steigerung im Vergleich zur Referenzumgebung (2 bis 5 tok/s).

Die PCIe 4.0-Bus-Herausforderung

Obwohl es sich um einen revolutionären Ansatz handelt, beseitigt GreenBoost nicht die grundlegenden physischen Einschränkungen der Hardware. Ferran Duarri, der Entwickler, macht transparent über den größten Engpass: die maximale Übertragungsbandbreite des PCIe 4.0 x16-Busses von etwa 32 GB/s. Enquanto der integrierte VRAM moderner GPUs bietet Hunderte von GB/s, bei High-End-Modellen sogar mehr als 1 TB/s, die Geschwindigkeit beim Zugriff auf System-RAM über PCIe ist deutlich langsamer, oft weniger als ein Zehntel.

Wenn Modellgewichtsdaten, auf die häufig zugegriffen wird, wiederholt zwischen VRAM und System-RAM übertragen werden, führt dieses „Thrashing“ zu erheblichen Verzögerungen in der Pipeline. Da Auch wenn NVMe-Laufwerke für sequenziellen Zugriff effizient sind, kann sich die Leistung auf der Swap-Ebene dramatisch verschlechtern, wenn während der Inferenz Millionen von Direktzugriffsvorgängen in kleinen Blöcken verarbeitet werden. Die ideale Lösung zur Maximierung des Potenzials von GreenBoost liegt nicht in einem einzelnen Modul, sondern in der intelligenten Partitionierung der Arbeitslast unter Verwendung der neuesten Parameterquantisierungstechnologien wie FP8 und INT4-AWQ, um das Datengewicht im VRAM (T1) auf ein Minimum zu beschränken und den mit der Zeit wachsenden KV-Cache in DDR4-RAM (T2) zu verschieben.

Auswirkungen auf die KI-Infrastruktur

Die Veröffentlichung von GreenBoost als Open Source stellt eine starke Reaktion der Entwicklergemeinschaft auf die künstlichen Einschränkungen dar, die der Verbraucher-GPU-Markt auferlegt, wo die Rechenleistung hoch ist, aber eingeschränkter VRAM den industriellen Einsatz einschränkt. Es handelt sich um einen Versuch, das einheitliche Speichererlebnis der Architektur der Apple M-Serie per Software zu emulieren, das massive KI-Inferenz ohne die Notwendigkeit teurer HBM-Module ermöglicht, indem diese Technologie in bestehende PC-Plattformen integriert wird.

Diese Implementierungsmethode bietet eine wirksame Gegenmaßnahme für einzelne Forscher und kleine bis mittlere KI-Entwicklungsökosysteme gegen die steigenden Kosten von KI-Beschleunigern für Unternehmen. Atualmente auf der GeForce RTX 5070 demonstriert, mit der Verfügbarkeit des Quellcodes wird erwartet, dass ein breites Spektrum von Benutzern mit Karten der Architekturen Ada Lovelace und Ampere die Lösung verifizieren und anpassen wird. In einer Zeit, in der die hardwaregestützte Skalierbarkeit ein Plateau erreicht hat, weist der Ferran Duarri-Ansatz durch die Umgehung komplexer Schichten von der Kernel-Verwaltung über die PCI-Express-Schnittstelle bis zur CUDA-Umgebung auf die Herausforderungen bei der Speicherverwaltung hin, die künftige verteilte KI-Infrastrukturen bewältigen müssen. Desenvolvedores auf der ganzen Welt entwickeln weiterhin Alternativen, um diese Hürde zu umgehen.