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

1. Разберитесь в бизнесе и помогите бизнесу понять решение

Предварительно обученные языковые модели НЛП - это довольно круто, и Google / Microsoft / Amazon и практически любая другая известная технологическая компания участвует в этом. Но пока вы не объясните, какие конкретные проблемы может решить эта технология, пользователям все равно. Это может быть парадоксом для специалистов по обработке данных / инженеров по машинному обучению: как бы мы ни любили погружаться в новейшие технологические достижения, мы не должны одновременно влюбляться в эту технологию. Вместо этого мы должны стремиться понять болевые точки, с которыми сталкивается бизнес, и помочь соответствующим пользователям понять, что решения машинного обучения могут для них сделать.

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

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

Сложность внедрения не обязательно связана со стоимостью бизнеса. Другими словами, то, что является сложным в науке о данных, может не иметь ценности для бизнеса. И наоборот, то, что на самом деле просто реализовать, может предоставить пользователям массу удобства. Что-то вроде инструмента бизнес-аналитики, показывающего данные, которые уже есть у заинтересованных сторон, часто оказывается малоэффективным.

2. Прототип, прототип, прототип… затем Социализируйте его

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

  • «Показывать, а не рассказывать». Это дает бизнес-пользователям и руководству уверенность в том, что команда имеет прочную основу для реализации проекта. Это также помогает установить взаимопонимание с бизнес-пользователями.
  • Отделяйте реальность от шумихи - рабочий прототип конкретизирует, что можно сделать с помощью этой технологии. Это очень много значит для бизнес-пользователей, которых «продают» на продвигаемых ажиотажем проектах поставщики, которые сильно заинтересованы в их бизнесе.
  • Базовая линия мечты - базовая линия, на которой (потенциальный) пользователь может мечтать. Показывая им рабочий прототип, он может вызвать другие «варианты использования», о которых в противном случае пользователь мог бы не подумать.
  • Материальная обратная связь - вы можете сразу же получить обратную связь заранее. Люди с большей вероятностью предложат конструктивный взгляд на что-то конкретное и осязаемое, по сравнению с каким-то абстрактным слайдом PowerPoint, который они могут понять или не понять.
  • Погрузитесь в технико-экономическое обоснование. Иногда мы не знаем, насколько осуществимой или сложной может быть реализация, пока не опробуем ее.
  • Возможность совместного использования - чем-то вроде простого веб-приложения можно легко «поделиться», и кто-то может поделиться им со словами: «Эй, посмотри, что было сделано этой группой, как ты думаешь, мы можем использовать - случай подобного рода? » В нашем случае простой прототип веб-приложения в форме вопросов и ответов привел к тому, что еще 2 бизнес-подразделения захотели получить решение, к нашему большому удовольствию!

3. Мини-победы важны!

Инновации - это беспорядок, и они редко начинаются с большого взрыва. Чтобы сразу приступить к делу, важно определить то, что иногда называют «быстрой победой». Я предпочитаю термин «мини-выигрыши» - проекты, которые относительно просто реализовать и которые можно развернуть с минимальным риском.

  • Отмечайте маленькие победы - наличие «мини-побед» позволяет команде часто отмечать «мелочи». Эти маленькие праздники помогают поднять боевой дух команды.
  • Развивайте технологию - создавайте базовые технологические модули, на которых можно развиваться более великим. Например, работа над простым семантическим поиском может привести к более сложным методологиям поиска, которые могут включать такие вещи, как графы знаний, для получения более точной информации.
  • Повышение потенциала команды. Расширяйте возможности команды - люди начнут получать опыт, «привязанный» к ним.
  • Вы чему-то учитесь - создавая «мини-победы» и общаясь с пользователями, вы действительно чему-то учитесь. Это может быть что-то вроде «Я хочу, чтобы это приложение могло выполнять XXX и YYY», что само по себе может превратиться в совершенно новый проект.

Это похоже на игру - вы не играете на уровне сложности 99 в начале игры. Начиная с уровня 1, вы укрепляете уверенность и навыки игрока. На мой взгляд, гораздо лучше получить эти «мини-победы», чем застрять в подвешенном состоянии большого, большого и сложного проекта «от проекта к концу».

4. Данные более ценны, чем технологии

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

  • Библиотеки машинного обучения - например, Keras по сравнению с Tensorflow. Делать все становится все проще. В наши дни вы можете даже не изучать Tensorflow для базового распознавания изображений / НЛП.
  • Облачные службы - например, AWS Textract по сравнению с индивидуальной интеллектуальной системой распознавания текста / извлечения информации. У поставщиков облачных услуг, таких как AWS / Microsoft и Google, есть все стимулы в мире, чтобы упростить нам машинное обучение с помощью их веб-сервисов.

Думаю, это история техники. В любом случае, сейчас вы не реализуете что-то вроде быстрой сортировки с нуля. (если вы не являетесь хакером в Google / Facebook / Amazon и т. д.). Я вижу параллель с этим для машинного обучения - в конечном итоге оно будет абстрагироваться до такой степени, что дальнейшая абстракция не имеет смысла.

Что было единственным, что не могло быть нарушено / отвлечено? Ответ был ясен: данные. Да, вы можете возразить, что платформа, на которой хранятся данные, изменится, но, по сути, ценные данные всегда будут ценными. Маловероятно, что кто-то вдруг сможет сделать что-то более легкое с меньшим объемом данных.

5. Тщательно оцените решение

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

  • Уже сделано! Кто-то мог попробовать это раньше, но это не сработало, или вариант идеи уже был опробован, и он не получил никакой поддержки.
  • Простое расширение другого проекта. Могут существовать и другие текущие проекты, которые являются надмножеством того, чем вы хотите заниматься. Вполне возможно, что то, что вы хотите сделать, может быть простым продолжением другого проекта.
  • Ранее предпринимались в сокращенной форме: в нашем случае мой менеджер по продукту поспрашивал и понял, что вариант нашего корпоративного проекта вопросов-ответов был предпринят другой группой на хакатоне в масштабах всей компании. Это позволило нам получить ценный набор данных от команды хакатона и сэкономило нам время. Спасибо, Мук!
  • Доступен как веб-служба. Также следует рассмотреть случай, когда то, что вы хотите сделать, уже сделано облачной службой. Одним из примеров было наше решение использовать AWS Textract вместо того, чтобы пытаться создать индивидуальную модель машинного обучения для распознавания изображений, которую мы потратили бы много времени на точную настройку. В нашем случае использование AWS Textract позволило нам сосредоточиться на бизнес-ценности в этом проекте.

Итак, у вас есть 5 уроков, которые я усвоил в результате напряженной работы над несколькими проектами машинного обучения на предприятии. Надеюсь, это поможет вам в вашем путешествии!