Что такое жизненный цикл разработки программного обеспечения (SDLC)?
SDLC - это методология разработки программных проектов с четко определенными процессами для создания программного обеспечения хорошего качества. Методология SDLC в целом включает следующие этапы:
- Анализ требований
- Планирование
- Архитектура и проектирование подсистем
- Кодирование
- Тестирование
- Развертывание
- техническое обслуживание
Что такое жизненный цикл машинного обучения (MLLC)?
Как определяется жизненный цикл разработки программного обеспечения, разработка модели машинного обучения также требует аналогичной методологии. MLLC - это циклический процесс, через который должна пройти команда, чтобы построить модели хорошего качества и управлять ими. Ниже приведены основные этапы MLLC:
- Бизнес-требования
- Сбор и подготовка данных
- Исследовательский анализ
- Обучение
- Выбор и проверка модели
- Развертывание
- Мониторинг
Чем MLLC отличается от SDLC?
Программное обеспечение против модели
Программное обеспечение создается на основе требований, предъявляемых на первом этапе SDLC. Но в машинном обучении модель строится на основе определенного набора данных. Программные системы не потерпят неудачу после развертывания, если не будут изменены требования. Но это не относится к машинному обучению, основные характеристики данных могут измениться, и ваши модели могут не дать правильного результата.
Хорошо созданное программное обеспечение может обрабатывать различные сценарии, но не может сказать того же о моделях машинного обучения. Данные, используемые для обучения, рано или поздно изменятся, что неизбежно.
Давайте возьмем модель, которая классифицирует собаку и кошку, в течение определенного периода времени вашей модели может быть поручено классифицировать новый хлеб собаки или кошки. Модель обязательно выдаст ответ. Он будет пытаться соотнести самое близкое с тем, что видел во время тренировки. Но можно ли быть уверенным, что результат правильный, а может и нет? Со временем цель, которую вы прогнозируете, может измениться, или характеристики данных могут измениться, или используемые функции больше не будут достаточными для прогнозирования.
Техническое обслуживание против мониторинга
В программном обеспечении мониторинг - это чаще всего проверка времени безотказной работы или времени отклика. Каждый раз, когда обнаруживается ошибка, команда исправляет ее и развертывает снова. В машинном обучении, как мы обсуждали ранее, модель может давать результат, но результат может быть неверным. Очень важно отслеживать входные и выходные данные модели.
Мало что нужно контролировать каждой операционной модели:
- Целостность данных
- Распределение входных данных модели
- Зависимости пакетов
- Метрики производительности модели
- Производительность инфраструктуры развертывания
Инструменты мониторинга машинного обучения, доступные в настоящее время, еще только появляются. В Dblue.ai мы думаем, что пора предоставить лучший в своем классе инструмент для автоматического отслеживания аномалий с помощью модели и данных. Итак, мы создали MLWatch для упреждающего мониторинга моделей и данных машинного обучения.
MLWatch будет отслеживать прогнозы вашей производственной модели машинного обучения в режиме реального времени и предупреждать вас о снижении производительности, аномалиях и дрейфе данных. Укрепляйте доверие к своей модели, понимая ее поведение и повышая наглядность данных прогнозов. Обнаружьте систематическую ошибку модели, чтобы убедиться, что ваши модели справедливы для всех сегментов совокупности данных.
Первоначально опубликовано на https://dblue.ai 22 апреля 2020 г.