Прежде чем приступать к созданию проекта, ML-специалист должен задать себе несколько вопросов: какие цели ставит бизнес, какой выделен бюджет, какие сроки и какую ценность проект должен принести.
Дизайн-документ поможет ответить на эти вопросы. Лучше «похоронить» проект на стадии дизайна ML-системы, чем через 6 месяцев после старта. В этой статье мы рассматриваем важность продуманного дизайна ML-системы.
Спикер: Валерий Бабушкин, Senior Principal Data, Data & Analytics, British Petroleum. ex-Meta, Blockchain.com, X5 Retail, Yandex. Автор книги "ML System Design".
YNDX Family
Материал подготовлен на основе онлайн-встречи YNDX Family, неофициального сообщества текущих и бывших сотрудников группы Яндекса. Присоединяйся к комьюнити, если ты тоже выпускник-яндексоид :)
Полная запись встречи доступна всем участникам сообщества в закрытой базе знаний.
Полная запись встречи доступна всем участникам сообщества в закрытой базе знаний.
Определение проблемы перед решением
Первым шагом всегда должно быть четкое определение проблемы. Часто инженеры спешат перейти к решению — начинают думать о датасетах и моделях, забывая о сути задачи. Однако если сама проблема не ясна, то и решение, скорее всего, окажется неэффективным. Такой подход позволяет сэкономить время и ресурсы.
"Очень часто владельцы компаний приходят и благодарят меня: «Валера, спасибо, что помог не сделать ML там, где это не нужно»."
Дизайн-документ
Хорошим инструментом для формулировки проблемы служит дизайн-документ. Если он составлен грамотно, этот документ поможет быстро выявить и остановить проект с низким ROI.
Для поиска проблемы можно использовать метод обратной пирамиды. Начните с общих вопросов, а затем постепенно углубляйтесь в детали с помощью вопросов второго уровня. Важно отслеживать несоответствия с ранее полученными ответами. Завершите процесс, проведя несколько интервью с экспертами из различных областей.
Для поиска проблемы можно использовать метод обратной пирамиды. Начните с общих вопросов, а затем постепенно углубляйтесь в детали с помощью вопросов второго уровня. Важно отслеживать несоответствия с ранее полученными ответами. Завершите процесс, проведя несколько интервью с экспертами из различных областей.
Исполнители важнее архитекторов
Проектирование системы лучше доверить исполнителям, а не архитекторам. Исполнители лучше понимают все нюансы и ограничения, которые могут возникнуть в процессе разработки, и способны предложить более практичные решения.
О важности письменной культуры
Заказчики не всегда могут чётко сформулировать свои запросы, поэтому важно зафиксировать единое понимание проблемы в письменной форме. Без записи договоренностей каждый участник проекта может воспринимать задачу по-своему, что приводит к путанице и дезорганизации. Не требуется идеальный текст — главное зафиксировать основные пойнты, а затем доработать их.
Цена ошибки
Цена ошибки — важный аспект при проектировании системы. Чем она выше, тем больше внимания следует уделять деталям разработки. Например, в задачах, связанных с выдачей кредитов, ошибки могут привести к бо́льшим финансовым потерям. При проектировании системы необходимо учитывать все возможные негативные сценарии.
Эффективное взаимодействие с бизнес-заказчиками
Это ключевой аспект успешной работы. Заказчики часто считают,что проблема уже обсуждена, хотя на самом деле остаются неясными важные детали. Чтобы избежать недопонимания, важно регулярно информировать заказчиков о прогрессе проекта. Также полезно общаться с людьми разных уровней, чтобы охватить как стратегические, так и тактические перспективы. Редко кто откажет в 30-минутном интервью, если убедить, что это принесет пользу всем сторонам.
Хочешь получить больше знаний о дизайне ML-систем? Мечтаешь попасть в комьюнити IT-активистов, реализовать крутой проект или найти единомышлеников? Вступай в сообщество YNDX Family! Ждём тебя 😉