Это шестая часть учебного пособия Пошаговое руководство PM по созданию продуктов на основе машинного обучения из 6 частей.

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

  • Требования в режиме реального времени. Можно ли рассчитать результаты ваших алгоритмов заранее или их нужно рассчитывать в режиме реального времени? Когда вы получаете новые данные и / или пользователи вводят определенную информацию или выполняют определенные действия, должны ли ваши модели давать обновленные результаты, которые немедленно отражают новые данные? Архитектура системы реального времени сильно отличается от архитектуры системы, которая может обрабатывать данные в автономном режиме.
  • Зависимости данных и моделей. Ваша система может состоять из нескольких моделей, в которых выходные данные одной являются входными. Когда выходные данные одной модели изменяются, нужно ли повторно запускать какие-либо другие модели? Когда данные добавляются или изменяются, какие модели необходимо повторно запускать (а иногда даже повторно обучать)? Как быстро должны происходить обновления - каковы приемлемые соглашения об уровне обслуживания?
  • Частота сбора данных. Скорость, с которой собираются и накапливаются данные, влияет как на структуру ваших конвейеров, так и на способ хранения, который вы выберете. Он определяется тем, как часто данные фактически меняются, насколько важно знать, что они изменились, и насколько дорого обходится получение данных (с точки зрения затрат на покупку, если вам нужно за них платить, а также извлечения, обработки и стоимость хранения). Например, если вы собираете данные о землетрясениях, данные могут меняться не очень часто, но когда они действительно меняются, вы хотите знать об этом немедленно; Если вы собираете данные об открытии и закрытии ресторанов, эти данные могут изменяться чаще, чем данные о землетрясениях, но если вы на день раньше или позже обнаружили изменение, это не так важно для общей полезности вашего продукта.
  • Методы сбора данных. Как собираются данные - пакетно или непрерывно? Его толкают или тянут? Требования реального времени еще больше усложняют это. Ваша система может нуждаться в поддержке нескольких методов сбора или загрузки данных - API, загрузки файлов и т. Д. Она должна быть достаточно модульной, чтобы поддерживать все необходимые методы и отделять прием данных от обработки данных (что, в любом случае, является хорошим принципом разработки программного обеспечения).

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

Дайте мне знать, что вы думаете - было ли это руководство полезным? Соответствует ли это твоему опыту? Что еще вы хотели бы знать? Оставляйте отзывы в комментариях!

Чтобы прочитать больше моих работ по управлению продуктом и подписаться на мой информационный бюллетень, посетите https://producthumans.com/. Скоро появится больше контента (включая машинное обучение)!