Что такое жизненный цикл разработки программного обеспечения (SDLC)?

SDLC - это методология разработки программных проектов с четко определенными процессами для создания программного обеспечения хорошего качества. Методология SDLC в целом включает следующие этапы:

  1. Анализ требований
  2. Планирование
  3. Архитектура и проектирование подсистем
  4. Кодирование
  5. Тестирование
  6. Развертывание
  7. техническое обслуживание

Что такое жизненный цикл машинного обучения (MLLC)?

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

  1. Бизнес-требования
  2. Сбор и подготовка данных
  3. Исследовательский анализ
  4. Обучение
  5. Выбор и проверка модели
  6. Развертывание
  7. Мониторинг

Чем MLLC отличается от SDLC?

Программное обеспечение против модели

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

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

Давайте возьмем модель, которая классифицирует собаку и кошку, в течение определенного периода времени вашей модели может быть поручено классифицировать новый хлеб собаки или кошки. Модель обязательно выдаст ответ. Он будет пытаться соотнести самое близкое с тем, что видел во время тренировки. Но можно ли быть уверенным, что результат правильный, а может и нет? Со временем цель, которую вы прогнозируете, может измениться, или характеристики данных могут измениться, или используемые функции больше не будут достаточными для прогнозирования.

Техническое обслуживание против мониторинга

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

Мало что нужно контролировать каждой операционной модели:

  • Целостность данных
  • Распределение входных данных модели
  • Зависимости пакетов
  • Метрики производительности модели
  • Производительность инфраструктуры развертывания

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

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

Первоначально опубликовано на https://dblue.ai 22 апреля 2020 г.