Базовая инфраструктура для запуска LLM: Triton, ONNX, TorchScript и другие

Когда модель готова, важно не только её обучить, но и запустить эффективно, особенно если она используется в проде. Большие языковые модели (LLM) требуют особого подхода к инференсу — и тут приходят на помощь оптимизированные форматы и инференс-серверы.


Что нужно для продакшен-инференса

  • Высокая скорость обработки запросов
  • Эффективное использование GPU
  • Поддержка большого числа одновременных пользователей
  • Гибкость и переносимость модели

Обычный pipeline() из Hugging Face удобен, но не масштабируется. Для продакшена нужны другие инструменты.


Triton Inference Server

Triton — инференс-сервер от NVIDIA, который:

  • работает с моделями в форматах PyTorch, ONNX, TensorFlow
  • принимает REST и gRPC запросы
  • поддерживает автоматическое батчирование (объединение мелких запросов)
  • масштабируется

Пример запуска Triton с моделью ONNX

  1. Экспортируем модель в ONNX:
import torch
model = ...
dummy_input = torch.randn(1, 10)
torch.onnx.export(model, dummy_input, "model.onnx")
  1. Кладём модель в models/my_model/1/model.onnx
  2. Запускаем Triton:
docker run --gpus all -p8000:8000 -v $PWD/models:/models nvcr.io/nvidia/tritonserver \
  tritonserver --model-repository=/models

Теперь сервер готов к приёму запросов.


ONNX: переносимость модели

ONNX (Open Neural Network Exchange) — формат, в котором модель можно запускать:

  • в Python, C++, Go
  • на разных устройствах (CPU, GPU)
  • в разных средах (облако, мобильные, веб)

Вы экспортируете модель из PyTorch или TensorFlow, и запускаете где угодно.


TorchScript: оптимизация внутри PyTorch

TorchScript — это способ сохранить PyTorch-модель в виде графа, чтобы:

  • ускорить её работу
  • запускать вне Python-интерпретатора
scripted_model = torch.jit.script(model)
torch.jit.save(scripted_model, "model.pt")

Когда использовать что

СценарийЧто использовать
Инференс с API, много пользователейTriton Inference Server
Хочется гибкости и переносимостиONNX
Остаётесь в PyTorch, нужно ускоритьTorchScript
Нужен OpenAI-совместимый LLM APIvLLM

Вывод

Для эффективного запуска LLM в продакшене лучше не ограничиваться базовыми средствами. Используйте ONNX для переносимости, Triton — для масштабируемости, TorchScript — для оптимизации, vLLM — для генерации. Все эти инструменты можно комбинировать и встраивать в полноценную ML-инфраструктуру.