SGLang

Разверните SGLang для высокопроизводительного обслуживания LLM с RadixAttention на GPU Clore.ai

SGLang (Structured Generation Language) — это высокопроизводительная платформа для обслуживания LLM, разработанная командой LMSYS, известной по проектам Vicuna и Chatbot Arena. Она включает RadixAttention для совместного использования KV-кеша, эффективную поддержку MoE (Mixture of Experts) и совместимый с OpenAI API — что делает её одним из самых быстрых открытых движков для инференса, доступных на GPU-серверах CLORE.AI.

circle-check

Требования к серверу

Параметр
Минимум
Рекомендуется

ОЗУ

16 ГБ

32 ГБ+

Видеопамять (VRAM)

8 ГБ

24 ГБ+

Диск

50 ГБ

200 ГБ+

GPU

NVIDIA Turing+ (RTX 2000+)

A100, H100, RTX 4090

circle-info

SGLang достигает наилучшей производительности на GPU Ampere+ с включённым FlashInfer. Для MoE-моделей, таких как Mixtral или DeepSeek, рекомендуется многопроцессорная конфигурация (multi-GPU).

Быстрое развёртывание на CLORE.AI

Docker-образ: lmsysorg/sglang:latest

Порты: 22/tcp, 30000/http

Переменные окружения:

Переменная
Пример
Описание

HF_TOKEN

hf_xxx...

Токен HuggingFace для gated-моделей

CUDA_VISIBLE_DEVICES

0,1

Какие GPU использовать

Пошаговая настройка

1. Арендуйте GPU-сервер на CLORE.AI

Перейдите на CLORE.AI Marketplacearrow-up-right и выберите сервер:

  • Модели 7B: минимум 16 ГБ VRAM (RTX 4080, A10)

  • Модели 13B: 24 ГБ VRAM (RTX 3090, RTX 4090, A5000)

  • Модели 70B: 80 ГБ+ VRAM (A100 80GB) или multi-GPU

  • MoE-модели (Mixtral 8x7B): 48 ГБ VRAM или 2×24 ГБ

2. Подключитесь по SSH к вашему серверу

3. Скачайте Docker-образ SGLang

4. Запустите SGLang-сервер

Базовый запуск (Llama 3.1 8B):

С токеном HuggingFace:

Qwen2.5 72B на multi-GPU:

DeepSeek-V2 (MoE-модель):

5. Проверьте состояние сервера

6. Доступ извне через прокси CLORE.AI

В вашей панели CLORE.AI доступен http_pub URL для порта 30000:

Используйте этот URL как базовый URL в любом клиенте, совместимом с OpenAI.


Примеры использования

Пример 1: OpenAI-совместимые chat completions

Пример 2: потоковый ответ (streaming response)

Пример 3: Python-клиент OpenAI

Пример 4: пакетный инференс с помощью собственного API SGLang

Собственный API SGLang предоставляет дополнительный контроль:

Пример 5: ограниченный вывод в формате JSON

SGLang поддерживает генерацию структурированного вывода:


Конфигурация

Ключевые параметры запуска

Параметр
По умолчанию
Описание

--model-path

обязательно

ID модели HuggingFace или локальный путь

--host

127.0.0.1

Привязать хост (используйте 0.0.0.0 для внешнего доступа)

--port

30000

Порт сервера

--tp

1

Степень тензорного параллелизма (количество GPU)

--dp

1

Степень параллелизма данных

--dtype

auto

float16, bfloat16, float32

--mem-fraction-static

0.88

Доля VRAM для KV-кеша

--max-prefill-tokens

auto

Максимум токенов в одном шаге предварительного заполнения (prefill)

--context-length

максимум модели

Переопределить максимальную длину контекста

--trust-remote-code

false

Разрешить пользовательский код модели

--quantization

none

awq, gptq, fp8

--load-format

auto

auto, pt, safetensors

--tokenizer-path

такой же, как у модели

Путь к пользовательскому токенизатору

Опции квантизации

AWQ (рекомендуется для скорости):

FP8 (для H100/A100):


Советы по повышению производительности

1. RadixAttention — ключевое преимущество

RadixAttention в SGLang автоматически повторно использует KV-кеш для общих префиксов в подсказках. Это особенно полезно для:

  • Чат-ботов с длинными системными подсказками

  • RAG-приложений с повторяющимся контекстом

  • Пакетных API-вызовов, которые разделяют один и тот же префикс

Дополнительная конфигурация не требуется — функция всегда включена.

2. Увеличьте размер KV-кеша

Будьте осторожны, не устанавливайте слишком высокое значение — оставьте место для весов модели.

3. Разбивка prefill для длинных контекстов

4. Включите бэкенд FlashInfer

SGLang автоматически использует FlashInfer, когда он доступен (GPU Ampere+):

5. Многопроцессорный тензорный параллелизм (Multi-GPU)

Для моделей, которые не помещаются на одном GPU:

Каждый GPU должен иметь достаточно VRAM для шардирования части модели.

6. Настройка на пропускную способность (throughput) против задержки (latency)

Низкая задержка (один пользователь):

Высокая пропускная способность (много пользователей):


Устранение неполадок

Проблема: "torch.cuda.OutOfMemoryError"

Решение: Уменьшите долю памяти или используйте квантизацию:

Проблема: Сервер не запускается (зависает при загрузке)

Проблема: "trust_remote_code required"

Добавьте --trust-remote-code в команду запуска для моделей с кастомной архитектурой (DeepSeek, Falcon и т.д.).

Проблема: Медленная генерация на MoE-моделях

MoE-модели (Mixtral, DeepSeek) ограничены пропускной способностью памяти. Убедитесь, что вы используете:

Проблема: Ошибки длины контекста

Проблема: Порт 30000 недоступен

Убедитесь, что порт открыт в конфигурации вашего заказа на CLORE.AI. Проверьте http_pub URL в панели заказа, а не localhost.


Ссылки


Рекомендации по GPU от Clore.ai

Сценарий использования
Рекомендуемый GPU
Оц. стоимость на Clore.ai

Разработка/Тестирование

RTX 3090 (24GB)

~$0.12/gpu/hr

Продакшен (7B–13B)

RTX 4090 (24GB)

~$0.70/gpu/hr

Крупные модели (70B+)

A100 80GB / H100

~$1.20/gpu/hr

💡 Все примеры в этом руководстве можно развернуть на Clore.aiarrow-up-right GPU-серверах. Просматривайте доступные GPU и арендуйте по часу — без обязательств, с полным доступом root.

Последнее обновление

Это было полезно?