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-сервиса в продуктив невозможно из-за вопросов безопасности

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

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