Конвейерная лента непрерывной интеграции (CI), непрерывного развертывания (CD) и непрерывной характеристики (CF) обеспечивает создание моделей машинного обучения с учетом продукта в действительно итеративной среде.

Дни только крупных компаний-разработчиков программного обеспечения (например, FAAMG), курирующих и защищающих лучшие фреймворки машинного обучения, сочтены. Хотя исследования и разработки могут продолжаться в этих компаниях, учитывая размер инвестиций, следующая фаза роста ИИ и машинного обучения будет связана с быстрой демократизацией ИИ и машинного обучения в традиционных отраслях, таких как производство, здравоохранение. , путешествия и гостеприимство и многое другое. По мере того, как все больше моделей машинного обучения используются для улучшения и обогащения существующих продуктов B2B и B2C в таких организациях, потребность в структурировании итеративного цикла разработки и развертывания модели машинного обучения на основе потребностей бизнеса выше, чем когда-либо!

Continuous Featurization (CF) – это поэтапный итеративный процесс, сопоставляющий структуру CI/CD MLOps с циклом разработки продукта машинного обучения посредством определения приоритетов функций и улучшений продукта на матрице Эйзенхауэра.

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

Возьмем пример:

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

Вы работаете с менеджером(ами) проекта и/или менеджером(ами) по продукту, чтобы составить документ бизнес-требований (BRD), гибкую дорожную карту и начать планирование ресурсов вместе с вашими заинтересованными сторонами. Большим ЕСЛИ в этом процессе является ваша способность развернуть пригодную для использования модель машинного обучения, но вы не знаете, сколько времени это займет, насколько сложная задача и сколько ресурсов вам потребуется, пока вы не взглянете на данные и любые пробелы, которые могут быть.

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

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

Этот сценарий может применяться не только к новым продуктам, но и к усовершенствованию существующих продуктов с помощью моделей машинного обучения. Доминирующей структурой, с которой знакомы большинство специалистов по обработке данных, инженеров машинного обучения, инженеров MLOps и большинства разработчиков программного обеспечения, является CI/CD для разработки и внесения изменений в код. Однако CI/CD не идеально отражает эволюцию моделей машинного обучения из-за присущего им итеративного процесса обнаружения и внедрения функций.

Давайте посмотрим, как CI/CD в разработке продуктов машинного обучения сравнивается с CI/CD/CF, чтобы помочь демистифицировать структуру.

Традиционная среда MLOps CI/CD для разработки моделей машинного обучения

Процесс непрерывной интеграции (CI)/непрерывного развертывания (CD) довольно прост в MLOps с некоторыми вариантами, перечисленными ниже, которые отличают его от DevOps.

Шаг 0. Изучите данные с помощью исследовательского анализа данных (EDA).

[CI активирует следующие шаги]

Шаг 1. Подготовьте конвейер ETL/ELT из EDA.

Шаг 2. Подготовьте конвейер обучения модели с достаточной настройкой гиперпараметров, тщательной оценкой и надежной проверкой.

Шаг 3: Подготовьте конвейер вывода модели, соответствующий Соглашению об уровне обслуживания (SLA) ваших заинтересованных сторон (т. е. задержка вывода — потоковая/пакетная/и т. д.)

[CD срабатывает на следующих шагах]

Шаг 4. Разверните API логического вывода (с хранилищем функций или без него) в предпочитаемой облачной/локальной серверной/бессерверной архитектуре.

Шаг 5: Соревнуйтесь с развернутой моделью в сравнении с существующей моделью в производстве (если она существует) и/или с текущими процессами. Отслеживайте производительность вашей модели (т. е. дрейф, ключевые показатели эффективности, журналы событий, время безотказной работы и т. д.)

CI/CD отлично работает, если в бэклоге есть обученная и протестированная модель ML, но это только часть истории, которая часто не учитывает новые атрибуты данных, обнаруживаемые или внедряемые, когда модели ML могут извлечь выгоду из дополнительных прирост информации или меньше шума. Отсюда вечный вопрос: когда модель считается готовой для CI/CD? Именно здесь могут быть полезны концепции, лежащие в основе CF.

Непрерывная характеристика с использованием матрицы Эйзенхауэра ML

Вместо того, чтобы спешить с EDA или созданием самой сложной модели машинного обучения, определите ожидания от итеративной CI/CD/CF с заинтересованными сторонами и командой на вводном семинаре по изучению функций.

Шаг 0: Соберите каталог данных из хранилища/озера данных, которые обычно используются бизнес-подразделениями для конкретных случаев использования. Совместно с заинтересованными сторонами:

  • Понять метрики критериев успеха варианта использования с помощью ключевых показателей эффективности, которые можно сопоставить с моделью ML (например, ожидаемые значения, матрицы путаницы, F1-оценка, RMSE и т. д.).
  • Настройте словарь данных из выбранных наборов данных в каталоге данных во время семинара по исследованию функций.
  • Перетащите таблицы/схемы/функции из словаря данных в корзину «известные и доступные данные».
  • Обсудите с заинтересованными сторонами, нужна ли объяснимость модели, модели, обслуживающие SLA, и то, как окончательные KPI показателей успеха могут быть достигнуты с использованием траншированного подхода (т. функции, V2 = самая сложная модель, отвечающая всем KPI и т. д.).
  • Обсудите с заинтересованными сторонами, каков их список желаемых функций, и ранжируйте их по сложности курирования/адаптации. Поместите эти функции в корзину данных «Известные неизвестные».
  • Используйте метод взаимно-исключающего-условно-исчерпывающего (MECE) для мозгового штурма зависимостей данных (т. е. макроэкономических показателей, тщательно отобранных функций из других моделей ML и т. д.), от которых модель (модели) ML может потенциально извлечь выгоду в зависимости от контекста. Поместите эти функции в корзину данных «неизвестные неизвестные».

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

Шаг 2: Повторите все шаги CI/CD, перечисленные выше.

Шаг 3. На каждом контрольном совещании оценивайте производительность модели по ключевым показателям эффективности и переходите к следующему этапу функций для включения в жизненный цикл разработки машинного обучения. Обращайтесь к матрице Эйзенхауэра ML при разработке продукта.

Основные преимущества процесса CI/CD/CF:

  • Заинтересованные лица заинтересованы в процессе обнаружения функций и разработки модели машинного обучения.
  • Продуктовые команды могут лучше приблизиться к дорожной карте и контрольным точкам.
  • Исполнительные и управленческие команды могут «уменьшить масштаб» и применить одну и ту же матрицу Эйзенхауэра ML к нескольким продуктам ML, чтобы лучше определить приоритеты в зависимости от инвестиций, времени и ожидаемой рентабельности инвестиций.
  • Жизненный цикл разработки модели машинного обучения теперь полностью прозрачен, и продукты с большей вероятностью будут внедрены в производственную среду.

Краткое содержание

  • Continuous Featurization (CF) – это поэтапный итеративный процесс, сопоставляющий структуру CI/CD MLOps с циклом разработки продукта машинного обучения посредством определения приоритетов функций и улучшений продукта на матрице Эйзенхауэра.
  • CI/CD является основным компонентом общей MLOps, но не единственным компонентом в процессе разработки продукта ML.
  • CI / CD / CF дополняют друг друга в итеративном цикле разработки модели ML с помощью матрицы Эйзенхауэра ML, отслеживающей данные и зрелость модели с течением времени.
  • CF может принести дополнительную пользу исполнительным и управленческим командам, применяя продукты и / или возможности ML к ML eisenhower, чтобы помочь расставить приоритеты в ресурсах и раскрыть постоянную ценность для бизнеса.

Ссылки

Д. Кройцбергер, Н. Кюль и С. Хиршль, Операции машинного обучения (MLOPs): обзор, определение и архитектура (2022), arXiv