Блог UnionVK

Дизайн ML - систем: пространство проблем vs пространство решений

Прежде чем приступать к созданию проекта, ML-специалист должен задать себе несколько вопросов: какие цели ставит бизнес, какой выделен бюджет, какие сроки и какую ценность проект должен принести.

Дизайн-документ поможет ответить на эти вопросы. Лучше «похоронить» проект на стадии дизайна ML-системы, чем через 6 месяцев после старта. В этой статье мы рассматриваем важность продуманного дизайна ML-системы на реальных примерах.
Спикер: Валерий Бабушкин, Senior Principal Data, Data & Analytics, British Petroleum. ex-Meta, Blockchain.com, X5 Retail, Yandex. Автор книги "ML System Design".

UnionVK

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

Определение проблемы перед решением

Первым шагом всегда должно быть четкое определение проблемы. Часто инженеры спешат перейти к решению — начинают думать о датасетах и моделях, забывая о сути задачи. Однако если сама проблема не ясна, то и решение, скорее всего, окажется неэффективным. Такой подход позволяет сэкономить время и ресурсы.
"Очень часто владельцы компаний приходят и благодарят меня: «Валера, спасибо, что помог не сделать ML там, где это не нужно»."

Дизайн-документ

Хорошим инструментом для формулировки проблемы служит дизайн-документ. Если он составлен грамотно, этот документ поможет быстро выявить и остановить проект с низким ROI.

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

Исполнители важнее архитекторов

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

О важности письменной культуры

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

Цена ошибки

Цена ошибки — важный аспект при проектировании системы. Чем она выше, тем больше внимания следует уделять деталям разработки. Например, в задачах, связанных с выдачей кредитов, ошибки могут привести к бо́льшим финансовым потерям. При проектировании системы необходимо учитывать все возможные негативные сценарии.

Эффективное взаимодействие с бизнес-заказчиками

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

Хочешь получить больше знаний о дизайне ML-систем? Мечтаешь попасть в комьюнити IT-активистов, реализовать крутой проект или найти единомышлеников? Вступай в сообщество UnionVK! Ждём тебя 😉

Читать далее

ML/AI