Все мы слышали статистику о том, что 90%, 88%, 87%, 85% или какой-то сумасшедший процент моделей машинного обучения никогда не попадают в производство. Честно говоря, я понятия не имею, как кто-то это рассчитал, и я так же озадачен, как и этот человек. Но дело не в этом. В идеале это число имеет гораздо меньшее значение, чем почему многие компании пытаются извлечь выгоду из машинного обучения - пока!

Чтобы понять это, мы провели час беседы с более чем 200 людьми в режиме 1: 1, чтобы понять рабочий процесс построения моделей машинного обучения, который включает в себя: составление бизнес-требований , преобразование их в спринты, сбор данных, построение моделей. , подготовка к производству, развертывание, переподготовка, A / B-тестирование, отладка, мониторинг, наблюдаемость и т. д. и замкнуть цикл от любого шага назад к любому шагу в этой последовательности. Это включает в себя различные точки зрения от бизнес-лидеров, инженеров, менеджеров по продуктам, специалистов по данным, разработчиков, инженеров по данным и инженеров машинного обучения! После этих качественных бесед мы также провели объективный опрос, чтобы получить более широкое представление о преобладающих проблемах, результаты которого можно найти здесь.

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

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

В мире программного обеспечения мы привыкли принимать решения на основе данных. Мы хотим быстро увидеть результаты, провести A / B-тесты, оправдать затраты, и если проект не дает достаточной рентабельности инвестиций в разумное время, нас учат стрелять ему в голову. И время - это то, на что у машинного обучения уходит много времени! Это верно для компаний всего спектра, хотя и по разным причинам:

  1. Стартапы на ранней стадии (посев через серию C)
  2. Традиционные гиганты, такие как Walgreens, Target, Siemens
  3. Технологические гиганты, такие как Uber, Amazon, Netflix и т. Д.

Давайте изучим это подробнее.

Стартапы на ранней стадии

Часто создание и развертывание конвейеров машинного обучения требует разнообразных навыков:

  1. Понимание бизнес-сценария использования - обычно менеджеры по продукту
  2. Конвейеры регистрации и обработки данных - обычно инженеры данных
  3. Эксперименты и построение моделей - обычно специалисты по данным
  4. Создание API-интерфейсов вывода и развертывание - обычно инженеры машинного обучения
  5. Масштабирование модели, постановка, конвейеры производства - обычно команда DevOps
  6. Фреймворки A / B-тестирования, Мониторинг и наблюдаемость, Пайплайны переподготовки

Очень часто у стартапов нет ресурсов, чтобы нанять разных людей, чтобы заполнить весь спектр навыков. Стартапы наивно полагают, что они могут нанять 1-2 действительно умных человека, которые там сделали бы это, и могут решить все вышеперечисленные проблемы - но они не понимают, что таких мифических существ на самом деле не существует. за гранью мечты основателя!

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

Традиционные чудовища, такие как Walgreens & Target

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

Затем специалист по анализу данных строит модель, но не имеет возможности получить быструю обратную связь от бизнес-пользователя, потому что:

  1. Ноутбук слишком техничный для деловых людей
  2. Результаты, хранящиеся в таблицах Excel, не являются интерактивными
  3. Специалисты по обработке данных обычно не обладают навыками для быстрого размещения модели и предоставления API.

Без обратной связи от бизнес-пользователя откуда DS знает:

  • Решает ли их модель проблему, о которой просил бизнес-пользователь, или намерение было потеряно при переводе?
  • Не хватает ли в них каких-то критических граничных условий, невыполнение которых могло бы рассердить клиента?
  • Используют ли они какие-либо источники данных, которые могут внести искажения в модель или нанести вред определенному сегменту пользователей?

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

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

Технологические гиганты, такие как Uber и Amazon

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

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

  1. Это самые распространенные библиотеки, которые, по нашим ожиданиям, будут использовать специалисты по данным.
  2. Пока специалист по анализу данных использует «нестандартные» алгоритмы, все работает без сбоев, но если они хотят разработать свою собственную модель, им придется выполнять шаги X, Y и Z.

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

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

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

Заключение и следующие шаги

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

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

Мы были удивлены, увидев эту общую тему в таком широком спектре компаний -

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

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

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

Мы твердо убеждены в том, что такая большая проблема требует объединения различных точек зрения. Если вы относитесь к этой проблеме, или у вас есть мысли, которыми можно поделиться, или у вас есть идеи о том, как решить проблему, или вы хотите услышать наши идеи, мы приглашаем вас прокомментировать или прийти Поговори с нами.

Со мной можно связаться лично по адресу [email protected]. И вот ссылка для меня и моих соучредителей: