Was ist vLLM?

URL kopieren

vLLM steht für Virtual Large Language Model und ist eine Library von Open Source Codes, die von der vLLM Community verwaltet werden. Das Modell unterstützt Large Language Models (LLMs) dabei, Berechnungen effizienter und in großem Umfang durchzuführen.

Konkret handelt es sich bei vLLM um einen Inferenzserver, der den Output generativer KI-Anwendungen durch eine effizientere Nutzung des GPU-Speichers beschleunigt. 

Mehr über Red Hat AI erfahren

Die Vorteile von vLLM lassen sich nur verstehen, wenn die Funktion eines Inferenzservers und die grundlegenden Mechanismen der Funktionalität eines LLM bekannt sind. So lässt sich besser nachvollziehen, wie vLLM die Performance vorhandener Sprachmodelle optimieren kann.

Was ist ein Inferenzserver?

Ein Inferenzserver ist eine Software, mit deren Hilfe ein KI-Modell auf der Basis des vorangegangenen Trainings neue Rückschlüsse ziehen kann. Inferenzserver pflegen die eingegebenen Anfragen in ein ML-Modell (Machine Learning) ein und generieren eine Ausgabe.

Inferieren bedeutet, Rückschlüsse zu ziehen, die auf Evidenz basieren. Beispielsweise sehen Sie vielleicht, dass im Wohnzimmer eines Freundes das Licht brennt, aber Sie sehen ihn nicht. Sie können zwar darauf schließen, dass Ihr Freund zuhause ist, aber Sie haben keine eindeutigen Beweise dafür.

Ein Sprachmodell verfügt auch nicht über eindeutige Beweise für die Bedeutung eines Wortes oder Satzes (es handelt sich um eine Software), daher verwendet es sein Training als Beweis. Das Modell generiert mithilfe einer Reihe datengestützter Berechnungen einen Rückschluss. Dies ist vergleichbar mit der Annahme, dass Ihr Freund nicht zuhause ist, wenn kein Licht brennt.

Mehr über KI-Inferenz erfahren

LLMs verwenden Mathematik für Schlussfolgerungen

Beim Training lernt ein LLM durch mathematische Berechnungen. Wenn ein LLM eine Antwort (Inferenz) generiert, werden dabei mehrere Wahrscheinlichkeitsberechnungen (mehr Mathematik) durchgeführt.

Damit ein LLM Ihre Anfrage verstehen kann, muss das Modell den Zusammenhang zwischen Wörtern erkennen und wissen, wie man Assoziationen zwischen Wörtern herstellt. Statt wie Menschen über Semantik und Argumentation mittels Worten zu lernen, „argumentieren“ LLMs mit … richtig, mit Mathematik.

Wenn ein LLM auf Millionen von Nutzeranfragen reagiert, führt es eine Menge Berechnungen durch. Die gleichzeitige Durchführung dieser Berechnungen im Live-Betrieb einer Anwendung kann eine Herausforderung darstellen. Dies liegt daran, dass die mit dem Ausführen eines LLM verbundene Rechenleistung (traditionell) schnell eine beträchtliche Speichermenge beanspruchen kann.

Durch Upgrades der vLLM-Architektur lässt sich im Hinblick auf Faktoren wie Speicher und Geschwindigkeit die Effizienz von Ressourcen verbessern.

Wie sieht KI im Unternehmen aus? 

Red Hat AI

In der bahnbrechenden Studie „Efficient Memory Management for Large Language Model Serving with PagedAttention“ wurde nachgewiesen, dass die bestehenden LLM-Speichermanagementsysteme Berechnungen nicht auf die effizienteste Weise durchführen. PagedAttention ist ein von vLLM eingeführtes Speicherverwaltungsverfahren, das sich an virtuellen Speicher- und Paging-Systemen in Betriebssystemen orientiert.

Diese Studie zeigt, wie der Key Value Cache oder KV-Cache (Kurzzeitspeicher eines LLM) während des Durchsatzes schrumpft und wächst, und bietet vLLM als Lösung für ein stabileres Management von Speicherplatz und Rechenleistung.

Im Wesentlichen funktioniert vLLM als Anweisungssatz, der den KV-Cache durch kontinuierliches Batching von Nutzerantworten veranlasst, Shortcuts zu erstellen.

Bevor wir fortfahren, sollten wir kurz definieren, was KV-Cache und kontinuierliches Batching sind.

Was ist ein KV-Cache?

KV steht für „Key Value“ (Schlüsselwert). Der Begriff „Schlüsselwert“ bezieht sich auf die Art und Weise, wie ein LLM eine Bedeutung für ein Wort oder einen Satz formuliert. Angenommen, Sie verarbeiten den Schlüsselwert für einen Artikel auf einer Speisekarte: Pommes frites (Schlüssel) wird beispielsweise mit 3,99 Euro berechnet (Wert). Wenn also eine Kassenkraft eine Bestellung von Pommes frites verbucht, beträgt der berechnete „Wert“ für diesen „Schlüssel“ 3,99 Euro. LLMs verarbeiten KVs auf ähnliche Weise, indem sie den entsprechenden Wert für den jeweiligen Schlüssel (oder das jeweilige Token) in ihrem Cache speichern.

Cache bezeichnet einen Kurzzeitspeicher. Denken Sie an Ihren Computer: Wenn er langsam läuft, wird üblicherweise der Cache geleert, um Platz für eine bessere und schnellere Rechenleistung zu schaffen.

Was ist kontinuierliches Batching?

Kontinuierliches Batching ist eine Technik zur gleichzeitigen Bearbeitung mehrerer Abfragen mit dem Ziel, die Verarbeitungseffizienz insgesamt zu verbessern.

Stellen Sie sich Folgendes vor: Ein Chatbot erhält minütlich Tausende von Abfragen, und viele dieser Abfragen stellen ähnliche Fragen, wie zum Beispiel „Was ist die Hauptstadt von Indien?“ und „Was ist die Hauptstadt von Irland?“ Beide Abfragen enthalten die Worte „Was ist die Hauptstadt von“, also eine Zeichenfolge aus Token (Wörtern), die das LLM mit zahlreichen Berechnungen in eine Bedeutung umwandeln muss.

Mit vLLM kann der Chatbot diese Token-Zeichenfolge („Was ist die Hauptstadt von“) in einem Kurzzeitspeicher (KV-Cache) speichern und eine einzige „Übersetzungsanfrage“ anstelle von 2 separaten Anfragen senden.

Mit anderen Worten: Anstatt eine völlig neue Antwort zu generieren, ermöglichen vLLMs dem KV-Cache, die Antwort zu speichern und Shortcuts für neue Abfragen zu erstellen, die den zuvor durchgeführten Berechnungen ähneln. Die Batch-Verarbeitung von Berechnungen ähnlicher Abfragen (anstelle der Einzelberechnung) verbessert den Durchsatz und optimiert die Speicherzuweisung. 

Bei größeren Batches und Langtext-Kontextaufgaben kann vLLM außerdem den Arbeitsspeicher optimieren und die Token-Kapazität erweitern.

Mit vLLM können Unternehmen auf einem Markt, auf dem die Hardware, die für LLM-basierte Anwendungen benötigt wird, einen hohen Preis hat, mit weniger mehr erreichen.

Die Entwicklung kosteneffizienter und zuverlässiger LLM-Services erfordert eine erhebliche Rechenleistung, umfangreiche Energieressourcen und spezielle operative Kompetenzen. Angesichts dieser Herausforderungen sind die Vorteile einer kundengerechten, einsatzfähigen und sicherheitsorientierten KI für viele Unternehmen unerreichbar.

vLLM und PagedAttention, der zugehörige Algorithmus, zielen darauf ab, diese Problematik durch effizientere Nutzung der für KI-Workloads erforderlichen Hardware zu bewältigen.

Vorteile von vLLM

Die Verwendung von vLLM als Inferenzserver für LLMs bietet unter anderem folgende Vorteile:

Schnellere Reaktionszeit: Einigen Berechnungen zufolge erreicht vLLM einen bis zu 24-mal höheren Durchsatz (wie viele Daten ein LLM verarbeiten kann) im Vergleich zu Hugging Face Transformers, einer gängigen Open Source Library für das Arbeiten mit LLMs.

Niedrigere Hardwarekosten: Eine effizientere Nutzung der Ressourcen bedeutet, dass weniger GPUs für die Verarbeitung von LLMs benötigt werden.

Skalierbarkeit: vLLMs organisieren den virtuellen Speicher so, dass die GPU mehr gleichzeitige Anfragen von Nutzenden bearbeiten kann.

Datenschutz: Wenn Sie ein LLM mit vLLM selbst hosten, haben Sie mehr Kontrolle über den Datenschutz und die Nutzung im Vergleich zur Nutzung von LLM-Services oder -Anwendungen eines Drittanbieters wie ChatGPT.

Open Source-Innovation: Die Beteiligung der Community an der Verwaltung und Weiterentwicklung von vLLM ermöglicht eine kontinuierliche Code-Optimierung. Aufgrund der Nachvollziehbarkeit, wie Nutzende auf den Code zugreifen und ihn ändern können, können Entwicklungsteams vLLM entsprechend ihren Anforderungen einsetzen. 

Deployment von Llama mit vLLM

PagedAttention ist der wichtigste Algorithmus, der aus vLLM hervorgegangen ist. PagedAttention ist jedoch nicht die einzige Funktion, die vLLM bieten. Zu den zusätzlichen Performance-Optimierungen, die vLLM bieten kann, gehören:

  • PyTorch Compile/CUDA Graph – zum Optimieren von GPU-Speicher
  • Quantisierung – zum Verringern des für die Modellausführung erforderlichen Speicherplatzes
  • Tensor-Parallelität – zum Aufteilen der Verarbeitung auf mehrere GPUs
  • Spekulatives Decoding – zum Beschleunigen der Textgenerierung durch Verwenden eines kleineren Modells zur Token-Prädiktion und eines größeren Modells zum Validieren dieser Prädiktion
  • Flash Attention – zum Verbessern der Effizienz von Transformer-Modellen

Neben den Optimierungsmöglichkeiten von vLLM trägt auch die Flexibilität des Modells zu seiner wachsenden Bedeutung bei. vLLM arbeitet mit Small und Large Language Models und lässt sich in die gängigen Modelle und Frameworks integrieren. Dazu ermöglicht der Open Source-Charakter von vLLM Codetransparenz, Anpassungen und schnellere Fehlerbehebungen. 

LoRA und QLoRA sind ressourceneffiziente Methoden zum Fine Tuning, mit denen Nutzende ihre Zeit und Rechenressourcen optimieren können.

So unterstützt vLLM Inferenz für die Open Source Community

Red Hat® AI nutzt Open Source-Innovationen, um den Herausforderungen einer umfassenden Unternehmens-KI zu begegnen. Dabei stellt vLLM ein wichtiges Tool in unserem Toolkit dar.

Mit Red Hat AI erhalten Sie Zugang zu Red Hat® AI Inference Server, einer Lösung, mit der Sie die Modellinferenz in der Hybrid Cloud optimieren und so schnellere, kostengünstigere Deployments erzielen können. Der auf vLLM basierende Inferenzserver maximiert die GPU-Auslastung und ermöglicht schnellere Antwortzeiten.

Mehr über Red Hat AI Inference Server erfahren

Red Hat AI Inference Server enthält das Red Hat AI Repository, eine Sammlung validierter und optimierter Modelle von Drittanbietern, die Modellflexibilität bietet und die teamübergreifende Konsistenz fördert. Durch Zugriff auf das Modell-Repository von Drittanbietern können Unternehmen die Markteinführungszeiten verkürzen und die finanziellen Hürden für den KI-Erfolg senken.   

Zu unserem Repository auf Hugging Face

Mehr über validierte Modelle von Red Hat AI erfahren

Red Hat AI basiert auf Open Source-Technologien und Partnernetzwerken, die den Fokus auf Performance, Stabilität und GPU-Unterstützung für verschiedene Infrastrukturen legen.

Zu unserem Partnernetzwerk

Red Hat AI

Red Hat AI bietet flexible, kostengünstige Lösungen zur Beschleunigung von Entwicklung und Deployment von KI-Lösungen in Hybrid Cloud-Umgebungen.

Weiterlesen

Was ist generative KI? Künstliche Intelligenz im Einsatz

Entdecken Sie die Vorteile und Potenziale generativer KI für Ihr Unternehmen. Erfahren Sie mehr über die Funktionsweise von gen KI und Deep Learning (DL).

Was ist Machine Learning (ML)? Maschinelles Lernen und KI

Erfahren Sie, was Machine Learning (ML) ist, wie es Daten nutzt, um Muster zu erkennen und Vorhersagen zu treffen und welche Rolle es in der modernen KI spielt.

Was sind Large Language Models? Große Sprachmodelle für KI

Erfahren Sie, was ein Large Language Model (LLM) ist, wie es funktioniert, wofür es eingesetzt wird und welche Rolle es in modernen KI-Anwendungen spielt.

Ressourcen zu KI/ML

Ausgewähltes Produkt

  • Red Hat OpenShift AI

    Eine KI-Plattform (künstliche Intelligenz) mit Tools zum schnellen Entwickeln, Trainieren, Bereitstellen und Monitoring von Modellen und KI-gestützten Anwendungen.

Verwandte Artikel