📺 [YouTube] Деплой ML моделей: от кода до продакшенаАдмин сдал диплом, скоро пойдет на вручение и будет писать вступительные экзамены
💻 Классное видео, в котором разобрано на простеньком примере, как можно задеплоить модельку с нуля от её написания до разворачивания на сервере. Автор еще
Streamlit не подкручивал, результат был бы просто обернут в UI. Прям топ видео, начинающим зайдет.
Всем, кто хочет быстро погрузиться в деплой ML, очень советую!Код из видео
🧠 Что в видео:
👩💻 Создается публичный репозиторий в
GitHub и далее клонируется в VSCode. После чего все изменения вносятся через VSCode.
👩💻 Сначала автор делает базовый ресерч в ipynb, обучает простенькую модель (деревья решений) на всем известном
Titanic Dataset.
🔵 Затем сохраняет полученную модель (в т.ч. веса в
pickle, отсюда очень удобно предсказывать значения).
🔘 Далее создается py-файл с
FastAPI (с реализацией API и методов POST/GET). С помощью POST мы хотим понимать, выживет ли человек с заданными параметрами или нет, а с GET - получить метаданные. в POST забирается модель из pickle файла и дальше делается предсказание.
👩💻 Затем все оборачивается в
Docker, создается образ и контейнеры (с соответствующими requirements.txt - это обычно нужно для сохранения версий библиотек на момент запуска приложений, чтобы не было конфликтов).
🟣.dockerignore - чтобы лишние файлы с собой не затаскивать (например, .ipynb, который нужен был для рисерча + сохранения файла модели или же .csv, откуда брали данные для обучения модели).
👩💻 Заносятся изменения с помощью
git add ., commit, merge.
💵 После чего автор заходит на сайт, где можно арендовать дешево сервер и поднимает докер-контейнер с запуском приложения, предварительно клонируя из GitHub (открытого репозитория) все файлы, необходимые для запуска.
👍 Готово! Теперь у вас есть поднятый сервис, который может обрабатывать запросы пользователей в интернете.
Такой пайплайн — основа для любого продакшен ML-сервиса, и даже на простых примерах становится понятно, как устроен реальный цикл доставки модели до пользователя.
Понравился пост? Ставьте реакции, пишите комментарии о чем писать в дальнейшем! Очень интересно!