Der praktische Leitfaden zum Self-Hosting von Compound-LLM-Systemen
Im Rahmen der SF #TechWeek zog Zilliz’ monatliches „Unstructured Data Meetup“ über 800 Entwickler, Gründer und VCs an, um die neuesten Entwicklungen im KI-Ökosystem zu diskutieren. Der zweite Vortrag, gehalten von Chaoyu Yang (Gründer/CEO von BentoML), gab umsetzbare Ratschläge für diejenigen, die die Kontrolle und Anpassbarkeit des Self-Hostings von Large Language Models (LLMs) bevorzugen und dabei versuchen, die Performance eines einfachen Aufrufs einer verwalteten API zu erreichen. BentoML teilt seine Forschungserkenntnisse zur KI-Orchestrierung und demonstriert Lösungen, die es zur Optimierung häufiger Performance-Probleme beim Self-Hosting von Modellen entwickelt hat.
In diesem Beitrag fassen wir die wichtigsten Punkte von Chaoyus Vortrag zusammen und besprechen zentrale Herausforderungen, Überlegungen und Praktiken für das Self-Hosting Ihrer LLMs. Außerdem untersuchen wir, wie sich BentoML und Milvus integrieren lassen, um leistungsfähigere GenAI-Anwendungen zu entwickeln.
Der LLM-Doom-Stack
Als jemand, der noch ziemlich neu im Bereich KI ist, fand ich es am einfachsten, BentoML und Milvus im Kontext des modernen LLM-Stacks zu verstehen. In keiner bestimmten Reihenfolge – einfach weil es cool klingt – erkunden wir, was ich den „LLM DOOM Stack“ nenne.
Daten: Vorbereiten, Speichern und Verarbeiten groß angelegter Datensätze für hochwertiges Training und Inferenz. Zu diesen Technologien gehören Datenpipelines, Embedding-Modelle und Vektordatenbanken (wie Zilliz/Milvus, woo!)
Operations: Überwachung, Skalierung sowie Aufrechterhaltung der Gesundheit und Performance bereitgestellter Modelle. Echtzeit-Observability für aktives Debugging zur Aufrechterhaltung der Zuverlässigkeit.
Orchestrierung: Bereitstellung und Skalierung von Modellen über Infrastruktur hinweg, Verwaltung des Flusses zwischen LLMs, externen Systemen und Nutzern. (Hier spielt BentoML eine Schlüsselrolle.)
KI-Modelle: Das Herzstück von LLM-Apps – Training, Fine-Tuning und Optimierung von Modellen für bestimmte Aufgaben, egal ob APIs, Open-Source- oder vortrainierte Modelle verwendet werden.
Figure- The LLM Doom Stack.png
Abbildung: Der LLM-Doom-Stack (angepasst von diesem Bild.)
Jedes KI-Infrastruktur-Startup passt in dieses DOOM-Framework. Milvus und sein verwalteter Cloud-Dienst, Zilliz Cloud, sind Vektordatenbanken, die darauf ausgelegt sind, unstrukturierte Daten in numerischen Darstellungen, sogenannten Vektor-Embeddings, in einem hochdimensionalen Raum zu speichern, zu indexieren und abzurufen. Sie sind grundlegende Komponenten verschiedener LLM-gestützter Systeme, insbesondere Retrieval-Augmented Generation (RAG). BentoML bietet betriebliche Optimierungen für die aktuellen LLM-Workflows. Indem BentoML Konzepte übernimmt, die sich bei Betriebssystemen bewährt haben, und sie mit datenbasierter Forschung kombiniert, hat es nachweislich eine überlegene Performance beim Erstellen und Bereitstellen von LLMs ermöglicht – und sein Gründer Chaoyu hat in diesem Vortrag seine Geheimnisse geteilt.
Das LLM-Dilemma: Self-Host oder einfach die API aufrufen?
Eine der kritischsten Entscheidungen bei der Bereitstellung von LLMs ist, ob man selbst hostet oder sich auf verwaltete APIs verlässt. Beide Optionen bringen ihre eigenen Trade-offs mit sich, weshalb es entscheidend ist, Komfort gegen Kontrolle abzuwägen. Verwaltete APIs sind aufgrund ihrer einfachen Nutzung, des geringeren Wartungsaufwands und der schnellen Skalierbarkeit attraktiv, während Self-Hosting volle Kontrolle und Flexibilität bietet und tiefere Anpassungen ermöglicht. Letztendlich läuft die Entscheidung für die meisten Teams darauf hinaus, kurzfristige Bereitstellungsgeschwindigkeit mit langfristigen Skalierbarkeits- und Performance-Zielen in Einklang zu bringen.
Abbildung – Vorteile und Herausforderungen des Selbst-Hostings von LLMs.png
Abbildung: Vorteile und Herausforderungen des Selbst-Hostings von LLMs
Wer sollte LLMs selbst hosten?
Chaoyu begann seinen Vortrag mit einer kurzen Umfrage zu verwalteten vs. selbst gehosteten LLMs. Die meisten Teilnehmenden hoben die Hand für verwaltete APIs, und das ist verständlich—Die Infrastruktur aufzubauen, zu skalieren und zu warten, während man gleichzeitig die eigene Anwendung entwickelt, ist keine leichte Aufgabe.
Chaoyu hob hervor, dass verwaltete Dienste zwar bequem sind, aber oft den Durchsatz gegenüber der Optimierung für spezifische Anwendungsfälle priorisieren. Selbst-Hosting hingegen ermöglicht benutzerdefiniertes Fine-Tuning von Modellen, fortgeschrittene Inferenzstrategien sowie vorhersehbare Qualität und Latenz.
Selbst-Hosting ist jedoch nicht für jeden die richtige Wahl. Wer genau sollte also in Betracht ziehen, LLMs selbst zu hosten? Hier sind die wichtigsten Gründe, diesen Ansatz zu prüfen:
Abbildung – Wer sollte LLMs selbst hosten? .png
Abbildung: Wer sollte LLMs selbst hosten?
Kontrolle: Selbst-Hosting ermöglicht es Ihnen, LLMs nach Ihren eigenen Bedingungen zu betreiben und dabei Datensicherheit, Datenschutzvorschriften und spezifische organisatorische Anforderungen einzuhalten. Dies gilt insbesondere für Branchen mit strengen Datenschutzanforderungen, in denen sensible Daten Ihre Infrastruktur nicht verlassen dürfen.
Anpassung: Mit Selbst-Hosting können Sie Modelle feinabstimmen und Inferenzstrategien für Ihren spezifischen Anwendungsfall optimieren, wodurch Sie eine bessere Leistung, Geschwindigkeit und Genauigkeit erreichen können, als verwaltete APIs bieten können. Außerdem gewinnen Sie die Flexibilität, mit fortgeschrittenen Inferenztechniken wie Chain of Thought (CoT)-Decoding oder Equilibrium Search zu experimentieren, die nur mit vollständiger Kontrolle über die Inferenzschicht möglich sind.
Langfristige Kostenvorteile: Obwohl Selbst-Hosting in Bezug auf Infrastruktur und Wartung höhere Anfangskosten verursachen kann, kann es langfristige Kosteneinsparungen bieten. Sie können die Kosten im Laufe der Zeit optimieren und skalieren, indem Sie Open-Source-Plattformen wie BentoML und OpenLLM nutzen, ohne an Preismodelle von Anbietern gebunden zu sein.
Wichtige Herausforderungen und Optimierungen für das Selbst-Hosting von LLMs
Das Selbst-Hosting von LLMs bietet mehr Kontrolle, bringt jedoch eine Reihe technischer Herausforderungen mit sich, insbesondere in Bezug auf Skalierung, Inferenzoptimierung und das Cold-Start-Problem. BentoML bietet eine Reihe von Lösungen, um diese Probleme anzugehen und Teams die effiziente Optimierung ihrer Deployments zu ermöglichen. Chaoyu teilte die wichtigsten Ansätze, die sie zur Bewältigung solcher Herausforderungen eingesetzt haben.
Inferenzoptimierung
Beim Selbst-Hosting von LLMs ist die Optimierung der Inferenz entscheidend, um die Leistung zu verbessern und Kosten zu senken. Chaoyu hob mehrere wichtige Techniken hervor:
Abbildung – LLM-Inferenzoptimierung – Die Table Stacks.png
Abbildung: LLM-Inferenzoptimierung: Die Table Stacks
Batching von Anfragen
Als eine der wirkungsvollsten Strategien kann das Batching von Anfragen den Durchsatz um bis zu das 23-Fache erhöhen. Durch die parallele statt sequenzielle Verarbeitung mehrerer Anfragen können Sie die Auslastung von GPU-Ressourcen maximieren, Leerlaufzeiten reduzieren und die Effizienz verbessern, insbesondere bei Anwendungen mit hohem Traffic.
Token-Streaming
Eine weitere wesentliche Optimierung ist Token-Streaming, bei dem Tokens schrittweise zurückgegeben werden, während sie generiert werden. Dieser Ansatz verbessert die wahrgenommene Latenz erheblich, insbesondere in Echtzeitanwendungen wie Chatbots, bei denen schnellere Antwortzeiten die Benutzererfahrung verbessern.
Quantisierung
Zusätzlich senkt die Quantisierung den Speicherverbrauch und die Inferenzlatenz, indem sie die Modellpräzision reduziert (z. B. von 32-Bit auf 8-Bit). Auch wenn dieser Ansatz bei bestimmten Aufgaben zu einer leichten Verringerung der Ausgabequalität führen kann, lohnt sich der Kompromiss aufgrund der Leistungsgewinne.
Kernel-Optimierungen
Die Optimierung auf Kernel-Ebene ermöglicht Low-Level-GPU-Optimierungen, die auf LLM-Workloads zugeschnitten sind, und stellt sicher, dass Rechenaufgaben so effizient wie möglich verarbeitet werden. Diese Optimierungen können jedoch die Portabilität über verschiedene Hardwareplattformen hinweg verringern.
Modellparallelismus
Bei extrem großen Modellen (70B+ Parameter) ermöglicht die Verteilung der Arbeitslast auf mehrere GPUs eine effizientere Inferenz. Dies verbessert zwar den Durchsatz, führt jedoch zu einem gewissen Kommunikations-Overhead zwischen GPUs.
Skalierung der LLM-Inferenz: Concurrency-basiertes Autoscaling
Eine häufige Herausforderung in selbst gehosteten Umgebungen ist die Verwaltung der Skalierung. Traditionelle Skalierungsmetriken wie CPU/GPU-Auslastung und Abfragen pro Sekunde (QPS) sind für LLMs unzureichend, da diese je nach Eingabekomplexität variable Ressourcenanforderungen haben.
Chaoyu erklärte, dass Concurrency-basiertes Scaling ein effektiverer Ansatz ist. Diese Methode überwacht die Anzahl gleichzeitiger Anfragen, um die Systemlast zu bestimmen, und passt Ressourcen dynamisch auf Grundlage der Batch-Größe an. Diese Methode stellt sicher, dass das System genau dann skaliert, wenn es erforderlich ist, wodurch Überprovisionierung verhindert und Kosten gesenkt werden, während bei Traffic-Spitzen eine hohe Leistung aufrechterhalten wird.
Prefix Caching für Kosteneinsparungen
Eine der effektivsten Möglichkeiten, Kosten zu senken und die Leistung in Self-Hosting-Umgebungen zu verbessern, ist Prefix Caching, das zu 90%+ Kosteneinsparungen führen kann. Diese Strategie funktioniert, indem die gemeinsamen Teile von Prompts, wie Systemanweisungen oder statische Inhalte, zwischengespeichert werden, um redundante Berechnungen zu vermeiden.
Indem statische Informationen am Anfang von Anfragen vorangestellt werden, erhöhen Sie die Wahrscheinlichkeit von Cache Hits und reduzieren die Rechenlast für nachfolgende Anfragen mit ähnlichen Strukturen. Dies ist besonders nützlich für Anwendungen, die häufige, wiederholte Abfragen verarbeiten, bei denen der Großteil des Prompts gleich bleibt. Prefix Caching senkt die Latenz und verringert die Ressourcennutzung, wodurch Leistung und Kosten für die LLM-Inferenz erheblich optimiert werden.
Das Cold-Start-Problem
Eine weitere große Herausforderung beim Self-Hosting ist das Cold-Start-Problem – die Verzögerung, wenn neue Instanzen Zeit benötigen, um für die Verarbeitung von Traffic bereit zu sein. Chaoyu erörterte zwei zentrale Strategien zur Bewältigung dieses Problems.
Eine Lösung besteht darin, vorgewärmte Modelle in Bereitschaft zu halten. Dadurch wird sichergestellt, dass Modelle sofort bereit sind, Anfragen zu verarbeiten, wenn ein Anstieg auftritt, wodurch Startverzögerungen minimiert werden.
Eine weitere entscheidende Optimierung ist das Verschlanken von Container-Images. Durch die Reduzierung unnötiger Abhängigkeiten können Sie die Zeit, die zum Abrufen von Images beim dynamischen Skalieren von Services erforderlich ist, drastisch verringern. Beispielsweise wird ein 154MB-Image viel schneller geladen als ein umfangreiches 6.7GB-Image, wodurch die Startzeit deutlich reduziert wird.
Zusätzlich reduziert das Streaming von Modellgewichten schrittweise in den GPU-Speicher, anstatt sie sequenziell zu laden, die Initialisierungszeit weiter. Dadurch wird sichergestellt, dass Ihr System plötzliche Traffic-Spitzen ohne lange Startverzögerungen bewältigen kann, was die Gesamtreaktionsfähigkeit Ihrer selbst gehosteten Modelle verbessert.
Integration von BentoML und Milvus für leistungsfähigere LLM-Anwendungen
BentoML optimiert Online-Serving-Systeme für KI-Anwendungen und Modellinferenz. Sein Managed Service, BentoCloud, bietet eine Reihe modernster Open-Source-KI-Modelle, darunter Llama 3, Stable Diffusion, CLIP und Sentence Transformers. Diese vorgefertigten Modelle können mit einem einzigen Klick auf der Plattform bereitgestellt werden.
Milvus ist eine Open-Source-Vektordatenbank, die zum Speichern, Indexieren und Durchsuchen von unstrukturierten Daten im Milliardenmaßstab mithilfe hochdimensionaler Vektoreinbettungen entwickelt wurde. Sie ist ideal für moderne KI-Anwendungen wie RAG, semantische Suche, multimodale Suche und Empfehlungssysteme.
BentoCloud lässt sich nahtlos in Milvus und dessen verwalteten Dienst Zilliz Cloud integrieren und ermöglicht so die einfache Entwicklung leistungsstarker LLM-gestützter Anwendungen, insbesondere Retrieval Augmented Generation (RAG). RAG ist eine Technik zur Verbesserung der LLM-Ausgabe, indem dem Modell externes Wissen bereitgestellt wird, auf das es zuvor keinen Zugriff hatte.
Sie können BentoCloud verwenden, um Embedding-Modelle bereitzustellen und unstrukturierte Daten in Vektoreinbettungen umzuwandeln, die anschließend in Milvus (oder Zilliz Cloud) gespeichert und abgerufen werden können. Milus ruft dann die relevantesten Ergebnisse ab und stellt sie dem LLM als Kontext zur Verfügung, um genauere Ergebnisse zu generieren.
Figure- RAG workflow.png
Weitere Informationen dazu, wie Sie RAG oder andere Arten von GenAI-APPs erstellen, finden Sie in den folgenden Tutorials und Blogs:
Tutorial: Retrieval-Augmented Generation (RAG) with Milvus and BentoML | Milvus Documentation
Blog | Infrastructure Challenges in Scaling RAG with Custom AI Models
Video | RAG as a service with BentoML
Zusammenfassung
Die Bereitstellung von LLMs bringt wichtige Entscheidungen und Herausforderungen mit sich, von der Wahl zwischen Self-Hosting und verwalteten APIs bis hin zur Optimierung von Leistung und Skalierung. Während verwaltete APIs Komfort und Einfachheit bieten, ermöglicht Self-Hosting Teams, die individuelle Lösungen benötigen, mehr Kontrolle, Flexibilität und langfristige Kosteneffizienz. Die Plattform von BentoML adressiert viele der Komplexitäten des Self-Hostings und bietet leistungsstarke Tools zur Optimierung der Inferenz, zur effizienten Skalierung und zur Überwindung technischer Hürden wie des Cold-Start-Problems.
Durch die Nutzung von BentoML, Milvus oder deren verwalteten Diensten können Teams die Daten- und Betriebsebenen ihrer LLM-Anwendungen nahtlos integrieren und leistungsstarke Systeme aufbauen, die ihren spezifischen Anforderungen entsprechen.
Wenn Sie bereit sind, in das Self-Hosting von LLMs einzusteigen und LLM-Anwendungen zu entwickeln, erleichtern Tools wie BentoML, OpenLLM und Milvus den Einstieg und die Optimierung für Ihren individuellen Anwendungsfall.
Schließen Sie sich mit Menschen zusammen, die sich der Optimierung ihrer Ebene des DOOM-Stacks widmen. Stehen Sie auf den Schultern von Giganten, nutzen Sie die Welt wie Archimedes und halten Sie den Schwung aufrecht.
Weiterlesen

Introducing Business Critical Plan: Enterprise-Grade Security and Compliance for Mission-Critical AI Applications
Discover Zilliz Cloud’s Business Critical Plan—offering advanced security, compliance, and uptime for mission-critical AI and vector database workloads.

Similarity Metrics for Vector Search
Exploring five similarity metrics for vector search: L2 or Euclidean distance, cosine distance, inner product, and hamming distance.

Zilliz Cloud BYOC Upgrades: Bring Enterprise-Grade Security, Networking Isolation, and More
Discover how Zilliz Cloud BYOC brings enterprise-grade security, networking isolation, and infrastructure automation to vector database deployments in AWS



