Nvidia steigert die KI-Leistung mit TensorRT


Nvidia hat fleißig an weiteren Verbesserungen seiner Suite von KI/ML-Tools (Künstliche Intelligenz/Maschinelles Lernen) und LLM-Tools (Großes Sprachmodell) gearbeitet. Die neuesten Ergänzungen sind TensorRT und TensorRT-LLM, die darauf ausgelegt sind, die Leistung von Consumer-GPUs und vielen der besten Grafikkarten für die Ausführung von Aufgaben wie Stable Diffusion und Llama 2-Textgenerierung zu optimieren. Wir haben einige der neuesten GPUs von Nvidia mit TensorRT getestet und festgestellt, dass die Leistung in Stable Diffusion um bis zu 70 % verbessert wurde. TensorRT sollte unter verfügbar sein Nvidias Github-Seite jetzt, obwohl wir für diesen ersten Blick frühen Zugriff hatten.

Wir haben im letzten Jahr oder so viel Bewegung bei Stable Diffusion gesehen. Unser erster Look im Used-Look Webui von Automatic1111, das zunächst nur Nvidia-GPUs unter Windows unterstützte. Seitdem ist die Zahl der Forks und alternativen Tools zur Text-zu-Bild-KI-Generierung explodiert, und sowohl AMD als auch Intel haben feiner abgestimmte Bibliotheken veröffentlicht, die die Lücke zur Leistung von Nvidia einigermaßen geschlossen haben. Unsere neueste Zusammenfassung der Stable Diffusion-Benchmarks finden Sie in unseren AMD RX 7800 XT- und RX 7700 XT-Testberichten. Jetzt ist Nvidia bereit, die Lücke mit TensorRT noch einmal zu vergrößern.

Die Grundidee ähnelt dem, was AMD und Intel bereits getan haben. Unter Nutzung von ONNX, einem offenen Format für KI- und ML-Modelle und -Operatoren, wird das grundlegende stabile Diffusionsmodell von Hugging Face in ein ONNX-Format konvertiert. Von dort aus können Sie die Leistung für die spezifische GPU, die Sie verwenden, weiter optimieren. Es dauert ein paar Minuten (manchmal auch länger), bis TensorRT die Dinge optimiert, aber wenn Sie damit fertig sind, sollten Sie eine deutliche Leistungssteigerung und eine bessere Speicherauslastung erzielen.

Wir haben alle neuesten GPUs der RTX 40-Serie von Nvidia dem Tuning-Prozess unterzogen (jeder muss für eine optimale Leistung separat durchgeführt werden) und außerdem die Basisleistung der stabilen Diffusion und die Leistung mit Xformers getestet. Wir sind noch nicht ganz bereit für das vollständige Update, in dem die Leistung von AMD, Intel und Nvidia in Stable Diffusion verglichen wird, da wir eine Reihe zusätzlicher GPUs mit den neuesten optimierten Tools erneut testen. Daher konzentriert sich dieser erste Blick nur auf Nvidia-GPUs. Wir haben eine RTX 30-Serie (RTX 3090) und eine RTX 20-Serie (RTX 2080 Ti) beigefügt, um zu zeigen, wie sich die TensorRT-Gewinne auf die gesamte RTX-Reihe von Nvidia auswirken.

Jede der oben genannten Galerien mit 512 x 512 und 768 x 768 verwendet die Stable Diffusion 1.5-Modelle. Wir sind dazu übergegangen, 1.5 anstelle von 2.1 zu verwenden, da die Ersteller-Community im Allgemeinen die Ergebnisse von 1.5 bevorzugt, obwohl die Ergebnisse bei den neueren Modellen ungefähr gleich sein sollten. Für jede GPU haben wir unterschiedliche Batchgrößen und Batchzahlen ausgeführt, um den optimalen Durchsatz zu finden, und pro Lauf insgesamt 24 Bilder generiert. Dann haben wir den Durchsatz von drei separaten Läufen gemittelt, um die Gesamtrate zu bestimmen – es wurden also insgesamt 72 Bilder für jedes Modellformat und jede GPU generiert (verworfene Läufe nicht mitgerechnet).

Beim Gesamtdurchsatz spielen verschiedene Faktoren eine Rolle. GPU-Rechenleistung ist ziemlich wichtig, ebenso wie die Speicherbandbreite. Die VRAM-Kapazität ist tendenziell ein geringerer Faktor, abgesehen davon, dass möglicherweise größere Bildauflösungsziele oder Stapelgrößen möglich sind. Mit 24 GB VRAM können Sie also Dinge tun, die mit 8 GB nicht möglich sind. Möglicherweise spielen auch die L2-Cache-Größen eine Rolle, obwohl wir nicht versucht haben, dies direkt zu modellieren. Was wir sagen können ist, dass die 4060 Ti 16-GB- und 8-GB-Karten, die im Grunde die gleichen Spezifikationen haben (leicht unterschiedliche Takte aufgrund des benutzerdefinierten Modells auf der 16-GB-Karte), nahezu identische Leistung und optimale Stapelgrößen hatten.

Abhängig vom verwendeten Modellformat gibt es einige geringfügige Unterschiede in der relativen Leistung. Das Basismodell ist das langsamste, wobei Xformer die Leistung bei 512 x 512-Bildern um 30 bis 80 Prozent und bei 768 x 768-Bildern um 40 bis 100 Prozent steigern. TensorRT steigert dann die Leistung um weitere 50–65 Prozent bei 512 x 512 und 45–70 Prozent bei 768 x 768.

Interessant ist, dass die geringsten Zuwächse (der bisher getesteten GPUs) von der RTX 3090 erzielt werden. Es ist nicht genau klar, was der begrenzende Faktor sein könnte, obwohl wir weitere GPUs testen müssen, um zu endgültigen Schlussfolgerungen zu gelangen. Die RTX 40-Serie verfügt über Tensorkerne der vierten Generation, die RTX 30-Serie über Tensorkerne der dritten Generation und die RTX 20-Serie über Tensorkerne der zweiten Generation (wobei die Volta-Architektur Tensorkerne der ersten Generation ist). Mit anderen Worten, neuere Architekturen sollten leistungsfähiger sein, obwohl es für die Art der Arbeit, die in Stable Diffusion erforderlich ist, hauptsächlich auf reine Rechenleistung und Speicherbandbreite ankommt.

Wir versuchen nicht, hier einen vollständigen Leistungsvergleich zwischen Nvidia und der Welt zu erstellen, aber aktualisierte Tests des RX 7900 Wir arbeiten an umfassenden Tests der AMD-GPUs mit der neuesten Version Automatic1111 DirectML-Zweig, und wir werden ein aktualisiertes Stable Diffusion-Kompendium haben, sobald es fertig ist. Beachten Sie auch, dass Intels Arc A770 15,5 Bilder/Minute bei 512 x 512 und 4,7 Bilder/Minute bei 768 x 768 schafft.

Nvidia Stable Diffusion TensorRT-Update

(Bildnachweis: Nvidia)

Was genau ist also mit TensorRT los, dass es die Leistung so stark verbessern kann? Ich habe mit Nvidia über dieses Thema gesprochen und es geht hauptsächlich um die Optimierung von Ressourcen und Modellformaten.

ONNX wurde ursprünglich von Facebook und Microsoft entwickelt, ist jedoch eine Open-Source-Initiative, die auf dem Apache-Lizenzmodell basiert. ONNX ist so konzipiert, dass KI-Modelle mit einer Vielzahl von Backends verwendet werden können: PyTorch, OpenVINO, DirectML, TensorRT usw. ONNX ermöglicht eine gemeinsame Definition verschiedener KI-Modelle und stellt ein Berechnungsdiagrammmodell zusammen mit den erforderlichen integrierten Funktionen bereit Operatoren und eine Reihe von Standarddatentypen. Dadurch können die Modelle problemlos zwischen verschiedenen KI-Beschleunigungs-Frameworks transportiert werden.

TensorRT ist mittlerweile darauf ausgelegt, auf Nvidia-GPUs leistungsfähiger zu sein. Um die Vorteile von TensorRT nutzen zu können, müsste ein Entwickler seine Modelle normalerweise direkt in das von TensorRT erwartete Format schreiben oder ein vorhandenes Modell in dieses Format konvertieren. ONNX hilft, diesen Prozess zu vereinfachen, weshalb es von AMD (DirectML) und Intel (OpenVINO) für diese abgestimmten Zweige der Stable Diffusion verwendet wird.

Schließlich besteht eine der Optionen von TensorRT darin, dass Sie mit einem Modell auch einen optimalen Pfad einstellen können. In unserem Fall erstellen wir Stapel mit Bildern in den Größen 512 x 512 und 768 x 768. Das von uns generierte generische TensorRT-Modell kann eine dynamische Bildgröße von 512 x 512 bis 1024 x 1024 haben, mit einer Stapelgröße von eins bis acht und einer optimalen Konfiguration von 512 x 512 und einer Stapelgröße von 1. Die Ausführung von 512 x 512-Stapeln zu je 8 kann am Ende 10 % langsamer sein. geben oder nehmen. Das können wir tun ein anderer TensorRT-Modell, das speziell auf 512 x 512 x 8 oder 768 x 768 x 4 oder was auch immer abzielt. Und das alles haben wir getan, um die beste Konfiguration für jede GPU zu finden.

Der DirectML-Fork von AMD verfügt über einige ähnliche Optionen, allerdings sind uns derzeit einige Einschränkungen aufgefallen (wir können beispielsweise keine andere Stapelgröße als eins verwenden). Wir rechnen auch mit weiteren Optimierungen der AMD- und Intel-Modelle, allerdings dürften die Gewinne im Laufe der Zeit nachlassen.

Nvidia Stable Diffusion TensorRT-Update

(Bildnachweis: Nvidia)

Das aktualisierte TensorRT dient natürlich nicht nur der stabilen Diffusion. Nvidia hat die obige Folie geteilt, in der die Verbesserungen detailliert beschrieben werden, die es mit der Llama 2 7B int4-Inferenz unter Verwendung von TensorRT gemessen hat. Das ist ein Textgenerierungstool mit sieben Milliarden Parametern.

Wie das Diagramm zeigt, bringt die Generierung eines einzelnen Textstapels einen bescheidenen Vorteil mit sich, aber die GPU scheint in diesem Fall (RTX 4090) nicht voll ausgelastet zu sein. Durch Erhöhen der Chargengröße auf vier wird der Gesamtdurchsatz um das 3,6-fache gesteigert, während eine Chargengröße von acht zu einer 4,4-fachen Beschleunigung führt. In diesem Fall können größere Stapelgrößen verwendet werden, um mehrere Textantworten zu generieren, sodass der Benutzer die von ihm bevorzugte auswählen kann – oder sogar Teile der Ausgabe kombinieren kann, wenn das nützlich ist.

Das TesorRT-LLM ist noch nicht erhältlich, sollte aber verfügbar sein Developer.nvidia.com (kostenlose Anmeldung erforderlich) in naher Zukunft.

Nvidia Stable Diffusion TensorRT-Update

(Bildnachweis: Nvidia)

Schließlich arbeitet Nvidia im Rahmen seiner KI-fokussierten Updates für LLMs auch an einem TensorRT-LLM-Tool, das die Verwendung von Llama 2 als Basismodell und den anschließenden Import lokaler Daten für domänenspezifischeres und aktuelleres Wissen ermöglicht. Als Beispiel dafür, was dies bewirken kann, hat Nvidia 30 aktuelle Nvidia-Nachrichtenartikel in das Tool importiert und Sie können den Unterschied in der Reaktion zwischen dem Basismodell Llama 2 und dem Modell mit diesen lokalen Daten sehen.

Das Basismodell liefert alle Informationen darüber, wie aussagekräftige Sätze usw. generiert werden, verfügt jedoch nicht über Kenntnisse über aktuelle Ereignisse oder Ankündigungen. In diesem Fall sind es Dinge Alan Wake 2 hat keine offiziellen Informationen veröffentlicht. Mit den aktualisierten lokalen Daten ist es jedoch möglich, eine aussagekräftigere Antwort zu geben.

Ein weiteres Beispiel, das Nvidia anführte, war die Verwendung solcher lokalen Daten mit dem eigenen E-Mail- oder Chat-Verlauf. Dann könnten Sie Dinge fragen wie: „Über welchen Film haben Chris und ich letztes Jahr gesprochen?“ und es wäre in der Lage, eine Antwort zu geben. Es handelt sich möglicherweise um eine intelligentere Suchoption, bei der Ihre eigenen Informationen verwendet werden.

Wir kommen nicht umhin, dies als potenziellen Anwendungsfall für unseren eigenen HammerBot zu betrachten, müssen allerdings prüfen, ob er auf unseren jeweiligen Servern verwendbar ist (da er eine RTX-Karte benötigt). Wie bei allen LLMs kann die Qualität der Ergebnisse je nach Trainingsdaten und den von Ihnen gestellten Fragen etwas schwanken.

Nvidia Stable Diffusion TensorRT-Update

(Bildnachweis: Nvidia)

Nvidia kündigte außerdem Aktualisierungen seiner Video Super Resolution an, jetzt mit Unterstützung für GPUs der RTX 20-Serie und nativer Artefaktreduzierung. Letzteres bedeutet, dass VSR auch bei der Rauschunterdrückung und Bildverbesserung hilfreich sein kann, wenn Sie einen 1080p-Stream auf einem 1080p-Monitor ansehen. VSR 1.5 ist mit den neuesten Treibern von Nvidia verfügbar.

source-109

Leave a Reply