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

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

Гибкость и экономичность в машинном обучении

Agile и Lean стали мощными подходами к разработке программного обеспечения и получили широкое распространение в технологических и других отраслях. Эти подходы помогают командам преодолеть риски разработки крупных проектов, которые в конечном итоге окажутся бесполезными или малоэффективными (что часто встречается в подходах к управлению каскадными проектами). Суть в том, что в начале инициативы вы недостаточно знаете, чтобы точно спланировать, что вам нужно построить, чтобы добиться успеха. Поэтому, если вы заранее спланируете масштабный проект, он, скорее всего, не принесет желаемого результата. Agile и Lean помогают решить эту проблему, делая акцент на том, чтобы начинать с простого (с таких методов, как прототипы и минимально жизнеспособные продукты), охватывать изменения, интегрировать обратную связь и быстрее создавать ценность.

Те же уроки, которые мы извлекли из разработки программного обеспечения, можно применить и к разработке машинного обучения. Конечная цель инициативы ML также состоит в том, чтобы принести пользу и положительное влияние на компанию и пользователей, но также могут возникать подводные камни при управлении каскадными проектами. В случае ML может быть особенно сложно подумать о том, как начать с малого, чтобы проверить гипотезу, поскольку дойти до точки, когда у вас есть модель ML, готовая для тестирования, уже много работы: ETL для создания наборов данных. , обработка данных, моделирование, оценка моделей в автономном режиме, развертывание модели, чтобы ее можно было протестировать в рабочей среде… Мы рассмотрим три альтернативы, чтобы начать с малого в инициативе ML: эвристика на основе правил, вертикальный срез решения и покупка вместо строительства.

Вариант 1. Эвристика на основе правил

ML MVP (минимально жизнеспособный продукт) иногда можно реализовать как простую эвристику, основанную на правилах, поскольку это простой и быстрый способ проверить или опровергнуть гипотезу «Можем ли мы положительно повлиять на наших пользователей или бизнес с помощью этого решения?».

Представьте, что мошенничество становится проблемой в вашей компании. Машинное обучение оказалось хорошим решением этой проблемы и применяется в большинстве компаний для обнаружения подозрительных транзакций. Из-за этого может иметь смысл думать о модели ML как о решении этой проблемы, но за этим мышлением по-прежнему будет много предположений, которые имеет смысл проверить, прежде чем идти ва-банк. Кроме того, разработка полного решения ML для на решение этой проблемы уйдут месяцы, а компания не может выдержать месяцы с растущим мошенничеством. Это идеальный сценарий, чтобы придумать «настоящий» MVP ML ​​и продолжить работу с ним по мере того, как вы доказываете свою ценность и получаете отзывы.

Одним из вариантов было бы предложить простую систему, основанную на правилах, которая помогает обнаруживать некоторые (или наиболее очевидные) случаи мошенничества. Эта система может быть получена путем анализа данных и выявления закономерностей в сотрудничестве с бизнес-знаниями: какие характеристики помогают отличить мошенническую транзакцию от немошеннической? Реализация небольшой древовидной модели также может быть способом получения этих правил. Когда у вас есть эти правила, вы сможете получить некоторые оценки того, насколько они хороши или плохи: исторические данные можно использовать для получения % мошеннических операций, которые вы сможете обнаружить (Истинно положительный показатель), процент мошеннических операций, которые вы не можете обнаружить (Коэффициент ложноотрицательных результатов)…

Благодаря быстрой и легкой работе вы получите решение, которое легко развернуть или интегрировать в ваши системы (поскольку его можно перевести на любой язык программирования в виде операторов IF-ELSE). Оттуда вы можете начать думать о том, имеет ли смысл продолжать работать над этим решением и улучшать его. Итерации обычно означают более сложные функции и настоящие модели машинного обучения как средство повышения производительности с помощью показателей (в данном случае Истинно положительный показатель, Ложноотрицательный показатель…).

Вариант 2. Вертикальный срез решения

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

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

Вариант 3: купить или построить

Третий вариант, о котором хотелось бы упомянуть, это возможность купить или оплатить модель как услугу, уже реализованную другой компанией. Есть множество поставщиков, предлагающих модели как услугу по разумным ценам (AWS, Microsoft, Google… или даже с открытым исходным кодом, например, Hugging Face). В зависимости от варианта использования может иметь смысл начать платить за услугу, проверить гипотезу и получить некоторые показатели воздействия. Оттуда решите, стоит ли инвестировать в его создание собственными силами, чтобы сократить расходы или повысить производительность за счет тонкой настройки.

Следуя предыдущему примеру о мошенничестве, большинство упомянутых выше поставщиков предлагают модели обнаружения мошенничества в качестве услуги, и существуют даже специализированные продукты или инструменты, предлагающие эти услуги (например, Ravelin, Nethone…).

Бонус: интерпретация результатов

Начинать с малого имеет много преимуществ, но решения и выводы на протяжении всего процесса могут быть непростыми и непростыми.

Если вам удастся положительно повлиять на показатели вашего бизнеса или продукта с помощью этой первой итерации, вы подтвердите гипотезу о том, что это действительно было правильным решением для решения или улучшения данной проблемы. Продолжение работы над этой инициативой означает решение технического долга, который вы решили не покрывать изначально (например, «простой процесс развертывания, который не нужно масштабировать»), и понимание того, стоит ли повторять модель машинного обучения. . Итерация модели обычно означает затрату больших усилий (кодирование большего количества и лучших функций для набора данных, повторение алгоритма…) для улучшения определенных показателей в автономном режиме в надежде, что это поможет сдвинуть окончательное воздействие даже больше, чем первоначальное решение (и это бывает не всегда).

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

Подведение итогов

  1. Agile и Lean — ключ к разработке решений машинного обучения, которые приносят пользу
  2. Варианты, чтобы начать с ML с малого, включают: подход, основанный на правилах, вертикальные срезы и покупку вместо создания.
  3. Интерпретация результатов для принятия решения о следующих шагах после первой небольшой итерации может быть сложной.

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

Ссылки

[1] Бережливый стартап, Эрик Рис.

[2] Вертикальная нарезка для повышения ценности программного обеспечения