Was ist vLLM?

URL kopieren

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

vLLM umfasst sowohl einen Inferenzserver (für die Verwaltung des Netzwerkverkehrs) als auch eine Inferenz-Engine (zur Maximierung der Rechengeschwindigkeit). Der PagedAttention-Algorithmus von vLLM sorgt für eine bessere Nutzung des GPU-Speichers und beschleunigt dadurch die Ausgabe generativer KI-Anwendungen

Das allgemeine Ziel von vLLM ist, den Durchsatz (verarbeitete Tokens pro Sekunde) zu maximieren und so viele Nutzende gleichzeitig zu bedienen. 

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.

vLLM Office Hours: Das Neueste in Sachen Entwicklung

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. Genauso, wie Sie in unserem Beispiel damit rechnen, 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.

Was ist Models as a Service?

Mit vLLM können Unternehmen auf einem Markt, auf dem die für LLM-basierte Anwendungen benötigte Hardware teuer ist, 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. Unternehmen, die mit besonders großen LLMs mit mehreren Milliarden Parametern arbeiten, können mithilfe von vLLM die Effizienz aufrechterhalten. Insbesondere zusammen mit Techniken wie verteilte Inferenz kann der Einsatz von vLLM dazu beitragen, vorhandene Hardware optimal zu nutzen und Kosten zu senken. 

Skalierbarkeit: vLLMs organisieren den virtuellen Speicher so, dass die GPU mehr gleichzeitige Anfragen von Nutzenden bearbeiten kann. Dies ist besonders wichtig für agentische KI-Anwendungen, die viele Anfragen gleichzeitig verarbeiten müssen, um eine einzelne, aus mehreren Schritten bestehende Aufgabe abzuschließen.

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. 

Mehr zum 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 sowohl mit Small als auch mit 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. 

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

vLLM und llm-d 

llm-d ist ein Open Source-Framework, das die Leistungsfähigkeit von vLLM integriert und darauf aufbaut. Es ist eine Art Anleitung zur Durchführung verteilter Inferenzen und wurde entwickelt, um den steigenden Ressourcenbedarf von LLMs zu unterstützen. 

Sie können sich das so vorstellen: vLLM unterstützt die Geschwindigkeit und llm-d die Koordination. vLLM und llm-d arbeiten zusammen, um den Datenverkehr auf intelligente Weise durch das Modell zu leiten und so für eine möglichst schnelle und effiziente Verarbeitung zu sorgen. 

Mehr über llm-d erfahren

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 Zugriff auf Red Hat® AI Inference Server, mit dem Sie die Modellinferenz in der gesamten Hybrid Cloud optimieren und so schnellere und kosteneffiziente Deployments erzielen können. Der auf vLLM basierende Inferenzserver maximiert die GPU-Nutzung und ermöglicht schnellere Reaktionszeiten.

Mehr über Red Hat AI Inference Server erfahren

Red Hat AI Inference Server umfasst das Repository von Red Hat AI, eine Kollektion validierter und optimierter Drittanbietermodelle, die mehr Modellflexibilität und teamübergreifende Konsistenz bieten kann. Durch den Zugriff auf das Repository von Drittanbietermodellen können Unternehmen die Markteinführungszeit verkürzen und finanzielle Hindernisse für eine erfolgreiche KI-Implementierung abbauen.   

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

Ressource

Erste Schritte mit KI für Unternehmen: Ein Guide für den Einsatz

In diesem Guide für den Einstieg erfahren Sie, wie Red Hat OpenShift AI und Red Hat Enterprise Linux AI die KI-Einführung beschleunigen können.

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 sind Granite-Modelle? Large Language Models für KI

Granite sind LLMs von IBM für Unternehmensanwendungen. Granite-Modelle unterstützen Use Cases für gen KI, die Sprache und Code enthalten. Einsatz und Vorteile

Was ist verteilte Inferenz?

Verteilte Inferenz sorgt dafür, dass KI-Modelle Workloads effizienter verarbeiten können, indem die Inferenzarbeit innerhalb einer Gruppe miteinander verbundener Geräte verteilt wird.

Was ist MCP (Model Context Protocol)?

Erfahren Sie, wie Sie mit MCP (Model Context Protocol) KI-Anwendungen mit externen Datenquellen verbinden und so intelligentere Workflows entwickeln können.

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