Venture Beat сообщает, что 87% проектов по науке о данных терпят неудачу и никогда не переходят в производство. Менеджеры технических программ (TPM) могут внести изменения в эту статистику и помочь группам специалистов по данным и инженерам создавать успешные проекты ИИ.

В этой статье я исследую некоторые аспекты управления программами для проектов машинного обучения (ML) и предлагаю путь обучения для TPM, чтобы повысить их набор навыков для проектов, содержащих компонент ML.

Рекомендации по проектам, ориентированным на машинное обучение

Они применяются на протяжении всего жизненного цикла проектов машинного обучения.

Это проблема ИИ?

Рассмотрим Джека, который открыл свой блокнот и начал штамповать код Python, что в конечном итоге привело к тому, что он и Джейн приблизились к повышению точности своей модели обнаружения изображений до 95 процентов. Вуаля! Теперь они могли отличить кошку от собаки (я знаю, еще одно кошачье клише). Время запустить код в производство и расслабиться! А потом кто-то спросил: Какую проблему клиентов мы решаем?

В проектах искусственного интеллекта (ИИ) компонент машинного обучения обычно является частью общей бизнес-проблемы, а не самой проблемы.

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

  • Привлечение экспертов по человеческому опыту и использование таких методов, как дизайнерское мышление, чтобы в первую очередь понять потребности клиентов и поведение людей. Например, если ваш клиент хочет говорить о тематическом моделировании вместо персонажей, вы ведете неправильный разговор.
  • Сосредоточение внимания на принципах проектирования системы для определения архитектурных компонентов, сущностей, зависимостей, интерфейсов и ограничений. Задавайте правильные вопросы заранее и изучайте альтернативные варианты дизайна вместе с командой инженеров. Мона Солиман Хабиб, главный специалист по данным и прикладным исследованиям в Microsoft, считает, что этоодна из основных основ проекта, ориентированного на машинное обучение, в котором TPM могут оказать существенное влияние.
  • Тщательно обдумайте затраты на машинное обучение и сможете ли вы решить повторяющуюся проблему в масштабе. Во многих случаях вы можете решить проблемы клиентов с помощью аналитики данных, информационных панелей или алгоритмов на основе правил. Я знаю, что эти решения могут быть не такими крутыми, но это правда!

Укрощение двусмысленного зверя

Хорошо, допустим, вы пришли к выводу, что машинное обучение может помочь в вашем проекте. Что теперь?

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

  • Самая важная часть работы TPM — это установить четкие ожидания. Если заказчик хочет получить точность более 95 процентов при ограниченных данных и времени, он нереалистичен.
  • Определите показатели эффективности и обсудите достаточно хороший прогноз, который принесет пользу бизнесу. 80-процентная «достаточно хорошая» ставка может сократить расходы бизнеса и повысить производительность, но если переход с 80 до 95 % потребует невообразимых затрат и усилий, стоит ли оно того?
  • Создайте небольшую команду и проведите технико-экономический анализ с помощью таких методов, как EDA (исследовательский анализ данных). ТЭО — гораздо более дешевый подход к оценке качества данных, ограничений клиентов и осуществимости модели. Это позволяет TPM лучше понимать варианты использования клиентов, а также текущую среду (например, есть ли у нас доступ к данным и достаточно ли данных?) и может действовать как отказоустойчивый механизм. Обратите внимание, что технико-экономическое обоснование должно быть гибким (измеряемым в неделях) и иметь масштаб, чтобы принести немедленную пользу для принятия решений по проекту.
  • Как и в любом проекте, возникнут новые потребности (дополнительные источники данных, технические ограничения, наем специалистов по маркировке данных, время бизнес-пользователей и т. д.), поэтому учитывайте их при оценке, чтобы избежать неожиданностей.

Ноутбуки != Машинное обучение

Возможно, вы видели видео на YouTube, где ниндзя-программист использовала свою магию Python для создания механизма обработки естественного языка в ноутбуках. Она даже поделилась .iPynb, чтобы вы начали. К сожалению, это не приведет вас к производству. TPM должен быть здесь разрушителем мифов:

  • Понимать сквозной поток управления данными, в том числе то, как данные будут доступны (потоки приема, форматы и частота), как они будут храниться и как будут сохраняться. . Планируйте пользовательские истории и всплески вокруг этих потоков, чтобы убедиться, что вы создаете надежный конвейер машинного обучения, а не демонстрацию.
  • Ваша инженерная команда должна придерживаться такой же строгости при создании проектов машинного обучения, как и при любом проекте разработки программного обеспечения. Мы в Microsoft CSE (Разработка коммерческого программного обеспечения) создали хороший набор ресурсов на основе наших знаний в нашем инженерном учебнике.
  • Проекты, ориентированные на машинное обучение, — это не одноразовые решения; вместо этого их нужно взращивать, развивать и улучшать с течением времени. Вот аналогия, которую предлагает Крейг Роджер, главный специалист по данным и прикладным исследованиям в Microsoft: «Это похоже на решение завести щенка: сначала это может показаться дешевым, но это следует рассматривать как 15-летнее обязательство и путешествие. ”

Мусорные данные на входе –> Мусорная модель на выходе

Можно написать книгу (и многие были) написаны о том, как качество данных является основным фактором, влияющим на производительность модели. TPM может не принимать непосредственного участия в очистке данных и инженерных работах, но все же должен понимать, почему группа данных продолжает говорить: Данные не очень хорошего качества (как если бы это были суши из того сомнительного ресторана в центре города).

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

Вам нужно больше людей — прямо сейчас

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

Ваша функция — не моя функция

TPM знакомы с функциями, поскольку они являются основным механизмом выпуска для любого проекта. Однако в мире машинного обучения функции имеют совершенно другое значение. Feature Engineering позволяет преобразовывать данные, чтобы их можно было использовать для алгоритма. Входными данными для Feature Engineering являются необработанные данные, а выходные данные обычно называются вектором признаков. Создание правильных функций — это искусство, которое может потребовать экспериментов, а также знаний в предметной области. Учитывайте эти факторы при планировании расписания и выделяйте время экспертам предметной области в проекте. Например, для механизма обработки естественного языка для анализа текста финансовых документов мы наняли финансовых исследователей, которые вместе с командой инженеров смогли провести оценку релевантности, чтобы определить нужные функции.

Это предвзятый мир

Предвзятость в машинном обучении может быть главной проблемой модели, которая не работает должным образом. Есть много причин, по которым в данных может появиться систематическая ошибка, которая, в свою очередь, может повлиять на производительность модели. TPM может помочь команде машинного обучения, определяя правильные сценарии использования и целевые персонажи. Например, для алгоритма распознавания человека, если источник данных подает только определенный тип кожи, то производственные сценарии не дадут надежных результатов. Подумайте об ответственных принципах ИИ с первого дня, чтобы обеспечить справедливость, безопасность, конфиденциальность и прозрачность моделей. Мы выражаем благодарность Темпест ван Шайк, старшему научному специалисту по данным и прикладным исследованиям, и Бухуанесу Ливермору, главному исследователю дизайна в Microsoft, за то, что они неустанно подчеркивают принципы ответственного ИИ в наших проектах CSE.

Обучающий путь для TPM

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

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

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

Ключом к роли TPM являются фундаментальные принципы, которые включают внесение ясности в команду. Проектное мышление, подведение команды к правильным техническим решениям, управление рисками, управление заинтересованными сторонами, управление незавершенными работами и управление графиком проекта — это TPM. сверхспособности. TPM дополняет команду машинного обучения, обеспечивая понимание проблем и потребностей клиентов, оценку целостного дизайна системы и соответствие целей клиентов ожиданиям заинтересованных сторон. Вот несколько ссылок, которые могут помочь: Должен ли менеджер технической программы (TPM) быть техническим специалистом?, The TPM Don’t M*ck Up Framework и Разум TPM.

Основы машинного обучения

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

Применимость домена

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

Заключение

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

Ник Сачдева в LinkedIn.