Почему ваш проект по машинному обучению может потерпеть неудачу и как этого избежать

Машинное обучение (ML) быстро приближается к плато производительности, по мнению аналитиков Gartner, о чем свидетельствуют многомиллионные инвестиции ИТ-директоров и генеральных директоров. Их компании копили данные десятилетиями — пришло время извлечь из этого выгоду.

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

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

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

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

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

Этап 1. Сбор и подготовка данных

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

Количество имеет значение

Для проектов ML принципиально важен объем данных. Если данных мало (от 10 тысяч до 100 тысяч точек данных), то сделать прогноз крайне сложно. На этом уровне инструменты машинного обучения не будут работать лучше, чем статистика, а использовать последнюю дешевле. В этом случае мы помогаем выстроить процесс выбора: интегрироваться в системы заказчика, начать собирать точки данных, которые кажутся нам перспективными. До этого момента мы ничего не обещаем и не делаем оценок по срокам.

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

Закрытая информация. Наш подход к решению проблемы

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

Если клиент еще не готов предоставить доступ к базам данных, мы просим у него небольшой набор данных — набор реальных, но обезличенных данных о бизнесе. Что будет дальше с набором данных? На его основе мы строим образец модели.

Установщик, прототип и тестер упаковываются и отправляются на удаленный сервер. Выполняется обучение, проверяются результаты и делаются выводы.

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

Пример: данные медицинских страховых компаний

Это, например, часто происходит с медицинскими страховыми компаниями, которые регулируются HIPAA (соответствие HIPAA). Другое постановление запрещает медицинским страховым компаниям отказывать в обслуживании клиентам, даже если они ведут явно нездоровый образ жизни, имеют хронические заболевания — и явно невыгодны страховой компании.

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

Именно здесь (в случае с медицинскими данными) наш подход показал себя хорошо. Мы построили систему на реальных данных, так как результат прототипа удовлетворил и клиента, и нас.

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

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

Ошибочные данные

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

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

Этап 2. Разработка прототипа

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

Уровень точности системы

После того, как мы разработали прототип, мы смотрим на уровень точности, которого мы достигли с доступными данными, и сравниваем его с ожиданиями клиента. Если прототип предсказывает события с точностью 60–80 %, то на реальных данных велика вероятность достижения 90–95 %. Если прототип показывает 30%, а клиент ожидает 95%, мы ищем способы создания прототипа с другими данными и другим подходом.

Пример: нейронная сеть, которая «читает» медицинские снимки с точностью около 95%.

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

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

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

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

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

Нейронная сеть помогает определить расположение артерий и распознать холестериновые бляшки.

В результате поиск четко захваченного участка артерии для измерения ее диаметра осуществлялся с точностью до 95 %, обнаружение кадров с потенциальной бляшкой — с точностью до 80 %. Средняя продолжительность перевода одного видео одним специалистом сократилась в 5 раз.

Не все алгоритмы одинаковы

В настоящее время существуют различные алгоритмы и платформы с броскими названиями. Но не все процессы подходят для дорогой нейросети, не всем действительно нужно покупать данные у TrendForce (компания, которая проводит маркетинговые исследования для технологических компаний). Мы не допускаем использования клиентом тех алгоритмов, которые не подходят для решения его задач, даже если о них много написано в интернете. Ведь ML-проекты — это на 90% подбор лучшего алгоритма и усилий и только на 10% искусство.

Этап 3. Расчет ROI

Прототип и расчет ROI (Return On Investment) помогают понять, стоит ли вкладывать средства в повышение точности модели. Ведь каждый процент повышения точности может стоить в десятки раз дороже предыдущего.

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

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

Прототипирование и расчет ROI взаимосвязаны. После разработки прототипа выбирается реальный уровень точности, выгодный для бизнеса. Также важно учитывать ожидания прибыли во время разработки.

Баланс ложноположительных и ложноотрицательных результатов

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

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

Причины результатов

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

Пример: причины увеличения конверсии

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

Задачей ML-системы была оптимизация работы колл-центра: помочь агенту продумать состав предложения запрашивающему, а также ранжировать заявки в порядке наибольшей вероятности конверсии. Самые качественные заявки были перемещены в начало очереди: это клиенты, которые, по мнению системы, с большей вероятностью сразу возьмут трубку и примут предложение. В связи с небольшим объемом данных была поставлена ​​минимальная задача — на этапе разработки прототипа увеличить продажи не менее чем на 6%.

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

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

Количество подсистем в прототипе

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

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

Этап 4. Разработка решения

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

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

Скорость работы и ресурсоемкость

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

Например, если вы создаете модель прогнозной аналитики большого количества объектов в режиме реального времени. Может ли стоимость его содержания составлять миллион долларов в месяц? Без труда. Это рентабельно? Вряд ли.

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

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

В итоге

Подводя итог, мы определили четыре важных фактора успеха проекта машинного обучения:

  • Данные. Для успеха проекта нужно собрать как можно больше данных — более 100 тысяч точек данных, и если на первых порах бизнес не готов ими делиться, то анонимизация датасета для пробного проекта — хороший выход ситуации.
  • Прототип. На разработку пилотного проекта лучше потратить 2–4 недели, но убедиться в жизнеспособности идеи.
  • Модель ROI должна быть рассчитана и записана в самом начале проекта. Необходимо убедить всех, что при достижении требуемых характеристик клиент получит выгоду от разработки.
  • Наконец, важно заранее предвидеть, какие ресурсы потребуются для окончательной модели, и найти баланс между разработчиками и специалистами по данным.

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

— —

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

Может ли машинное обучение помочь вашему бизнесу в достижении целей? Свяжитесь с нами для бесплатной консультации.