Большинство новичков считают, что достаточно делать только модели для разных целей. С академической точки зрения достаточно сосредоточиться только на модели. Но с точки зрения производства существует множество других процессов, таких как управление журналами, управление памятью и вычислительной мощностью, и многие другие, которые необходимо выполнить, чтобы они работали в течение длительного времени в бизнесе.

В этой статье я расскажу о некоторых шагах, которые необходимо выполнить для развертывания моделей машинного обучения в рабочей среде. Эти шаги помогут вам изучить работу, которая выполняется в промышленности, чтобы успешно развертывать модель в производстве в течение длительного времени без каких-либо внезапных нежелательных ошибок.

Что нужно для развертывания модели?

Успешное развертывание модели ML/DL обычно использует несколько ключевых принципов MLOps, которые в основном основаны на 4 столпах:

  1. Отслеживание
  2. Автоматизация
  3. Мониторинг/наблюдаемость
  4. Надежность

Есть несколько шагов, которые необходимо выполнить, чтобы добавить вышеуказанные функции в модель во время развертывания. Ниже приведены шаги….

  1. Использование блоков Try-Except в коде

Каждый разработчик должен использовать блоки try-except в своем коде для обработки ошибок, если таковые возникнут. Блоки Try-Except работают непрерывно без каких-либо остановок из-за какой-либо нежелательной ошибки. Эти блоки следует размещать с умом, везде, где может возникнуть ошибка, чтобы правильно ее обработать и программа работала без перебоев. Это одна из самых основных практик, которой необходимо следовать, чтобы подготовить любую модель к производству. Это сделает тренировочную и беговую модель автоматизированной. "Читать далее"

2. Ведение журналов

Это важный шаг, который необходимо реализовать после реализации первого шага (блоки try-except в коде). Журналы — это файлы, которые используются для мониторинга программы. Ведение журналов — важный шаг для мониторинга текущей реализации программы, и это может сделать человек, который даже ничего не знает о кодировании, потому что он написан на понятном человеку языке. Журналы чаще всего используются для получения информации об ошибках, которые произошли в программе во время непрерывной работы. Это будет отслеживать вашу программу и сохранять их в журналах.

Журналы можно очень легко записывать с помощью встроенной библиотеки Python Logging. "Читать далее"

3. Мониторинг и улучшение использования графического процессора

Вы не можете улучшить использование графического процессора, не измерив его. Очень просто отслеживать использование графического процессора с помощью команды nvidia-smi, но очень просто отслеживать использование графического процессора с течением времени: использовать пакет Weights and Biases (Wandb) Python. Wand отслеживает использование вычислений и многих других показателей, таких как потери и точность за эпохи. Он дает графики для каждой метрики, что упрощает анализ различных метрик модели во время работы. Это поможет следить за программой. "Читать далее"

Я надеюсь, что этот пост поможет вам получить некоторые знания о производстве и развертывании моделей машинного обучения в производстве.

Оставайтесь с нами и следуйте за мной для предстоящих интересных сообщений.