Glossar · Modelle und Inferenz
Wissensstufe: FortgeschrittenSGLang
SGLang ist ein Open-Source-Framework, das Sprachmodelle als Dienst bereitstellt: Es lädt das Modell, verwaltet Anfragen und bietet eine OpenAI-kompatible API.
Auch: Serving Engine, OpenAI-kompatible API
Einfach erklärt
Ein Sprachmodell ist wie ein Expertenteam ohne Telefonzentrale. SGLang ist diese Zentrale: Sie nimmt Anfragen entgegen, verteilt die Arbeit und stellt die Antworten zu.
Was technisch passiert
SGLang beschreibt sich als Serving-Framework für große Sprach- und multimodale Modelle. Beim Start lädt es die Modellgewichte auf eine oder mehrere GPUs und öffnet einen HTTP-Server. Anwendungen schicken ihre Anfragen im Format der OpenAI-API, zum Beispiel an /v1/chat/completions, und können dafür vorhandene Client-Bibliotheken unverändert nutzen.
Dahinter laufen die Aufgaben, die über die Geschwindigkeit entscheiden. Gleichzeitig eintreffende Anfragen werden fortlaufend zu Batches gebündelt, damit die GPU ausgelastet bleibt. Der KV-Cache, also die gespeicherten Zwischenergebnisse bereits verarbeiteter Tokens, wird verwaltet und mit einem Verfahren namens RadixAttention zwischen Anfragen wiederverwendet, die mit demselben Text beginnen – etwa mit einem identischen Systemprompt oder demselben Dokument. Das zugehörige Forschungspaper von 2023 beschreibt diese Wiederverwendung als zentrale Optimierung.
Braucht ein Modell mehr Speicher, als eine GPU hat, verteilt SGLang die Gewichte per Tensor Parallelism, wahlweise auch auf mehrere Rechner. Die beteiligten Maschinen werden dafür beim Start über Knotenzahl, Rang und eine gemeinsame Adresse miteinander bekannt gemacht.
In der Praxis
Im Forschungsverbund von AI SolutionX ist SGLang die Schicht zwischen den vier DGX Spark und allem, was darauf zugreift. Es verteilt ein einzelnes Modell mit TP = 4 auf die Knoten und zeigt sich nach außen als ein OpenAI-kompatibler Endpunkt im eigenen Netz. Mitarbeitende nutzen Open WebUI als Oberfläche, eigene Anwendungen und mehrstufige Agentenketten sprechen denselben Endpunkt direkt an. Für schnelle Einzelmodelle auf einem Gerät kommen je nach Aufgabe auch Ollama oder vLLM in Betracht. Weil die Schnittstelle standardisiert ist, lässt sich die Serving-Schicht wechseln, ohne die Anwendungen umzuschreiben.
Wann ist das sinnvoll?
- Wenn ein Modell mehreren Anwendungen oder vielen Nutzern gleichzeitig zur Verfügung stehen soll.
- Wenn Anfragen häufig denselben Anfang teilen, etwa lange Systemprompts oder wiederkehrende Dokumente.
- Wenn ein Modell auf mehrere GPUs oder Rechner verteilt werden muss.
- Für eine einzelne Person mit einem kleinen Modell genügt oft ein einfacheres Werkzeug.
Nicht verwechseln mit
- Das Sprachmodell selbst
- SGLang bringt kein eigenes Modell mit, sondern führt Modelle aus, deren Gewichte separat geladen werden. Welches Modell antwortet, ist eine eigene Entscheidung und lässt sich austauschen.
- Chat-Oberfläche wie Open WebUI
- Open WebUI ist die Oberfläche, in der Menschen Fragen eingeben. Sie ruft im Hintergrund einen Endpunkt auf, den eine Serving-Schicht wie SGLang bereitstellt; die eine ersetzt die andere nicht.
- OpenAI als Anbieter
- OpenAI-kompatibel beschreibt nur das Format der Schnittstelle. Es fließen dabei keine Daten zu OpenAI, die Anfragen bleiben beim eigenen Server.
Quellen
- SGLang Documentation · abgerufen am
- SGLang Documentation: OpenAI-Compatible APIs · abgerufen am
- Zheng et al. (2023): SGLang: Efficient Execution of Structured Language Model Programs · abgerufen am
- Open WebUI Documentation · abgerufen am
Fachlich geprüft am · Alle Begriffe im Glossar