От экспериментов к развертыванию: MLflow 101
ДомДом > Новости > От экспериментов к развертыванию: MLflow 101

От экспериментов к развертыванию: MLflow 101

Feb 24, 2024

Афак возраст

Следовать

--

1

Слушать

Делиться

Представьте себе: у вас есть совершенно новая бизнес-идея, и необходимые вам данные находятся у вас под рукой. Вы готовы погрузиться в создание этой фантастической модели машинного обучения 🤖. Но давайте будем честными: это путешествие — не легкая прогулка! Вы будете экспериментировать как сумасшедшие, занимаясь предварительной обработкой данных, выбором алгоритмов и настройкой гиперпараметров до головокружения 😵‍💫. По мере того, как проект становится все сложнее, это похоже на попытку уловить дым — вы теряете из виду все те дикие эксперименты и блестящие идеи, которые у вас возникали на этом пути. И поверьте, помнить все это сложнее, чем пасти кошек 😹

Но подождите, это еще не все! Получив эту модель, вы должны использовать ее как чемпион! А учитывая постоянно меняющиеся данные и потребности клиентов, вам придется переобучать свою модель больше раз, чем менять носки! Это похоже на бесконечные американские горки, и вам нужно надежное решение, чтобы удержать все это вместе 🔗. Введите MLOps! Это секретный соус, который наводит порядок в хаосе ⚡

Хорошо, ребята, теперь, когда у нас есть «Почему?»позади нас, давайте погрузимся в то, чтои сочное Какв этом блоге.

Давайте посмотрим на конвейер, который мы собираемся построить к концу этого блога 👆

Держитесь крепче, потому что это не будет быстрым чтением! Мы создаем комплексное решение MLOps, и чтобы оно было реальным, мне пришлось разделить его на три раздела.

Секция 1:Заложим основы и теории 📜

Раздел 2: Вот где действие! Мы создаем спам-фильтр и отслеживаем все эти сумасшедшие эксперименты с MLflow 🥼🧪

Раздел 3:Мы сосредоточимся на главном — развертывании и мониторинге нашей чемпионской модели, а также подготовке ее к производству 🚀

Давайте зажигать с MLOps!

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

Постепенно он превращается в отдельный и самостоятельный подход к управлению всем жизненным циклом машинного обучения. К основным этапам процесса MLOps относятся следующие:

Как мы собираемся это реализовать? Хотя доступно несколько вариантов, таких как Neptune, Comet, Kubeflow и т. д., мы остановимся на MLflow. Итак, давайте познакомимся с MLflow и углубимся в его принципы.

MLflow похож на швейцарский армейский нож машинного обучения: он суперуниверсален и имеет открытый исходный код, помогая вам управлять всем процессом машинного обучения как босс. Он хорошо работает со всеми крупными библиотеками машинного обучения (TensorFlow, PyTorch, Scikit-learn, spaCy, Fastai, Statsmodels и т. д.). Тем не менее, вы также можете использовать его с любой другой библиотекой, алгоритмом или инструментом развертывания, который вы предпочитаете. Кроме того, он спроектирован так, чтобы его можно было легко настраивать — вы можете легко добавлять новые рабочие процессы, библиотеки и инструменты с помощью пользовательских плагинов.

MLflow следует модульной философии проектирования на основе API, разделяя свою функциональность на четыре отдельные части.

Теперь давайте проверим каждую из этих частей одну за другой!

На этом мы подошли к базовому пониманию предложений MLflow. Более подробную информацию можно найти в официальной документации здесь 👉📄. Теперь, вооружившись этими знаниями, давайте углубимся в раздел 2. Мы начнем с создания простого приложения для фильтрации спама, а затем перейдем в полноценный режим эксперимента, отслеживая различные эксперименты с помощью уникальных запусков!

Ладно, ребята, готовьтесь к увлекательному путешествию! Прежде чем мы погрузимся в лабораторию и запачкаем руки экспериментами, давайте составим наш план атаки, чтобы мы знали, что мы создаем. Прежде всего, мы собираемся создать классификатор спама, используя классификатор случайного леса (я знаю, что Multinomial NB лучше работает для классификации документов, но, эй, мы хотим поиграть с гиперпараметрами случайного леса). Сначала мы намеренно сделаем его не очень хорошим, просто ради удовольствия. Затем мы раскроем свой творческий потенциал и будем отслеживать различные прогоны, настраивать гиперпараметры и экспериментировать с такими классными вещами, как Bag of Words и Tfidf. И угадай что? Мы будем использовать пользовательский интерфейс MLflow как босс для всех этих приятных действий по отслеживанию и подготовимся к следующему разделу. Так что пристегнитесь, потому что нам будет весело! 🧪💥