Большинство новичков считают, что достаточно делать только модели для разных целей. С академической точки зрения достаточно сосредоточиться только на модели. Но с точки зрения производства существует множество других процессов, таких как управление журналами, управление памятью и вычислительной мощностью, и многие другие, которые необходимо выполнить, чтобы они работали в течение длительного времени в бизнесе.
В этой статье я расскажу о некоторых шагах, которые необходимо выполнить для развертывания моделей машинного обучения в рабочей среде. Эти шаги помогут вам изучить работу, которая выполняется в промышленности, чтобы успешно развертывать модель в производстве в течение длительного времени без каких-либо внезапных нежелательных ошибок.
Что нужно для развертывания модели?
Успешное развертывание модели ML/DL обычно использует несколько ключевых принципов MLOps, которые в основном основаны на 4 столпах:
- Отслеживание
- Автоматизация
- Мониторинг/наблюдаемость
- Надежность
Есть несколько шагов, которые необходимо выполнить, чтобы добавить вышеуказанные функции в модель во время развертывания. Ниже приведены шаги….
- Использование блоков Try-Except в коде
Каждый разработчик должен использовать блоки try-except в своем коде для обработки ошибок, если таковые возникнут. Блоки Try-Except работают непрерывно без каких-либо остановок из-за какой-либо нежелательной ошибки. Эти блоки следует размещать с умом, везде, где может возникнуть ошибка, чтобы правильно ее обработать и программа работала без перебоев. Это одна из самых основных практик, которой необходимо следовать, чтобы подготовить любую модель к производству. Это сделает тренировочную и беговую модель автоматизированной. "Читать далее"
2. Ведение журналов
Это важный шаг, который необходимо реализовать после реализации первого шага (блоки try-except в коде). Журналы — это файлы, которые используются для мониторинга программы. Ведение журналов — важный шаг для мониторинга текущей реализации программы, и это может сделать человек, который даже ничего не знает о кодировании, потому что он написан на понятном человеку языке. Журналы чаще всего используются для получения информации об ошибках, которые произошли в программе во время непрерывной работы. Это будет отслеживать вашу программу и сохранять их в журналах.
Журналы можно очень легко записывать с помощью встроенной библиотеки Python Logging. "Читать далее"
3. Мониторинг и улучшение использования графического процессора
Вы не можете улучшить использование графического процессора, не измерив его. Очень просто отслеживать использование графического процессора с помощью команды nvidia-smi, но очень просто отслеживать использование графического процессора с течением времени: использовать пакет Weights and Biases (Wandb) Python. Wand отслеживает использование вычислений и многих других показателей, таких как потери и точность за эпохи. Он дает графики для каждой метрики, что упрощает анализ различных метрик модели во время работы. Это поможет следить за программой. "Читать далее"
Я надеюсь, что этот пост поможет вам получить некоторые знания о производстве и развертывании моделей машинного обучения в производстве.
Оставайтесь с нами и следуйте за мной для предстоящих интересных сообщений.