Открыть список
Как стать автором
Обновить
133.02
Рейтинг
Инфосистемы Джет
Системный интегратор

Этапы внедрения моделей машинного обучения на крупных предприятиях

Блог компании Инфосистемы ДжетМашинное обучениеУправление разработкой


На форуме RAIF 2019, который состоялся в Сколково в рамках «Открытых Инноваций», я рассказывал о том, как происходит внедрение моделей машинного обучения. В связи с особенностями профессии я каждую неделю несколько дней провожу на производствах, занимаясь внедрением моделей машинного обучения, а остальное время – разработкой этих моделей. Этот пост — запись доклада, в котором я постарался обобщить свой опыт.

Начнем с описания процесса крупными мазками, постепенно вдаваясь в детали каждого этапа.
Рассчитываем ли мы на оптимизацию производства по результатам полноценного обследования (в идеале), или происходит просто сбор идей, «лоскутная оптимизация», — результатом так или иначе становится формирование списка инициатив. Необходимо понять, какие области производства мы будем оптимизировать. Этот процесс обычно занимает около двух месяцев.

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

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

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



Теперь более подробно по порядку:

Ищем гипотезу


Откуда берется гипотеза? Кто ее выдвинет?

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

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

В таком случае, откуда можно взять гипотезу? Для этого придумали специальную должность – Chief Digital Transformation Officer. Это человек, который занимается цифровыми преобразованиями. Или Chief Datа Officer – человек, которые знает данные и как их можно применить. Если этих двух людей в компании нет, то гипотезы должны приходить от топ-менеджмента. То есть специалистов, которые вполне понимают бизнес и занимаются современными технологиями.

Если же на предприятии нет ни Chief Digital Transformation Officer, ни Chief Datа Officer, а топ-менеджмент не способен родить гипотезу, то на помощь придут… конкуренты. Если они что-то внедрили, у них этого не отнять. Но, компания-интегратор, подключенная к проекту, может подсказать, что и как можно оптимизировать.



Как выбрать идею?


Тут важны четыре фактора:

  1. Оборот оптимизируемого процесса.
  2. Существенные отклонения в процессе. Есть методология «шесть сигм», которая говорит о том, что все процессы должны отклоняться не более, чем на шесть стандартных отклонений от их результатов. Если у вас эти отклонения больше, то их нужно разобрать, и в этом поможет машинное обучение.
  3. Доступность и наличие данных. Если, например, вы получаете данные с датчиков по работе оборудования через 12 месяцев, то машинное обучение вы не внедрите.
  4. Сложность внедрения цифровизации в процесс. Стоимость внедрения вашей модели, в сравнении с стоимостью того, чего она может сэкономить.

Какие бывают данные?


По структуре данные бывают:

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



По происхождению данные делятся на:

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



Проблемы с данными


  1. Полнота – момент, когда некоторые данные/месяцы могут быть пропущены.
  2. Погрешность изменения – если, например, у вашего датчика погрешность 5 миллисекунд, то модель с точностью две миллисекунды – вы не сможете, так как входные данные начинают расходиться.
  3. Доступность в режиме онлайн – если вы хотите делать прогноз «прямо сейчас», данные должны быть готовы.
  4. Время хранения – если вы хотите использовать годовые тенденции, и вам нужно прогнозировать спрос, а данные хранятся только полгода – модель вы не построите.

Работа с данными


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

Эффект понятен только в бою – очень важно быстрое прототипирование. Самое главное – быстрее посмотреть, как модель работает в быту. В презентациях и на локальных ноутбуках проект может выглядеть совсем не так, как на самом деле: как правило, по факту совсем другие проблемы выходят на первое место.

Только интерпретируемая модель имеет шанс на улучшение. Всегда нужно четко понимать, почему модель решила так, а не иначе.

Работа с метрикой


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



Более того, для некоторых случаев при недостаточной точности модели она будет просто приносить убыток:



Основные моменты про интеграцию:

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

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

  • Выдавать прогноз, — оценивать результат применения знаний;
  • Выдавать рекомендации, — оценивать сравнение со старым процессом.

Важные нюансы этапа внедрения:

Внедрение/Обучение


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

Поддержка


Не забываем, что условия меняются и модель приходится постоянно «докручивать» и искать новые возможности для оптимизации. Тут важны:

  • Стратегии управления моделями и реакции на прогнозы — немного саморекламы: мы в «Инфосистемы Джет» как раз много думали об этом и разработали свою систему JET GALATEA.
  • Человеческий фактор — основные проблемы модели часто связаны с ее использованием, или вмешательством человека, которое модель не могла предусмотреть.
  • Регулярный разбор работы с профессионалами из области — вряд ли удастся все свести к одному числу, которое будет указывать, что нужно дорабатывать, нужно будет разбирать каждый сомнительный прогноз или рекомендацию. Будьте готовы освоить еще одну профессию, чтобы говорить на одном языке с технологами и операторами устройств на производстве.



Автор: Николай Князев, руководитель группы машинного обучения «Инфосистемы Джет»
Теги:машинное обучениевнедрениепроизводствоMLматематические модели
Хабы: Блог компании Инфосистемы Джет Машинное обучение Управление разработкой
Всего голосов 20: ↑17 и ↓3 +14
Просмотры7K

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
1991
Местоположение
Россия
Сайт
jet.su
Численность
1 001–5 000 человек
Дата регистрации

Блог на Хабре