>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Python

Snelle inferentie instellen voor spraak- en multimodale modellen met SGLang-Omni

Iedereen die heeft geprobeerd moderne spraak- of multimodale modellen in productie te deployen kent deze pijn. Text-LLMs serveren is al goed begrepen: je pakt vLLM of SGLang, configureert batching, en je bent klaar. Maar zodra audio de pipeline binnenkomt, valt alles uit elkaar.

Een spraakmodel is niet zomaar één transformer. Eerst komt de audio-encoder, dan een autoregressief blok (de "thinker"), gevolgd door een spraakgeneratiemodule (talker), en aan de output zit ook een vocoder die ruwe audio-tokens omzet naar schone 48 kHz. Elke fase heeft zijn eigen workloadprofiel, geheugenvereisten en latentie-eisen. Dit in een standaard text-inference-engine proppen is een zekere manier om helse vertragingen en instabiele audio-generatie-FPS te krijgen.

Het SGLang-team heeft een gespecialiseerde oplossing voor deze taak uitgebracht — SGLang-Omni.

Wat is SGLang-Omni

Dit is een runtime voor meerfasige inferentie van omni-, spraak- en TTS-modellen. Het project pakt het meest pijnlijke deel aan: het beheren van de complexe rekenpipeline, het overdragen van data tussen fasen, en het blootleggen van een kant-en-klare API die compatibel is met de OpenAI-specificatie.

Het hoofdkenmerk ligt in het concept van de meerfasige runtime. In plaats van te proberen de hele pipeline in één monolithisch proces te proppen, scheidt SGLang-Omni generatie in geïsoleerde fasen:

  • preprocessing van de inkomende stream;
  • encoder-verwerking;
  • autoregressieve engine gebaseerd op de SGLang-kernel;
  • decoders en vocoders die de uiteindelijke audio assembleren;
  • resultaat-aggregators.

Elke stap wordt bediend door zijn eigen scheduler. Tekstgeneratie of control-token-generatie draait bijvoorbeeld op SGLang's geoptimaliseerde scheduler met KV-cache-ondersteuning, terwijl de vocoder werkt in een lichtgewicht streaming loop die audio-chunks direct aan de client levert.

Dataoverdracht Zonder Onnodige Overhead

Wanneer een model verdeeld is over meerdere componenten, wordt tensoroverdracht tussen GPU's of processen vaak de bottleneck. Als je intermediaire data via regulier CPU-RAM routeert, wordt de latentie voor realtime dialoog onacceptabel.

In SGLang-Omni is de transportlaag gescheiden. Het control plane synchroniseert requests, terwijl het data plane overdraagt via geoptimaliseerde backends: shared memory voor lokale processen, NCCL, NIXL en Mooncake voor gedistribueerde operatie. Dit houdt inter-stage overhead tot een minimum.

Welke Modellen Worden Out-of-the-Box Ondersteund

Het aantal beschikbare modellen is indrukwekkend, vooral omdat de repository actief wordt ontwikkeld. Het bevat al kant-en-klare recepten (cookbooks) voor populaire architecturen:

  1. Omni-chat: Qwen3-Omni en Ming-Omni. Accepteren multimodale input (tekst, audio), output tekst of streamende spraak.
  2. Spraaksynthese (TTS): Higgs Audio v3, MOSS-TT (inclusief de Local Transformer v1.5-versie met native 48 kHz-audio), Fish Speech S2-Pro, Qwen3-TTS, Voxtral TTS, dots.tts en ZONOS2.
  3. Muziekgeneratie: MiniMax Music 3, in staat om een 32 kHz stereo-track te assembleren uit tekst en stijlbeschrijving.
  4. Spraakherkenning en diarization (ASR): Qwen3-ASR, Fun-ASR, ARK-ASR en MOSS-Transcribe-Diarize, die timestamps en sprekerlabels in verbose_json-formaat kunnen plaatsen.

Dit alles wordt gedeployed met vertrouwde endpoints zoals /v1/audio/speech, /v1/audio/transcriptions en /v1/chat/completions. Als je al een client voor de OpenAI-API hebt geschreven, is overschakelen naar je eigen backend zo eenvoudig mogelijk.

Snelle Start en Launch

Het pakket is beschikbaar op PyPI, het gemakkelijkst te installeren via uv of reguliere pip:

Voor productie heeft het project zijn eigen router (SGLang-Omni Router). Deze handelt worker health/readiness checks af, load balancing over meerdere GPU-nodes, en request-routing op basis van de mogelijkheden van specifieke instances.

Qua hardware blijft NVIDIA CUDA de primaire backend. Maar de ontwikkelaars hebben experimentele Intel GPU (XPU)-ondersteuning toegevoegd via PyTorch XPU. Qwen3-ASR, Qwen3-TTS en Qwen3-Omni (met tensor-parallellisme voor het reasoning-blok) draaien al op Intel Arc-kaarten.

Voor Wie Dit Project Nu Nuttig Is

Als je een spraakassistent, realtime vertaler, call-transcriptieservice met sprekerdiarization of een content-dubbingplatform bouwt, hoef je het wiel niet opnieuw uit te vinden met FastAPI en ruwe scripts.

Het project is nog jong, met enkele honderden open issues in de repository, en de documentatie verwijst soms naar broncode. Maar het heeft een sterk LMSYS-team en het SGLang-ecosysteem achter zich, dus de architectuur is solide. Het is zeker de moeite waard om te proberen, vooral als je minimale time-to-first-audio-token nodig hebt in streamende dialogen.

Gerelateerde projecten