Die „GPU-Armen“ sind dabei, sich aus ihrer misslichen Lage zu verabschieden! NVIDIA hat gerade eine Open-Source-Software TensorRT-LLM veröffentlicht, die die Argumentation großer Sprachmodelle auf H100 beschleunigen kann. Wie oft kann es also verbessert werden? Nach dem Hinzufügen von TensorRT-LLM und seiner Reihe von Optimierungsfunktionen (einschließlich In-Flight-Stapelverarbeitung) erhöhte sich der Gesamtdurchsatz des Modells um das Achtfache.

Besuchen Sie die Kaufseite:

Säulenprodukt der Jingdong NVIDIA-Serie Zusammenfassung


TAGPH 17

Vergleich von GPT-J-6BA100 und H100 mit und ohne TensorRT-LLM

Am Beispiel von Llama2 kann TensorRT-LLM außerdem die Inferenzleistung im Vergleich zur alleinigen Verwendung von A100 um das 4,6-fache verbessern.


Llama270B, A mit und ohne TensorRT-LLM Vergleich zwischen 100 und H100

Netizens sagten, dass der superstarke H100, kombiniert mit TensorRT-LLM wird zweifellos die aktuelle Situation der Inferenz großer Sprachmodelle völlig verändern!


TensorRT-LLM: Große Modellinferenzbeschleunigungsartefakte

Aufgrund der großen Parameterskala großer Modelle sind derzeit die Schwierigkeit und die Kosten für „Bereitstellung und Inferenz“ erheblich war schon immer hoch.

Das von NVIDIA entwickelte TensorRT-LLM zielt darauf ab, den LLM-Durchsatz deutlich zu verbessern und die Kosten durch die GPU zu senken.


Insbesondere kapselt TensorRT-LLM den Deep-Learning-Compiler von TensorRT, den optimierten Kernel von FasterTransformer, die Vor- und Nachbearbeitung sowie die Multi-GPU/Multi-Node-Kommunikation in einer einfachen Open-Source-Python-API.

NVIDIA hat FasterTransformer weiter verbessert, um es zu einer produktiven Lösung zu machen.

Es ist ersichtlich, dass TensorRT-LLM eine benutzerfreundliche, quelloffene und modulare Python-Anwendungsprogrammierschnittstelle bietet.

Programmierer benötigen keine tiefgreifenden Fachkenntnisse in C++ oder CUDA. Sie können verschiedene große Sprachmodelle bereitstellen, ausführen und debuggen und außerdem Spitzenleistung und schnelle Anpassungsfunktionen erhalten.


Laut NVIDIAs offiziellem Blog optimiert TensorRT-LLM die LLM-Inferenzleistung auf NVIDIA-GPUs auf vier Arten.

Zunächst wird TensorRT-LLM für die aktuellen über 10 großen Modelle eingeführt, sodass Entwickler diese sofort ausführen können.

Zweitens ermöglicht TensorRT-LLM als Open-Source-Softwarebibliothek LLM, Inferenzen auf mehreren GPUs und mehreren GPU-Servern gleichzeitig durchzuführen.

Diese Server sind über NVIDIAs NVLink- bzw. InfiniBand-Verbindungen verbunden.

Die dritte ist „In-Flight Batch Processing“, eine brandneue Planungstechnologie, die es verschiedenen Modellaufgaben ermöglicht, unabhängig von anderen Aufgaben in die GPU einzutreten und diese zu verlassen.

Schließlich wurde TensorRT-LLM für die Verwendung von H100TransformerEngine optimiert, um die Speichernutzung und Latenz während der Modellinferenz zu reduzieren.

Schauen wir uns als Nächstes genauer an, wie TensorRT-LLM die Modellleistung verbessert.

Unterstützt umfangreiches LLM-Ökosystem

TensorRT-LLM bietet sehr gute Unterstützung für das Open-Source-Modell-Ökosystem.

Die größten und fortschrittlichsten Sprachmodelle, wie etwa das von Meta eingeführte Llama2-70B, erfordern die Zusammenarbeit mehrerer GPUs, um Antworten in Echtzeit bereitzustellen.

Wenn sie bisher eine optimale Leistung für die LLM-Inferenz erreichen wollten, mussten Entwickler das KI-Modell neu schreiben und es manuell in mehrere Fragmente aufteilen und die Ausführung über GPUs hinweg koordinieren.


TensorRT-LLM verwendet die Tensor-Parallelitätstechnologie (Tensorparallelität), um die Gewichtsmatrix auf jedes Gerät zu verteilen, wodurch der Prozess vereinfacht und eine effiziente Inferenz im großen Maßstab ermöglicht wird.

Jedes Modell kann parallel auf mehreren GPUs und mehreren über NVLink verbundenen Servern laufen, ohne dass der Entwickler eingreifen oder Modelländerungen vornehmen muss.


Mit der Einführung neuer Modelle und Modellarchitekturen können Entwickler den neuesten NVIDIA AI-Kernel (Kernal) Open Source in TensorRT-LLM verwenden, um Modelle zu optimieren.

Unterstützte Kernel-Fusion (KernalFusion), einschließlich der modernsten FlashAttention-Implementierung und maskierter Multi-Head-Aufmerksamkeit für den Kontext und die Generierungsphasen der GPT-Modellausführung usw.

Darüber hinaus enthält TensorRT-LLM auch vollständig optimierte, betriebsbereite Versionen vieler aktueller großer Sprachmodelle beliebt.

Einschließlich MetaLlama2, OpenAIGPT-2 und GPT-3, Falcon, MosaicMPT, BLOOM und mehr als 10 Modelle, die alle mit der einfachen und benutzerfreundlichen TensorRT-LLMPython-API aufgerufen werden können.

Diese Funktionen können Entwicklern dabei helfen, benutzerdefinierte große Sprachmodelle schneller und genauer zu erstellen, um den unterschiedlichen Anforderungen verschiedener Branchen gerecht zu werden.

In-Flight-Stapelverarbeitung

Große Sprachmodelle sind heutzutage äußerst vielseitig.

Ein einzelnes Modell kann gleichzeitig für mehrere, scheinbar unterschiedliche Aufgaben verwendet werden – von einfachen Fragen und Antworten in einem Chatbot über die Zusammenfassung von Dokumenten bis hin zur Generierung langer Codeblöcke. Die Arbeitslasten sind hochdynamisch und die Ausgabegrößen müssen in unterschiedlichen Größenordnungen liegen, um den Anforderungen der Aufgabe gerecht zu werden.

Die Vielfalt der Aufgaben kann es schwierig machen, Anfragen effizient zu stapeln und eine effiziente parallele Ausführung durchzuführen, was möglicherweise dazu führt, dass einige Anfragen früher abgeschlossen werden als andere.


Um diese dynamischen Lasten zu verwalten, enthält TensorRT-LLM eine optimierte Planungstechnologie namens „In-flight Batching“.

Sein Kernprinzip besteht darin, dass der gesamte Textgenerierungsprozess eines großen Sprachmodells in mehrere Ausführungsiterationen des Modells unterteilt werden kann.

Beim Inflight-Batching gibt die TensorRT-LLM-Laufzeit abgeschlossene Sequenzen sofort aus dem Batch frei, anstatt auf den Abschluss des gesamten Batches zu warten, bevor sie mit der Verarbeitung des nächsten Satzes von Anforderungen fortfährt.

Beim Ausführen einer neuen Anfrage werden andere Anfragen aus dem vorherigen Stapel, die noch nicht abgeschlossen wurden, noch verarbeitet.

In-Flight-Batching und zusätzliche Optimierungen auf Kernel-Ebene verbessern die GPU-Auslastung, wodurch der Durchsatz des tatsächlichen LLM-Anfrage-Benchmarks auf dem H100 mindestens verdoppelt werden kann.

Mit der H100Transformer-Engine von FP8

TensorRT-LLM bietet außerdem eine Funktion namens H100TransformerEngine, die den Speicherverbrauch und die Latenz bei großen Modellinferenzen effektiv reduzieren kann.

Da LLM Milliarden von Modellgewichten und Aktivierungsfunktionen enthält, wird es normalerweise mit FP16- oder BF16-Werten trainiert und dargestellt, die jeweils 16 Bit Speicher belegen.

Allerdings können die meisten Modelle zur Inferenzzeit mithilfe von Quantisierungstechniken, wie z. B. 8-Bit- oder sogar 4-Bit-Ganzzahlen (INT8 oder INT4), effizient und mit geringerer Präzision dargestellt werden.

Bei der Quantisierung werden Modellgewichte und Aktivierungsgenauigkeit reduziert, ohne dass die Genauigkeit darunter leidet. Die Verwendung einer geringeren Präzision bedeutet, dass jeder Parameter kleiner ist und das Modell weniger Platz im GPU-Speicher beansprucht.


Dies ermöglicht Rückschlüsse auf größere Modelle, die dieselbe Hardware verwenden, während während der Ausführung weniger Zeit für Speicheroperationen aufgewendet wird.

Durch die H100TransformerEngine-Technologie ermöglicht die H100GPU mit TensorRT-LLM Benutzern die einfache Konvertierung von Modellgewichten in das neue FP8-Format und die automatische Kompilierung des Modells, um die Vorteile des optimierten FP8-Kernels zu nutzen.

Und dieser Vorgang erfordert keinen Code! Das von H100 eingeführte FP8-Datenformat ermöglicht Entwicklern die Quantifizierung ihrer Modelle und eine drastische Reduzierung des Speicherverbrauchs, ohne die Modellgenauigkeit zu beeinträchtigen.

Im Vergleich zu anderen Datenformaten wie INT8 oder INT4 behält die FP8-Quantisierung eine höhere Genauigkeit bei, erzielt gleichzeitig die schnellste Leistung und ist am bequemsten zu implementieren.

So erhalten Sie TensorRT-LLM

Obwohl TensorRT-LLM noch nicht offiziell veröffentlicht wurde, können Benutzer jetzt frühzeitig darauf zugreifen.

Der Anwendungslink lautet wie folgt:

https://developer.nvidia.com/tensorr t-llm-early-access/join

NVIDIA gab außerdem bekannt, dass TensorRT-LLM in das integriert wird NVIDIANeMo-Framework bald.

Dieses Framework ist Teil des kürzlich von NVIDIA eingeführten AIEnterprise und bietet Unternehmenskunden eine sichere, stabile und hochverwaltbare KI-Softwareplattform auf Unternehmensebene.

Entwickler und Forscher können über das NeMo-Framework auf NVIDIA NGC oder als Projekt auf GitHub auf TensorRT-LLM zugreifen.

Es ist jedoch zu beachten, dass sich Benutzer für das NVIDIA Developer Program registrieren müssen, um sich für die Early-Access-Version zu bewerben.

Netizens diskutieren heiß über

Netizens haben auf Reddit eine hitzige Diskussion über den Start von TensorRT-LLM gestartet.

Man kann sich kaum vorstellen, wie sehr sich der Effekt durch die Optimierung der Hardware speziell für LLM verbessern wird.


Aber einige Internetnutzer glauben, dass der Zweck dieser Sache darin besteht, Lao Huang dabei zu helfen, mehr H100 zu verkaufen.


Einige Internetnutzer sind jedoch anderer Meinung. Er ist der Meinung, dass TensorRT auch für Benutzer hilfreich ist, die SD lokal bereitstellen. Solange also eine RTX-GPU vorhanden ist, sollte es möglich sein, in Zukunft von ähnlichen Produkten zu profitieren.


Aus einer eher makroökonomischen Perspektive, vielleicht für LLM, wird es auch eine Reihe von Optimierungen auf Hardwareebene geben, und sogar speziell für LLM entwickelte Hardware wird in Zukunft erscheinen, um die Leistung von LLM zu verbessern. Diese Situation ist tatsächlich in vielen gängigen Anwendungen aufgetreten, und LLM bildet da keine Ausnahme.