- Das OpenAI-Open-Source-LLM GPT-OSS-120B wurde in einer NVIDIA-GPU-Umgebung auf eine Leistung von mehr als 500 Tokens pro Sekunde optimiert
- Verschiedene Inferenz-Frameworks wie TensorRT-LLM, vLLM und SGLang wurden parallel getestet, wodurch sowohl die Hopper- als auch die Blackwell-Architektur unterstützt wird
- Bei der Arbeit wurden Kompatibilitätsfehler behoben sowie neue Antwortformate wie Harmony, KV-Cache-aware Routing und Eagle-basiertes Speculative Decoding integriert
- Nach dem Vergleich von Tensor Parallelism und Expert Parallelism wurde zur geringeren Latenz Tensor Parallelism gewählt und auf Blackwell der TensorRT-LLM-MoE-Backend eingesetzt
- Für die Zukunft sind weitere Optimierungen geplant, unter anderem Speculative Decoding mit einem kleinen Draft-Modell
Überblick
- Mit der Veröffentlichung von OpenAIs neuesten Open-Source-LLMs GPT-OSS-120B ging Baseten direkt an die Umsetzung von Top-Performance
- Baseten ist ein offizieller Launch-Partner von OpenAI
- Auf Basis echter Nutzerdaten von OpenRouter wurde in einer NVIDIA-GPU-basierten Umgebung die bessere Performance gegenüber Wettbewerbern nachgewiesen
- Dank des flexiblen Inferenz-Stacks und der Expertise des Modell-Engineering-Teams konnten Optimierungspatches innerhalb von Stunden ausgerollt werden
- Bereits während der ersten Stunden der Blogserien wurden zusätzlich 100 Tokens pro Sekunde gewonnen, bei 100 % Verfügbarkeit
Leistungsgoptimierung
- Es wurden Tests und Benchmarks mit verschiedenen Inferenz-Frameworks wie TensorRT-LLM, vLLM und SGLang durchgeführt
- Gleichzeitig wurde die Kompatibilität mit den GPU-Architekturen Hopper und Blackwell sichergestellt
- Baseten integrierte den Flexible Inference Stack und Schlüsselkomponenten wie NVIDIA Dynamo
- Es wurden fortlaufend bewährte Optimierungstechniken wie KV-cache-aware routing und Speculative Decoding (auf Basis von Eagle) angewendet
Im Folgenden sind die Kernschritte für die gleichzeitige Erreichung von SOTA-Performance und vollständiger Kontextfenster-Unterstützung zusammengefasst
Schritt 1: Erste Inferenzausführung
- Der erste Schritt ist, die Erstinferenz (baseline inference) so schnell wie möglich auszuführen, unabhängig von der gewählten Methode
- Inspiriert von der GPU-Performance liefen parallel mehrere Ingenieure Tests mit vLLM, SGLang und TensorRT-LLM parallel
- TensorRT-LLM, das beste Performance lieferte, wurde rasch betriebsbereit gemacht
- Für Hopper (mit den meisten H100-GPUs) und Blackwell (mit deutlich höherer Geschwindigkeit durch B200) wurde die TensorRT-LLM-Unterstützung sichergestellt
- Dank der Flexibilität der Baseten Inference Runtime war es einfach, neue Architekturen aufzunehmen und Werkzeuge im Stack schnell auszutauschen
Schritt 2: Kompatibilitätsfehler beheben
- Neue Modellarchitekturen gehen bei der Framework-Integration oft mit häufigen Bugs einher
- GPT-OSS enthält neue Features wie das Harmony-Antwortformat, wodurch es bei der Integration in bestehende Frameworks zu Fehlern kam
- Zur Sicherung von Geschwindigkeit und Genauigkeit wurden wiederholte Korrekturen und Tests durchgeführt; wirksame Fixes wurden in Open Source eingebracht
- Durch die Zusammenarbeit der globalen Open-Source-Community laufen verschiedene Optimierungspfade und Bugfixes inzwischen sehr schnell
Schritt 3: Modellkonfiguration optimieren
- Obwohl OpenAI angibt, dass GPT-OSS 120B auch auf einer einzelnen H100 läuft, ist in der Praxis eine Parallelisierung über 4–8 GPUs für bessere Performance vorteilhaft
- Tensor Parallelism ist bei der Latenz stark, Expert Parallelism bei Durchsatz (throughput)
- Da Baseten auf Latenzoptimierung ausgerichtet ist, wurde Tensor Parallelism gewählt
- Auf Blackwell wurde ein TensorRT-LLM-MoE-Backend genutzt, das die CUDA-Kernel-Leistung gegenüber dem bisherigen Triton-Backend verbessert
- Für Hopper- und Blackwell-Umgebungen wurden jeweils optimierte Einstellungen veröffentlicht, und in der Model API wird das Blackwell-Setup genutzt
Weitere Leistungsoptimierung
- Mit der ersten Optimierungsrunde wurde bereits SOTA-Durchsatz und -Latenz erreicht, doch es gibt weiterhin viel Verbesserungspotenzial
- Die wichtigsten geplanten Updates sind die Einführung von Speculative Decoding
- Dieses Verfahren lässt ein schnelleres kleines „Draft“-Modell Tokens vorhersagen, die anschließend vom Hauptmodell validiert werden
- Baseten empfiehlt Eagle 3, nutzt im Inferenz-Stack jedoch je nach Scenario flexibel mehr als 10 Algorithmen
- Speculative Decoding decodiert mehrere Tokens auf einmal und ermöglicht so eine effiziente Beschleunigung
2 Kommentare
Ich hätte doch auch nur eine kleine, niedliche H100, wenn mir sie nur jemand geben würde...
Hacker News Kommentar
Ich habe GPT-OSS-120B auf einem MacBook Pro (M4, 128 GB RAM) während eines Fluges über den Atlantik ausprobiert.
Es ist nur dann schnell, wenn das Kontextfenster klein ist und die Gesamtzahl der Token gering bleibt. Geht sie über 10.000, dauert fast alles lange und baut sich in der Queue auf.
MCPs, Websuche, URL-Patching und Ähnliches sind bereits zu einem sehr wichtigen Teil der LLM-Nutzung geworden. Fehlen diese Funktionen, sinkt der Nutzen eines LLM deutlich.
Die für Offline-Betrieb vorab eingerichteten CLI/TUI-Coding-Tools (z. B. opencode) liefen mit dem Modell nicht zuverlässig.
Bei OSS-Modellen gibt es noch weitere Auffälligkeiten, neben den bereits in früheren Kommentaren häufig genannten:
iogpu.wired_limit_mbgesetzt habt. Beim Standardwert kann die GPU nur etwa 70 % des RAM, also rund 90 GB, nutzen. Um mehr auszuschöpfen, muss der Wert angepasst werden.Mehrere Ingenieure haben vLLM, SGLang und TensorRT-LLM parallel ausprobiert. TensorRT-LLM gilt offenbar als am schnellsten, ist aber meistens am schwierigsten zu konfigurieren, zieht neue Architekturen nur unzureichend nach und ist wegen des direkten Kompilierens im exakt gleichen Hardware-/Treiber-/Bibliotheks-Stack wie die Prod-Umgebung sehr umständlich. Für eine Zeitlang war Multimodal fast unmöglich; selbst ein prominentes Llama-Multimodal-Modell funktionierte nicht korrekt. Ob das wertvoll ist, ist fraglich, aber z. B. läuft GPT-OSS-120B auf H100 mit vLLM problemlos und liefert solide 130~140 t/s. Nach dem Titel hätte man 500 t/s pro GPU erwartet, aber in Wahrheit ist es Tensor-Parallel-Setup. Dass gpt-oss separat für TRT-LLM paketiert wurde, ist irgendwie komisch. TRT-LLM selbst ist sowieso ein etwas verwirrendes Tool.
GPT-OSS 20B ist wirklich einfach zu installieren. Dank Llama lief es auf meinem Mac in 5 Minuten.
git pullzu machen undllama-serverneu zu bauen; danach lief es sofort. 40 t/s ohne Änderungen und etwa 50 t/s nach etwas Tuning. Schade, dass es inzwischen schon deutlich bessere Modelle als 120B gibt, sodass ein Betrieb nicht zwingend nötig ist. Ich finde es großartig, wie ggerganov und das llama.cpp-Team LLMs für den persönlichen Einsatz demokratisiert haben.Beim Lesen habe ich gelernt, dass man enorme Datenvorbereitung und Tuning braucht, um ein Modell sauber zu betreiben. Ich dachte bis dahin, die Standardeinstellungen würden ausreichen.
Im US AI Action Plan steht „Open-Source- und Open-Weights-KI fördern“ direkt vor „Frontier KI zum Schutz der freien Meinungsäußerung und der amerikanischen Werte“. Das ist nicht unbedingt logisch, aber OpenAI-OSS-Modelle jetzt zu lesen, fühlt sich etwas gruselig an. Dass sich ein OSS-Modell-Anbieter zu Hardware äußert, ist dennoch gut; für die meisten Entwickler ist Hardware die Einstiegshürde, also freut es mich, dass darüber gesprochen wird.
Kennt jemand eine Website, die klar sagt, welche LLMs gut auf welchem OS und welcher GPU laufen? Meine bisher zuverlässigste empirische VRAM-Formel war: Parameterzahl × (Precision/8) × 1.2 (Hinweis)
Die exakten Zahlen zur realen Array- oder Layergröße von GPT-OSS-120B zu finden, ist überraschend schwer. In statisch typisierten Sprachen könnte man die Größe der Arrays „einfach so“ erkennen; ich möchte aber wissen, wie die realen Daten (nicht nur die Gewichte) fließen und wie breit der Ausgabestream ist. Ich bin gespannt, wie hoch die maximale „Token-Output“-Bandbreite bei Gigabit-Ethernet ist, deshalb habe ich nach dem GitHub-Repo gpt-oss gesucht, aber kaum etwas gefunden.
GPT-OSS läuft auf Blackwell-Chips schneller dank fp4-Unterstützung. Wir bauen derzeit eine Trainings-/Inferenz-Engine in Rust und fügen fp8- und fp4-Support in cudarc und candle hinzu. cudarc PR, candle PR, Mixlayer – wir arbeiten daran, diese Modelle in der Mixlayer-Engine zu unterstützen.