Развертывание моделей PyTorch с использованием сервера вывода Nvidia Triton

Развертывание моделей PyTorch с Triton

Гибкое и высокопроизводительное решение для обслуживания моделей

Изображение с Unsplash

Ценность машинного обучения (ML) по-настоящему распознается в приложениях реального мира, когда мы приходим к размещению и выводу моделей. Это сложно реализовать рабочие нагрузки ML в производственной среде, если у вас нет высокопроизводительного решения для обслуживания моделей, которое поможет вашей модели масштабироваться.

Что такое модельный сервер / что такое обслуживание моделей? Представьте себе модельный сервер как эквивалент веб-сервера в мире ML. Недостаточно просто выделить большие ресурсы аппаратного обеспечения для модели, вам нужен коммуникационный уровень, который поможет обрабатывать запросы клиентов, эффективно распределяя ресурсы, необходимые для работы вашего приложения. Модельные серверы являются настраиваемыми функциями для пользователей: мы можем повысить производительность с точки зрения задержки, контролируя такие аспекты, как gRPC против REST и т.д. Популярными примерами модельных серверов являются следующие:

  • TensorFlow Serving
  • TorchServe
  • Multi-Model Server (MMS)
  • Deep Java Library (DJL)

Тот, который мы рассматриваем сегодня, – это сервер вывода Nvidia Triton, гибкое и производительное решение для обслуживания моделей. Каждый модельный сервер требует представления модельных артефактов и скриптов вывода в своем собственном уникальном формате, который он может понять. В данной статье мы берем пример модели PyTorch и показываем, как ее можно разместить с использованием сервера вывода Triton Inference.

ПРИМЕЧАНИЕ: В данной статье предполагается базовое понимание машинного обучения и не вдается в теорию построения моделей. Также предполагается владение языком Python и базовое понимание контейнеров Docker. Мы также будем работать в экземпляре классического блокнота SageMaker для разработки, поэтому, при необходимости, создайте учетную запись AWS (вы также можете запустить этот пример в другом месте, если предпочитаете).

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я являюсь архитектором машинного обучения в AWS, и мои мнения являются личными.

Почему Triton Inference Server?

Triton Inference Server – это решение для обслуживания моделей с открытым исходным кодом, которое имеет ряд преимуществ, включая следующие:

  1. Поддержка фреймворков: Triton поддерживает множество…