Освоение управления проектами машинного обучения

Освоение управления проектами машинного обучения

22 июня 2023 г.
Приложения

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

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

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

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

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

Настройка проекта

Прежде чем погрузиться в проект, необходимо учесть несколько факторов.

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

Компиляция и аннотация данных

В большинстве случаев данные должны быть помечены вручную. Не имеет значения, выполняется ли маркировка в одиночку или командой: в любом случае документирование процесса необходимо. Однако из-за огромного объема неразмеченных данных это не всегда доступно; в этой ситуации можно использовать активное обучение, чтобы определить, какое подмножество данных следует пометить. Если вам повезет, доступные данные могут содержать некоторую информацию, которая может служить зашумленным приближением к истине. Например, в проекте, связанном со здоровьем, исторические медицинские записи можно использовать для извлечения соответствующих характеристик и построения эвристики, помогающей в первоначальной диагностике определенных состояний.

Исследование моделей и эксперименты

Затем необходимо установить минимальный ожидаемый уровень производительности, используя, например, KNN или Random Лес как простые базовые показатели и целевой уровень производительности. Мой совет — использовать прогрессивный подход, начиная с более простых моделей и постепенно усложняя их. Литературные исследования и консультации с коллегами могут помочь в поиске подходящих архитектур моделей и выборе проверенного подхода для базовой модели, гарантируя, что ее производительность на широко используемом наборе данных соответствует заявленным результатам. Наконец, исследуйте масштабируемость модели, построив график взаимосвязи между увеличением размера набора данных и производительностью определенных базовых моделей.

Оптимизация модели

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

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

Проверка модели и оценка эффективности

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

Развертывание модели

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

Дальнейшее обслуживание модели

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

Заключение

Как видите, проекты машинного обучения носят исследовательский характер и сопряжены со значительным риском неудачи, а окупаемость инвестиций редко гарантируется на ранних этапах внедрения. Кроме того, он включает в себя отличительную и часто индивидуализированную стратегию, которая включает компоненты из Scrum, Kanban, CRISP-DM или TDSP. Описанный выше процесс можно использовать в качестве руководства для организации такого проекта. Однако, как было сказано ранее, учитывая, что сами проекты ОД весьма специфичны, каждый отдельный случай еще более уникален и должен рассматриваться отдельно. Поэтому эта структура не может служить универсальным решением и должна претерпевать существенные изменения. Тем не менее, это может быть хорошей отправной точкой для изучения того, как такие проекты могут быть структурированы, но не обязательно.

:::информация Главное изображение для этой статьи было создано генератором изображений искусственного интеллекта HackerNoon с помощью подсказки «машинное обучение»

:::

н


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE