Действительно ли это меняет то, как работает команда, если продукт включает в себя машинное обучение?» Краткий ответ - да!

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

Цель этой статьи — предоставить вам знания и ресурсы, необходимые для решения вашего следующего проекта PM for ML! Я узнал об этих вещах, когда работал стажером по машинному обучению в Deloitte, а в настоящее время также работаю с командой машинного обучения с точки зрения продукта в Personifi.

Чем же отличается машинное обучение от разработки программного обеспечения?

Внутренний процесс развития иной.

Например, вы создаете веб-приложение для работы со списком дел. Вы можете определить функции, которые должны быть построены относительно легко. Функциональный интерфейс для ввода задач, серверная часть для хранения и извлечения этих данных, удаления по завершении и, возможно, ведения истории выполненных задач. Как только эти задачи определены, команда может внедрить Agile-процесс, разбить эти функции на тикеты и приступить к работе. Проблемы часто четко определены, и хотя может быть много способов решить проблему,

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

Наука о данных состоит из 3 основных составляющих: исчисления, статистики и линейной алгебры. Но подождите, нужно ли вам знать это как менеджеру по продукту? На мой взгляд, нет.

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

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

Исследовательский анализ данных (EDA): анализ наборов данных для выявления ключевых компонентов, составляющих эти данные.

Помеченные данные: изображение кошки, изображение хранится в папке под названием «Кошка», программе сообщают, что изображения в папке — это кошки.

Немаркированные данные: изображение кошки, хранящееся в папке с именем «данные», в которой также хранятся изображения собак. Программа не знает, какое изображение является собакой, а какое — кошкой.

Функции: список (технически вектор) свойств того, о чем мы делаем прогноз, обозначенный числами.

Существует два основных типа алгоритмов машинного обучения: контролируемое и неконтролируемое обучение. (Полуконтролируемый существует, но выходит за рамки статьи)

Обучение с учителем
Обучение с учителем — это когда существуют размеченные данные и процесс, который можно автоматизировать или сгенерировать вероятность. В этой области вы столкнетесь с двумя типами проблем: регрессией и классификацией.

Регрессия
Когда необходимо установить взаимосвязь между двумя или более переменными — чтобы сделать какой-либо прогноз, регрессия — хороший выбор. Бывший. Увеличивает ли количество повторений сгибание рук на бицепс размер бицепса по мере того, как вы делаете больше повторений?

Алгоритмы для изучения:
Линейная регрессия, Байесовский хребет, Нейронные сети (это целая тема сама по себе!)

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

Алгоритмы для изучения:
KNN, SVM, Деревья решений

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

Алгоритмы для изучения:
К-средние, PCA

Как помочь командам машинного обучения расставить приоритеты
В качестве менеджера по проектам вам нужно ежедневно отслеживать, как работают команды машинного обучения. Эндрю Нг (очень известный специалист по данным) рекомендует ежедневный спринт, поскольку, хотя для исследования и понимания требуется много времени, цели меняются ежедневно по мере сбора дополнительной информации.

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

Как продакт-менеджеру вам нужно отслеживать команды машинного обучения и понимать, на чем им нужно сосредоточиться. Хороший способ сделать это — провести 30-секундную или 1-минутную презентацию на человека, в которой рассказывается об их выводах за прошедший день, будь то исследования, анализ данных или построение моделей. Это позволяет команде и продакт-менеджеру понять, над какими разными вещами ведется работа, и если есть тупиковые ситуации, как их решить.

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

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

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

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

Источники:
Стостраничная книга по машинному обучению — Андрей Бурков
Хорошо подходит для математического погружения в машинное обучение, подходит для людей с математическим/CS/инженерным образованием. .

Towards Data Science — средняя страница для изучения ML

Как стать отличным продакт-менеджером по машинному обучению от Google Product Manager

Машинное обучение для продакт-менеджеров (настоятельно рекомендую эту серию)