Ниже приводится коллекция из трех кратких материалов, которые я опубликовал на LinkedIn. Они кратко представляют три основные концепции MLOps (Machine Learning Operations):

  • Реестр моделей
  • Конвейер модели
  • Хранилище метаданных

𝗪𝗵𝗮𝘁 𝗶𝘀 𝗮 𝗠𝗼𝗱𝗲𝗹 𝗥𝗲𝗴𝗶𝘀𝘁𝗿𝘆? 💡

Используйте sklearn, TensorFlow, PyTorch или другой популярный фреймворк. Вы хотели бы отслеживать и, возможно, использовать для вывода позже или на другом устройстве. По этой причине вы хотите 𝗹 𝗮𝗿𝘁𝗶𝗳𝗮𝗰𝘁 путем его сериализации, т.е. записи на диск как «файл» (.pkl, .json…).

𝗧𝗵𝗶𝘀 𝗶𝘀 𝘄𝗵𝗲𝗿𝗲 𝗮 𝗠𝗼𝗱𝗲𝗹 𝗥𝗲𝗴𝗶𝘀𝘁𝗿𝘆 𝗰𝗼𝗺𝗲𝘀 𝗶𝗻𝘁𝗼 𝗽𝗹𝗮𝘆.

Реестр моделей — это центральное хранилище или метауровень поверх компонента хранилища, который позволяет вам регистрировать и/или хранить вашу модель. Однако это еще не все.

𝗧𝘆𝗽𝗶𝗰𝗮𝗹𝗹𝘆, 𝗺𝗼𝗱𝗲𝗹 𝗿𝗲𝗴𝗶𝘀𝘁𝗿𝘆 𝘀𝗼𝗹𝘂𝘁𝗶𝗼 𝗻𝘀 𝗵𝗲𝗹𝗽 𝘆𝗼𝘂…
✅ 𝗞𝗲𝗲𝗽 𝘁𝗿𝗮𝗰𝗸 разных моделей и их версий,
✅ Централизованно собирать 𝗺𝗲𝘁𝗮- 𝗶𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻 моделей (например, на каких данных она обучалась),
✅ Легко утвердить/отклонить и 𝗽𝗿𝗼𝗺𝗼𝘁𝗲 версии моделей,
✅ связать свои 𝗲𝘅𝗽𝗲𝗿𝗶𝗺𝗲𝗻𝘁𝘀 с полученными моделями,
✅ выставить и 𝘀𝗵𝗮 𝗿𝗲 Моделируйте артефакты прозрачно
.. и многое другое.

Конечно, вы можете довольно легко создать простой реестр моделей самостоятельно. Когда-то мы использовали классические хранилища артефактов, такие как нексус или артефакты, для связывания и версии артефактов модели с метаинформацией. Однако это не означает, что в 2023 году это все еще хорошая идея.

𝗡𝗼𝘄𝗮𝗱𝗮𝘆𝘀, 𝘁𝗵𝗲𝗿𝗲’𝗿𝗲 𝘀𝗼𝗺𝗲 𝗵𝗶𝗴𝗵𝗹𝘆 𝘀𝗽𝗲 𝗰𝗶𝗮𝗹𝗶𝘀𝗲𝗱 𝗼𝗽𝗲𝗻 𝘀𝗼𝘂𝗿𝗰𝗲 𝗮𝘀 𝘄𝗲𝗹𝗹 𝗮𝘀 𝗽𝗿𝗽 𝗿𝗶𝗲𝘁𝗮𝗿𝘆 𝗺𝗼𝗱𝗲𝗹 𝗿𝗲𝗴𝗶𝘀𝘁𝗿𝘆 𝘁𝗼𝗼𝗹𝘀 𝗼𝗿 𝗿𝘃𝗶𝗰𝗲𝘀, которые (среди прочего) предлагают гораздо более сложные функции. Вот некоторые из них:

➡️ neptune.ai: https://neptune.ai/home
➡️ Comet : https://www.comet.com/site/
➡️ MLflow: https://mlflow .org/
➡️ Веса и смещения: https://wandb.ai/site
➡️ Итеративность: https://iterative.ai/
➡️ + все большие Платформы машинного обучения облачных поставщиков поставляются со своим собственным инструментом

𝗗𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝗰𝗲𝘀 𝘁𝗼 𝘁𝗵𝗲 𝘂𝘀𝗲𝗿 𝗮𝗿𝗲 𝘀𝗼𝗺𝗲𝘁𝗶 𝗺𝗲𝘀 𝘀𝘂𝗯𝘁𝗹𝗲. Обычно нет способа обойти различные решения PoC, чтобы найти то, которое подходит лучше всего. Два ключевых фактора при принятии решения должны быть…

❗ 𝗛𝗼𝘄 𝘄𝗲𝗹𝗹 𝗱𝗼𝗲𝘀 𝗶𝘁 𝗶𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗲𝘀 𝘄𝗶𝘁𝗵 (𝗮𝗻𝗱/𝗼𝗿 𝘁𝗮𝗿𝗴𝗲𝘁) 𝘀𝘁𝗮𝗰𝗸> и рабочий процесс. ❗ 𝗜𝘀 𝗶𝘁 𝗳𝗹𝗲𝘅𝗶𝗯𝗹𝗲 𝗲𝗻𝗼𝘂𝗴𝗵 𝘁𝗼 𝘁𝗿𝗮𝗰𝗸 𝘄𝗵𝗮 𝘁 𝘆𝗼𝘂 𝘁𝗵𝗶𝗻𝗸 𝗶𝘁 𝘀𝗵𝗼𝘂𝗹𝗱 𝘁𝗿𝗮𝗰𝗸 не сгибая его слишком сильно.

Хранилища метаданных тесно связаны с реестрами моделей. Подробнее о них читайте в последнем разделе этой статьи.

𝗪𝗵𝗮𝘁 𝗶𝘀 𝗮 𝗠𝗼𝗱𝗲𝗹 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲? 💡

𝗬𝗼𝘂 𝗮𝗿𝗲 𝗲𝘅𝗽𝗲𝗿𝗶𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗻𝗴 𝗶𝗻 𝗮 𝗻𝗼𝘁𝗲𝗯 𝗼𝗼𝗸, 𝗮𝗶𝗺𝗶𝗻𝗴 𝘁𝗼 𝘁𝗿𝗮𝗶𝗻 𝗮 𝗺𝗼𝗱𝗲𝗹 𝘁𝗵𝗮𝘁 𝘀𝗼 𝗹𝘃𝗲𝘀 𝗮 𝗰𝗹𝗮𝘀𝘀𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗽𝗿𝗼𝗯𝗹𝗲𝗺. В настоящее время вы используете 𝚜𝚔𝚕𝚎𝚊𝚛𝚗 для этого, которому предшествует логика загрузки данных с использованием SQL против Хранилище данных вашей компании, предварительная обработка и вменение с использованием pandas и Imputer 𝚜𝚔𝚕𝚎𝚊𝚛𝚗, нормализация с использованием нормализатора 𝚜𝚔𝚕𝚎𝚊𝚛𝚗 и нескольких специально написанных функций проектирования функций.

𝗜𝘁 𝗹𝗼𝗼𝗸𝘀 𝗹𝗶𝗸𝗲 𝘆𝗼𝘂’𝘃𝗲 𝗰𝗿𝗲𝗮𝘁𝗲𝗱 𝗮 𝘀𝗲𝗾𝘂 𝗲𝗻𝗰𝗲 𝗼𝗳 (𝗱𝗮𝘁𝗮 𝗽𝗿𝗼𝗰𝗲𝘀𝘀𝗶𝗻𝗴) 𝘀𝘁𝗲𝗽𝘀, заканчивая обученной моделью. Вы начинаете задаваться вопросом…

❓ Нормализатор, Импьютер и обученная модель. 𝗗𝗼𝗻'𝘁 𝘁𝗵𝗲𝘆 𝘁𝗼𝗴𝗲𝘁𝗵𝗲𝗿 𝗳𝗼𝗿𝗺 𝘄𝗵𝗮𝘁 𝗺𝗮𝘁𝘁 𝗲𝗿𝘀 — общее решение?
❓ Как легко 𝘀𝘁𝗼𝗿𝗲 𝗮𝗻𝗱 𝘃𝗲𝗿𝘀𝗶𝗼𝗻 приталенный 𝗮𝗿𝘁𝗶𝗳𝗮𝗰𝘝 𝘀 𝘁𝗼𝗴𝗲𝘁𝗵𝗲𝗿?
❓ Как я могу (легко) 𝘁𝘂𝗻𝗲 𝗵𝘆𝗽𝗲𝗿𝗽𝗮𝗿𝗮𝗺𝗲𝘁 𝗲𝗿𝘀 вместе 𝗮𝗰𝗿𝗼𝘀𝘀 𝘁𝗵𝗲𝘀𝗲 𝘀𝘁𝗲𝗽𝘀?

𝗧𝗵𝗶𝘀 𝗶𝘀 𝘄𝗵𝗲𝗿𝗲 𝗮 𝗠𝗼𝗱𝗲𝗹 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲 𝗰𝗼𝗺𝗲𝘀 𝗶𝗻𝘁𝗼 𝗽𝗹𝗮𝘆.

В контексте программного обеспечения конвейер обычно называют конвейером (или направленной ациклической графикой). ф). Как вы видели выше, даже не подозревая об этом, вы создали слабосвязанную последовательность зависимых шагов. Теперь вы можете использовать (Модель) 𝗼𝘂𝗽𝗹𝗲 𝘁𝗵𝗲𝗺 и создайте один объект (Конвейеры).

𝗧𝘆𝗽𝗶𝗰𝗮𝗹𝗹𝘆, (𝗠𝗼𝗱𝗲𝗹) 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗶𝗻𝗴 𝗳𝗿𝗮𝗺𝗲 𝘄𝗼𝗿𝗸𝘀 𝗵𝗲𝗹𝗽 𝘆𝗼𝘂…
✅ 𝗧𝗿𝗮𝗰𝗸 𝗲𝘅𝗽𝗲𝗿𝗶𝗺𝗲𝗻𝘁 𝘀 более надежно,
✅ обеспечить 𝗿𝗲𝗽𝗿𝗼𝗱𝘂𝗰𝗶𝗯𝗶𝗹𝗶𝘁𝘆,
✅ более легко выполнить 𝗮𝗺𝗲𝘁𝗲𝗿 𝘁𝘂𝗻𝗶𝗻𝗴 𝗮𝗰𝗿𝗼𝘀𝘀 𝗮𝗹𝗹 𝘀𝘁𝗲𝗽𝘀,
✅ Храните 𝗲 𝗻𝘁𝗶𝗿𝗲 ✅ 𝗩𝗮𝗹𝗶𝗱𝗮𝘁 𝗲 𝘁𝗵𝗲 𝗹𝗶𝗻𝗸𝘀 𝗯𝗲𝘁𝘄𝗲𝗲𝗻 𝘀𝘁𝗲𝗽𝘀 перед их запуском,
✅ В конце концов, 𝗿 𝗱𝗲𝗽𝗹𝗼𝘆𝗺𝗲𝗻𝘁

Есть несколько фреймворков Pipeline, которые вы можете использовать. Часто они находят 𝗮𝗽𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗯𝗲𝘆𝗼𝗻𝗱 𝗠𝗼𝗱𝗲𝗹𝗶𝗻𝗴 или даже происходят из области Data Engineering. Вот некоторые фреймворки Pipeline (наиболее открытый исходный код!):

➡️ Плумбер: https://ploomber.io/
➡️ Префект: https://www.prefect.io/
➡️ Кедро: https://kedro.org/< br /> ➡️ Дагстер: https://dagster.io/
➡️ AirFlow: https://airflow.apache.org/

Даже 𝚜𝚔𝚕𝚎𝚊𝚛𝚗 предлагает простой способ конвейеризации рабочего процесса с помощью 𝚜𝚔𝚕𝚎𝚊𝚛𝚗.𝚙𝚒𝚙𝚎𝚕𝚒𝚗𝚎.𝙿𝚒𝚙𝚎. 𝚕𝚒𝚗𝚎

𝗪𝗵𝗮𝘁 𝗶𝘀 𝗮 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗠𝗲𝘁𝗮𝗱𝗮𝘁𝗮 𝗦𝘁𝗼𝗿𝗲? 💡

После первых экспериментов ваши усилия по моделированию стали усложняться. 𝗦𝗼 𝘆𝗼𝘂 𝗵𝗮𝘃𝗲 𝗱𝗲𝗰𝗶𝗱𝗲𝗱 𝘁𝗼 𝗲𝗺𝗯𝗲𝗱 𝘆𝗼𝘂𝗿 𝗹 𝗼𝗴𝗶𝗰 𝗶𝗻 𝗮 𝗠𝗼𝗱𝗲𝗹 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲, объединяя весь поток в один артефакт, предоставляя вам больше контроля. Вы проводите еще несколько экспериментов, используя свой конвейер, и, наконец, получаете твердую модель.

Через несколько дней к вам подходит ваш коллега по MLE и спрашивает: 𝘁𝗮𝗹𝗹𝗲𝗱 𝗼𝗻 𝘁𝗵𝗲 𝗱𝗼𝗰𝗸𝗲𝗿 𝗶𝗺𝗮𝗴𝗲 𝘆𝗼𝘂 𝘂𝘀𝗲𝗱 𝗶𝗻 𝘆𝗼𝘂𝗿 𝘁𝗿𝗮𝗶𝗻𝗶𝗻𝗴 𝘀𝘁𝗲𝗽? Надеюсь, это было ›=1.0.0. В противном случае мы не сможем загрузить модель в сервис логического вывода». 😬 Ой, вы действительно не можете вспомнить, и это займет некоторое время…

💾 Ваш коллега по MLE говорит вам:
«𝗟𝗶𝘀𝘁𝗲𝗻, 𝗵𝗼𝗼𝗸 𝘂𝗽 𝘆𝗼𝘂𝗿 𝗠𝗼𝗱𝗲𝗹 𝗣𝗶𝗽 𝗲𝗹𝗶𝗻𝗲 𝘁𝗼 𝗼𝘂𝗿 𝗠𝗟 𝗠𝗲𝘁𝗮𝗱𝗮𝘁𝗮 𝗦𝘁𝗼𝗿𝗲. Это поможет вам очень быстро отвечать на такие вопросы в будущем. Вы не знаете, что это такое? 𝗟𝗲𝘁 𝗺𝗲 𝗲𝘅𝗽𝗹𝗮𝗶𝗻…”

A 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝗟𝗲𝗮𝗿𝗻𝗶𝗻𝗴 𝗠𝗲𝘁𝗮𝗱𝗮𝘁𝗮 𝗦𝘁𝗼𝗿𝗲 𝗶 𝘀 𝗮 𝗱𝗮𝘁𝗮 𝘀𝘁𝗼𝗿𝗮𝗴𝗲, который служит цели 𝗰𝗲𝗻𝘁𝗿𝗮𝗹𝗹𝘆 𝗸𝗲𝗲𝗽 𝘁𝗿 𝗮𝗰𝗸 𝗼𝗳 𝗶𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻 𝗮𝗯𝗼𝘂𝘁 𝘆𝗼𝘂𝗿 𝗣𝗶𝗽𝗲 𝗹𝗶𝗻𝗲𝘀 𝗮𝗻𝗱 𝗿𝘂𝗻𝘀.

𝗧𝘆𝗽𝗶𝗰𝗮𝗹𝗹𝘆, 𝗮 💾 𝗠𝗟 𝗠𝗲𝘁𝗮𝗱𝗮𝘁𝗮 𝗦𝘁𝗼𝗿𝗲 𝗵𝗲 𝗹𝗽𝘀 𝘆𝗼𝘂…
✅ Обеспечьте 𝗿𝗲𝗽𝗿𝗼𝗱𝘂𝗰𝗶𝗯𝗶𝗹𝗶𝘁𝘆,
✅ Эффективно ✅ … и 𝘄𝗵𝗮𝘁 𝗱𝗮𝘁𝗮 & 𝗼𝗻 𝗲𝗿 𝗮𝗿𝘁𝗶𝗳𝗮𝗰𝘁𝘀 они потребляют а также создавать,
✅ 𝗘𝘀𝘁𝗮𝗯𝗹𝗶𝘀𝗵 𝗹𝗶𝗻𝗸𝘀 между конвейером моделей, реестром моделей и отслеживанием экспериментов

С точки зрения разработчика/DS вы обычно взаимодействуете с ним, используя 𝗣𝘆𝘁𝗵𝗼𝗻 𝗽𝗮𝗰𝗸𝗮𝗴𝗲, который вы используете для 𝗿𝗲𝗴𝗶𝘀𝘁𝗲𝗿 𝗿𝘂𝗻𝘀 𝗮𝗻𝗱 𝗶𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻, которые не могут быть автоматически собраны из журналов (например, контейнера).

𝗛𝗲𝗿𝗲 𝗮𝗿𝗲 𝘀𝗼𝗺𝗲 𝗠𝗟 𝗠𝗲𝘁𝗮𝗱𝗮𝘁𝗮 𝗦𝘁𝗼𝗿𝗲 𝘀𝗼 𝗹𝘂𝘁𝗶𝗼𝗻𝘀 — в основном интегрированы в более широкий набор инструментов/продуктов:

➡️ neptune.ai: https://neptune.ai/
➡️ MLflow: https://mlflow.org/
➡️ Weights & Biases: https://wandb.ai/ site
➡️ Comet: https://www.comet.com/site/
➡️ AWS, GCP и Azure предоставляют собственные хранилища метаданных машинного обучения

𝗢𝗳𝘁𝗲𝗻, 𝘁𝗵𝗲𝘆 𝗰𝗼𝗺𝗲 𝘁𝗼𝗴𝗲𝘁𝗵𝗲𝗿 𝘄𝗶𝘁𝗵 𝗮 𝗠𝗼 𝗱𝗲𝗹 𝗥𝗲𝗴𝗶𝘀𝘁𝗿𝘆 𝗮𝗻𝗱 𝗮𝗻 𝗘𝘅𝗽𝗲𝗿𝗶𝗺𝗲𝗻𝘁 𝗧𝗿𝗰 𝗸𝗶𝗻𝗴 𝘀𝗼𝗹𝘂𝘁𝗶𝗼𝗻 и границы размыты. Это нормально. Важно то, что вам нужно отслеживать, отслеживать, связывать, и в целом вы получаете отличный пользовательский опыт.

Надеюсь, вам понравилась эта подборка! Подпишитесь на меня здесь, в Medium или в LinkedIn, чтобы получать регулярный контент по MLOps.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .