(Часть 2)-

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

В Affine мы гарантируем, что львиная доля нашего внимания в проекте машинного обучения сосредоточена на:

1. Тратить больше времени на создание отличных функций и магазинов функций (чем на алгоритмы машинного обучения — да, пожалуйста, не осуждайте это 😊 ).

2. Настройка надежных и воспроизводимых конвейеров данных и машинного обучения для обеспечения более быстрого и точного повторного обучения и обслуживания.

3. Соблюдение ML и правил кодирования в производственных стандартах.

4. Включение модулей Model Monitoring для обеспечения работоспособности модели.

5. Резервирование последнего часа каждого рабочего дня в разделе Документация.

6. И последнее, но не менее важное: регулярно повторяйте Волшебные слова — Автоматизируйте, Автоматизируйте, Автоматизируйте! 😊

Следующая архитектура является попыткой упростить и объединить вышеперечисленные моменты:

Воспроизводимость артефактов/прогнозов модели —

Компоненты машинного обучения (разработка функций, создание набора данных, настройка машинного обучения, добавление функций и т. д.) должны быть построены таким образом, чтобы можно было легко и точно воспроизвести выходные данные каждого из этих компонентов в более поздний момент времени. Теперь, с точки зрения приложения, это может потребоваться для основного анализа (или соответствия модели) или повторного создания конвейера машинного обучения для нового набора данных в более поздний момент времени. Однако, что не менее важно, если вы можете точно воспроизвести результаты, это также гарантирует, что конвейер ML (обучение данных в ML) стабилен и надежен! Это также в конечном итоге приводит к надежному показу моделей.

Аспект непрерывного обучения —

Это известно как непрерывная интеграция в контексте разработки программного обеспечения и относится к автоматизации компонентов, таких как слияние кода, модульное/регрессионное тестирование, сборка и т. д., для обеспечения непрерывной доставки. Типичный конвейер машинного обучения также состоит из нескольких компонентов (выбор функций, настройка модели, добавление функций, проверка модели, сериализация модели и, наконец, реестр и развертывание модели). Непрерывный аспект гарантирует, что каждый модуль нашего конвейера машинного обучения полностью автоматизирован и полностью интегрирован (параметризован) с другими модулями, так что запуски данных, запуски моделей и запуски развертывания машинного обучения происходят без проблем при повторном запуске конвейера.

Однако все начинается с «Совместной работы» — правильной команды и правильного мышления!

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

Что касается управления такой кросс-функциональной командой людей, занимающих разные ниши, нам нужны люди, которые процветают в этой основанной на знаниях экосистеме, где стек растет с каждым днем. Нам нужен «Мастер на все руки», кто-то, кто знает всего понемногу и обладает навыками артикуляции, чтобы выявить лучшее от команды.

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

Пожалуйста, не переключайтесь…

Этот блог написан Винитом Кумаром, соучредителем и главным архитектором решений Affine.