LMDeploy
Эффективный набор инструментов для развертывания LLM от Shanghai AI Lab — инференс промышленного уровня, квантизация и обслуживание больших языковых моделей с непрерывной пакетной обработкой и PagedAttention.
🏛️ Разработано OpenMMLab / Shanghai AI Lab | Лицензия Apache-2.0 | 4 000+ звезд на GitHub
Что такое LMDeploy?
LMDeploy — это комплексный набор инструментов для сжатия, развертывания и обслуживания больших языковых моделей в продакшене. Создан той же командой, что и OpenMMLab (MMDetection, MMSeg), он переносит оптимизации исследовательского уровня в практическое развертывание:
Движок TurboMind — высокопроизводительный C++-бэкенд инференса с оптимизациями CUDA
Движок PyTorch — гибкий Python-базированный движок для широкой совместимости моделей
Непрерывный батчинг — максимально использует GPU при одновременных запросах
PagedAttention — эффективное управление KV-кэшем (аналогично vLLM)
4-битная / 8-битная квантизация — поддержка AWQ и SmoothQuant
Визуально-языковые модели — поддержка InternVL, LLaVA, Qwen-VL
По сравнению с vLLM, движок TurboMind в LMDeploy обеспечивает примерно в 1,36× более высокую пропускную способность на Llama 3 8B при batch=32, а его квантизация AWQ — первоклассная, а не второстепенная функция. Для VLM (особенно InternVL2) LMDeploy — эталонный стек развертывания.
Почему LMDeploy?
Непрерывный батчинг
✅
✅
✅
Квантизация AWQ
✅
✅
❌
Спекулятивное декодирование
✅
✅
✅
Визуально-языковые
✅
Ограниченная
Ограниченная
API OpenAI
✅
✅
✅
TurboMind (кастомный движок)
✅
❌
❌
Быстрый старт на Clore.ai
Шаг 1: Выберите GPU-сервер
На маркетплейсе clore.ai маркетплейс:
Минимум: NVIDIA GPU с 8 ГБ VRAM (для моделей 7B)
Рекомендуется: RTX 3090/4090 (24 ГБ) или A100 (40/80 ГБ)
CUDA: требуется 11.8 или 12.x
Шаг 2: Разверните Docker LMDeploy
Сопоставление портов:
22
SSH-доступ
23333
API-сервер LMDeploy
Переменные окружения:
Шаг 3: Подключитесь по SSH и проверьте
Запуск API-сервера
Сервер, совместимый с OpenAI (рекомендуется)
Движок PyTorch (широкая совместимость)
Вывод при запуске сервера
После запуска LMDeploy открывает интерактивную документацию API по адресу http://<your-ip>:23333/docs — удобно для прямого тестирования эндпоинтов из браузера.
Поддерживаемые модели
Текстовые модели
Визуально-языковые модели
Квантование
Квантизация AWQ 4-бит
AWQ LMDeploy (Activation-aware Weight Quantization) обеспечивает отличное качество при 4 битах:
SmoothQuant W8A8
8-битная квантизация весов и активаций (лучше для развертываний, критичных к пропускной способности):
Влияние квантизации
Нет (bf16)
~14 ГБ
Нет
Базовый уровень
SmoothQuant W8A8
~8 ГБ
Минимальная
+20%
AWQ W4A16
~4 ГБ
Низкая
+15%
GPTQ W4A16
~4 ГБ
Низкая
+10%
Примеры использования API
Клиент Python
Потоковая передача
Нативный Python-клиент LMDeploy
Визуально-языковая модель
Развертывание на нескольких GPU
Тензорный параллелизм
Расширенная конфигурация
Конфигурация движка TurboMind
Конфигурация генерации
Мониторинг и метрики
Проверка состояния сервера
Мониторинг GPU
Пример Docker Compose
Бенчмаркинг
Пример вывода (RTX 4090, TurboMind, bf16):
На A100 80 ГБ ожидайте примерно в 2,2× более высокую пропускную способность, чем на RTX 4090, при высокой конкуренции запросов благодаря пропускной способности памяти HBM2e (2 ТБ/с против 1 ТБ/с).
Рекомендации по GPU для Clore.ai
Выбирайте в зависимости от размера целевой модели и нагрузки обслуживания:
Модели 7–13B, разработка/стейджинг
RTX 3090
24 ГБ
Лучшее соотношение цены к VRAM; подходит для 7B bf16 или 13B AWQ
Модели 7–13B, продакшен
RTX 4090
24 ГБ
Примерно на 40% быстрее, чем 3090, при той же VRAM; 412 ток/с на Llama 3 8B
Модели 70B, командное обслуживание
A100 40 ГБ
40 ГБ
Вмещает 70B AWQ; память ECC для надежности
Модели 70B, высокая пропускная способность
A100 80 ГБ
80 ГБ
Вмещает 70B bf16; в 2× выше пропускная способность, чем у A100 40 ГБ при batch=32
Бюджетный выбор: RTX 3090 + AWQ 4-бит — обслуживает Llama 3 8B примерно на 280 ток/с при batch=8, покрывает большинство API-сценариев.
Выбор по скорости: RTX 4090 — самая быстрая по цене для моделей 7–13B; TurboMind выжимает каждый ГБ/с из ее пропускной способности 1 ТБ/с.
Выбор для продакшена: A100 80 ГБ — запускайте Qwen2-72B или Llama 3 70B в полном bf16 без компромиссов по качеству квантизации; легко подходит для многoэкземплярного GPU-обслуживания.
Устранение неполадок
Модель не загружается
Недостаточно памяти CUDA
Порт уже используется
Режим сети Docker: При работе в Docker убедитесь, что контейнер использует --network host или корректное сопоставление портов (-p 23333:23333) чтобы API был доступен извне.
Рекомендации по GPU для Clore.ai
Движок TurboMind в LMDeploy и квантизация W4A16 обеспечивают лучшую в классе пропускную способность — особенно на GPU Ampere/Hopper.
RTX 3090
24 ГБ
$0.07–0.21/ч
~120 ток/с (fp16)
❌ Слишком большой
RTX 4090
24 ГБ
$0.14–0.42/ч
~200 ток/с (fp16)
❌ Слишком большой
2× RTX 4090
48 ГБ
$0.28–0.84/ч
~380 ток/с (tensor parallel)
~60 ток/с
Ресурсы
📦 Docker Hub: hub.docker.com/r/openmmlab/lmdeploy
🐙 GitHub: github.com/InternLM/lmdeploy
📚 Документация: lmdeploy.readthedocs.io
💬 Discord: discord.gg/xa29JuW84p
🤗 Предквантизованные модели: huggingface.co/lmdeploy
Последнее обновление
Это было полезно?