ML System Design Document#
При проектировании систем машинного обучения, одним из ключевых аспектов является разработка дизайн-документов (ML System Design Documents). По сути - сводного плана по построению ML-системы для решения конкретного запроса бизнеса.
Такие документы играют важную, а порой, и критическую, роль в процессе разработки и внедрения сложных ML-моделей. В первую очередь, они служат основой для понимания запроса бизнеса и возможностей реализации модели машинного обучения в таком виде, чтобы они потом, в действительности, могли быть как внедрены в бизнес-процесс компании, так и принести ей финансовую пользу, то есть, сделать этот бизнес-процесс лучше. Для этого в дизайн-документе достаточно детально описывается, а значит, и прорабатывается, дизайн архитектуры ML-системы, структуры и качества данных, распределения обязанностей команды и критериев успешности работы ML-модели.
ML System Design документы помогают командам разработчиков и инженеров в создании общего понимания целей проекта, его ограничений и технических требований. Эти документы также способствуют обеспечению прозрачности и эффективного взаимодействия между участниками команды. Благодаря четкому описанию структуры системы, ее компонентов и взаимодействия между ними, ML System Design Documents способствуют улучшению процесса разработки, снижению рисков и повышению качества конечного продукта.
Поэтому изучение и понимание процесса разработки ML System Design Documents имеет решающее значение для успешного внедрения систем машинного обучения. Данная глава посвящена детальному разбору важности и принципов создания таких документов, чтобы обеспечить эффективное функционирование систем машинного обучения.
Зачем нужен дизайн документ#
В сфере машинного обучения примерно лишь 5% моделей действительно достигают стадии продуктивного использования, тогда как только немногие из них приносят реальную финансовую пользу. Почему же так мало моделей МО завершают свой путь и приносят плоды в виде улучшения бизнес-показателей? Дело часто заключается в недостаточно четком или комплексном понимании требований и проектирования системы.
Почему некоторые модели не доходят до продуктива или не приносят пользу?
Недостаточное понимание бизнес-задач или “бизнес-заказчику нужно было другое”: Модель может быть разработана без должного понимания бизнес-задач, что приводит к тому, что она не решает реальные проблемы бизнеса или не соответствует поставленным целям.
Например:
Для задачи вообще не нужен был ML, который сразу стали делать, потому что он ML
При разработке модели учли мнение не всех важных стейкхолдеров. Ожидания обиженной стороны, появившиеся уже после разработки MVP, кардинально меняют подход к разработке (нужно все переделывать).
Недостаточное внимание к тестированию и валидации итоговой работы модели на старте разработки: Отсутствие корректного тестирования и валидации модели может привести к тому, что она не способна обобщать на новые данные или выдавать точные прогнозы в реальном мире.
Ниже примеры из реальной практики, когда в процессе разработки выяснялось, что ML-решение не может быть построено:
Часть данных для расчета целевой метрики оптимизации - критически плохого качества, их нет, или они поступают с задержкой.
Бизнес-процессу требуется гибкость, которую построенная ML-модель не может себе позволить.
Неподходящий выбор архитектуры и подхода: Некорректный выбор архитектуры модели или алгоритмов, не соответствующих задаче, может привести к ее неэффективной работе.
Например:
Целевая метрика, выбранная для моделирования, не подошла заказчику. Модель не смогли принять для внедрения в бизнес-процесс. Что выяснилось только на этапе представления MVP, на который было потрачено полгода (в хорошем сценарии).
Недостаточное внимание к различным аспектам ожидаемой работы ML-модели в бизнес-процессе: на этапе внедрения модели в бизнес-процесс выясняется, что это сделать невозможно, либо убыточно.
При внедрении ML-модели в боевые условия мы можем обнаружить, что :
В бизнесе уже есть расчетная формула/тул/процесс без ML, качество которого значительно выше, чем у ML-решения
Для внедрения модели нужно создать новый бизнес-процесс, стоимость обслуживания которого значительно выше, чем дополнительный доход от ML
Внедрение ML-сервиса в продуктив невозможно из-за вопросов безопасности
Создание дизайн-документа для системы машинного обучения поможет избежать указанных проблем и улучшит шансы модели на успешную интеграцию в рабочий процесс и приносящий реальную пользу бизнесу.
В следующих разделах мы детально рассмотрим возможный шаблон дизайн-документа, а также рекомендуем возможный процесс его создания и расскажем о внедрении в бизнес-процессы.