SGLang

Despliega SGLang para servir LLMs de alto rendimiento con RadixAttention en las GPU de Clore.ai

SGLang (Structured Generation Language) es un framework de servicio de LLM de alto rendimiento desarrollado por el equipo LMSYS, conocido por su trabajo en Vicuna y Chatbot Arena. Cuenta con RadixAttention para el uso compartido de la caché KV, soporte eficiente para MoE (Mixture of Experts) y una API compatible con OpenAI, lo que lo convierte en uno de los motores de inferencia de código abierto más rápidos disponibles en los servidores GPU de CLORE.AI.

circle-check

Requisitos del servidor

Parámetro
Mínimo
Recomendado

RAM

16 GB

32 GB+

VRAM

8 GB

24 GB+

Disco

50 GB

200 GB+

GPU

NVIDIA Turing+ (RTX 2000+)

A100, H100, RTX 4090

circle-info

SGLang alcanza su mejor rendimiento en GPUs Ampere+ con FlashInfer habilitado. Para modelos MoE como Mixtral o DeepSeek, se recomiendan configuraciones multi-GPU.

Despliegue rápido en CLORE.AI

Imagen Docker: lmsysorg/sglang:latest

Puertos: 22/tcp, 30000/http

Variables de entorno:

Variable
Ejemplo
Descripción

HF_TOKEN

hf_xxx...

Token de HuggingFace para modelos restringidos

CUDA_VISIBLE_DEVICES

0,1

GPUs a usar

Configuración paso a paso

1. Alquila un servidor GPU en CLORE.AI

Visita CLORE.AI Marketplacearrow-up-right y selecciona un servidor:

  • Modelos 7B: mínimo 16 GB VRAM (RTX 4080, A10)

  • Modelos 13B: 24 GB VRAM (RTX 3090, RTX 4090, A5000)

  • Modelos 70B: 80 GB+ VRAM (A100 80GB) o multi-GPU

  • Modelos MoE (Mixtral 8x7B): 48 GB VRAM o 2× 24 GB

2. Conéctate por SSH a tu servidor

3. Obtener la imagen Docker de SGLang

4. Iniciar el servidor SGLang

Lanzamiento básico (Llama 3.1 8B):

Con token de HuggingFace:

Qwen2.5 72B en multi-GPU:

DeepSeek-V2 (modelo MoE):

5. Verificar la salud del servidor

6. Acceso desde el exterior a través del proxy de CLORE.AI

Tu panel de CLORE.AI proporciona un http_pub URL para el puerto 30000:

Usa esta URL como tu URL base en cualquier cliente compatible con OpenAI.


Ejemplos de uso

Ejemplo 1: Completaciones de chat compatibles con OpenAI

Ejemplo 2: Respuesta por streaming

Ejemplo 3: Cliente OpenAI en Python

Ejemplo 4: Inferencia por lotes con la API nativa de SGLang

La API nativa de SGLang ofrece control adicional:

Ejemplo 5: Salida JSON con restricciones

SGLang soporta generación de salidas estructuradas:


Configuración

Parámetros clave de lanzamiento

Parámetro
Por defecto
Descripción

--model-path

requerido

ID de modelo de HuggingFace o ruta local

--host

127.0.0.1

Host de enlace (usar 0.0.0.0 para externo)

--port

30000

Puerto del servidor

--tp

1

Grado de paralelismo tensorial (número de GPUs)

--dp

1

Grado de paralelismo de datos

--dtype

auto

float16, bfloat16, float32

--mem-fraction-static

0.88

Fracción de VRAM para la caché KV

--max-prefill-tokens

auto

Máx. tokens en un paso de prefill

--context-length

máx. del modelo

Anular la longitud máxima del contexto

--trust-remote-code

false

Permitir código de modelo personalizado

--quantization

ninguna

awq, gptq, fp8

--load-format

auto

auto, pt, safetensors

--tokenizer-path

igual que el modelo

Ruta personalizada del tokenizador

Opciones de cuantización

AWQ (recomendado para velocidad):

FP8 (para H100/A100):


Consejos de rendimiento

1. RadixAttention — La ventaja clave

RadixAttention de SGLang reutiliza automáticamente la caché KV para prefijos de prompt compartidos. Esto es especialmente potente para:

  • Chatbots con prompts del sistema largos

  • Aplicaciones RAG con contexto repetido

  • Llamadas API por lotes que comparten el mismo prefijo

No se necesita configuración adicional: está siempre habilitado.

2. Aumentar el tamaño de la caché KV

Ten cuidado de no subirlo demasiado: deja espacio para los pesos del modelo.

3. Prefill por fragmentos para contextos largos

4. Habilitar el backend FlashInfer

SGLang usa automáticamente FlashInfer cuando está disponible (GPUs Ampere+):

5. Paralelismo tensorial multi-GPU

Para modelos que no caben en una sola GPU:

Cada GPU debe tener suficiente VRAM para una porción del modelo.

6. Ajustar para rendimiento vs latencia

Baja latencia (usuario único):

Alto rendimiento (muchos usuarios):


Solución de problemas

Problema: "torch.cuda.OutOfMemoryError"

Solución: Reduce la fracción de memoria o usa cuantización:

Problema: El servidor no arranca (se queda cargando)

Problema: "trust_remote_code required"

Añade --trust-remote-code al comando de lanzamiento para modelos con arquitecturas personalizadas (DeepSeek, Falcon, etc.).

Problema: Generación lenta en modelos MoE

Los modelos MoE (Mixtral, DeepSeek) están limitados por el ancho de banda de memoria. Asegúrate de usar:

Problema: Errores de longitud de contexto

Problema: Puerto 30000 no accesible

Verifica que el puerto esté expuesto en la configuración de tu pedido de CLORE.AI. Revisa la URL http_pub en el panel de tu pedido, no localhost.


Enlaces


Recomendaciones de GPU de Clore.ai

Caso de uso
GPU recomendada
Coste estimado en Clore.ai

Desarrollo/Pruebas

RTX 3090 (24GB)

~$0.12/gpu/hr

Producción (7B–13B)

RTX 4090 (24GB)

~$0.70/gpu/hr

Modelos grandes (70B+)

A100 80GB / H100

~$1.20/gpu/hr

💡 Todos los ejemplos en esta guía se pueden desplegar en Clore.aiarrow-up-right servidores GPU. Navega por las GPUs disponibles y alquila por hora: sin compromisos, acceso root completo.

Última actualización

¿Te fue útil?