Системный дизайн ML-сервисов

GPU Inference

GPU-инференс

новинкаНовое или быстро растущее направление

Как выжать из видеокарты пропускную способность и не переплачивать.

Ключевые тезисы

  • Декодирование в LLM упирается в пропускную способность памяти, а не в вычисления.
  • Квантизация int8/int4 и компиляция (TensorRT, ONNX Runtime) дают кратное ускорение.
  • Мультиарендность: несколько моделей на одной карте через MPS или MIG — сложнее, но дешевле.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Где узкое место

Вычисления или память.

У генерации токенов в LLM интенсивность низкая: на каждый токен читаются все веса модели, а вычислений мало. Поэтому декодирование упирается в пропускную способность памяти, и увеличение вычислительной мощности не помогает — помогают квантизация и батчинг.

2

Практические оптимизации

По эффекту на усилие.

ПриёмУскорениеРиск
int8-квантизация1.5–2×небольшая потеря качества
int4 (LLM)2–3×заметнее на сложных задачах
Компиляция (TensorRT/ORT)1.3–2×поддержка не всех операций
Динамический батчинг3–10×рост задержки
Дистилляция2–10×нужна отдельная тренировка
На практике

После любой оптимизации обязательно перепроверьте качество на тестовом наборе: «незаметная» потеря от квантизации иногда бьёт именно по редким и важным классам.

Связанные темы

Эффективность моделей · Инференс и эксплуатация

Cost Model97%

Экономика сервиса · Системный дизайн ML-сервисов

Стоимость одного предсказания и точка, где модель перестаёт окупаться.

Requirements and SLA85%

Требования и SLA · Системный дизайн ML-сервисов

Числа, которые нужно зафиксировать до архитектуры: задержка, пропускная способность, доступность, стоимость запроса.

Serving Architecture85%

Архитектура инференса · Системный дизайн ML-сервисов

Модель внутри приложения, отдельный сервис или платформа инференса — три уровня связанности.

Caching85%

Кеширование · Системный дизайн ML-сервисов

Не считать то, что уже посчитано: кеш предсказаний, признаков и эмбеддингов.

Batching and Queues85%

Батчинг и очереди · Системный дизайн ML-сервисов

Собирать запросы в пачки, чтобы загрузить GPU, и сглаживать всплески нагрузки очередью.

Scaling85%

Масштабирование · Системный дизайн ML-сервисов

Горизонтальное и вертикальное масштабирование инференса и правильные метрики автоскейлинга.

Reliability85%

Отказоустойчивость · Системный дизайн ML-сервисов

Что происходит, когда модель недоступна, отвечает медленно или выдаёт мусор.

Observability85%

Наблюдаемость · Системный дизайн ML-сервисов

Логи, метрики и трассировки, по которым можно восстановить, что произошло с конкретным запросом.

LLM Serving85%

Обслуживание LLM · Системный дизайн ML-сервисов

Отдельная инженерная дисциплина: KV-кеш, непрерывный батчинг, потоковая отдача и контроль стоимости.

Model Deployment85%

Деплой моделей · MLOps

Доставка модели пользователю: онлайн-сервис, батч-скоринг или встраивание в приложение.

Monitoring85%

Мониторинг · MLOps

Наблюдение за инфраструктурой, данными и качеством предсказаний после релиза.

Docker85%

Docker · MLOps

Контейнеризация фиксирует окружение целиком: код, зависимости, системные библиотеки.

Kubernetes85%

Kubernetes · MLOps

Оркестрация контейнеров: масштабирование, самовосстановление, обновления без простоя.

Transfer Learning80%

Перенос обучения · Глубокое обучение

Использование модели, обученной на большой выборке, для задачи с малым числом примеров. Главный практический приём современного глубокого обучения.

Mixture of Experts80%

Смесь экспертов · Глубокое обучение

Архитектура, в которой на каждый токен активируется лишь часть параметров: большая ёмкость при умеренной стоимости вычислений.

Distillation80%

Дистилляция · Генеративный ИИ

Обучение маленькой модели воспроизводить поведение большой: кратное снижение стоимости при небольшой потере качества.

LoRA80%

LoRA · Генеративный ИИ

Обучение низкоранговых добавок к весам вместо полного дообучения модели.