Какие прикладные задачи крупные торговые сети научились решать с помощью машинного обучения? Валерий Бабушкин, начальник управления развития данных X5 Retail Group, руководитель группы аналитики компании «Яндекс» и приглашенный преподаватель НИУ «Высшая школа экономики», рассказал об этом журналу «Директор информационной службы» (CIO.ru). Больше по этой теме можно будет узнать из его доклада на практической конференции «Технологии машинного обучения 2018» (организатор «Открытые системы», Москва, 25 сентября 2018 год).
- Что заставляет ретейлеров браться за технологии машинного обучения?
Когда есть огромный бизнес с оборотом 1,6 трлн руб. (оценка на 2018 год), свыше 250 тыс. сотрудников, более 13 тыс. магазинов (на 30 июня 2018 года. – Прим. ред.), очень остро встает вопрос оптимизации. Даже 0,5% от такого оборота превращается в дополнительные 8 млрд руб. в год. В следующем году вырастаем еще на 20%, и тогда добавка составит 10 млрд руб. А если можно оптимизировать 1%? А 2%?
Машинное обучение непосредственно решает задачи оптимизации. Например, мы ищем минимум функции потерь. Возможно, это звучит немного пугающе, но фактически речь идет о простой аппроксимации какой-то функции.
Математический аппарат машинного обучения не нов, линейной регрессии более ста лет, а первая статья о нейронных сетях и персептроне написана Фрэнком Розенблаттом еще в 1960-х годах.
- Но обучать нейросети на бизнес-данных начали не так уж давно...
Валерий Бабушкин: «Нет никакого искусственного интеллекта, если не считать таковым выполнение какой-то задачи в автоматическом режиме. Есть математические алгоритмы решения строго определенных прикладных задач» |
Нейросети – одна из областей машинного обучения. С их помощью решают прикладные задачи, связанные с видео, аудио и текстами. Нейросети работают лучше, чем классические методы, а что касается качества задач видео и аудио – на порядок лучше, чем все, что было до них.
Это уже не первая «весна» нейронных сетей, а третья. Предыдущий расцвет был в 1980-х годах, а первый – в 1960-х, когда многослойный персептрон должен был находить на фотографиях грузовики и танки. С чем связан их ренессанс? Наконец появились достаточные мощности, чтобы их использовать, и достаточное количество размеченных данных. Но энтузиасты занимались нейросетями и раньше. Сегодня же это стало более распространено благодаря тому, что в глобальном мире новую информацию можно получать практически мгновенно.
- Но в первую и вторую волну это были всего лишь интересные эксперименты, а теперь нейросети обещает стать базовой технологией для любого бизнеса.
Да, это стало доступно, потому что сейчас мощный компьютер – это смешные деньги для крупной компании.
- Какие задачи торговые сети уже решают с помощью искусственного интеллекта и почему именно эти задачи?
«Искусственный интеллект» – термин модный, но некорректный. Нет никакого искусственного интеллекта, если, конечно, не считать таковым выполнение какой-то задачи в автоматическом режиме. Есть некие математические алгоритмы решения строго определенных прикладных задач – если задать условия и предоставить данные, на которых они смогут «учиться». Да, применяя заранее заданные правила, они сами обнаруживают закономерности и, условно, их «выучивают». Но нет искусственного интеллекта, который самообучается, это очень большое преувеличение.
- Так какие именно задачи решаете вы?
Мы должны предсказывать на месяц вперед, какой будет спрос на каждый из 8 тыс. товаров в каждом из 13 тыс. магазинов – 104 млн прогнозов. Нам нужно понять, как правильно проводить промоакции, как товары влияют друг на друга, когда продажи одного товара растут в ущерб продажам другого, похожего, и т. д.
Еще одна задача – оптимизация ремонтов. В каждом магазине стоят холодильники с датчиками. Холодильники обычно не ломаются внезапно, процесс деградации можно отследить и построить модель, которая на основании поступающих с датчиков данных будет подсказывать, какой холодильник вскоре выйдет из строя. Это позволит отремонтировать его заранее и заодно выбрать оптимальный маршрут для ремонтной бригады.
Следующая задача связана с размещением товаров на полке. В магазин привозят не только те 50 пачек сока, которые помещаются на полку, а больше. Когда товар на полке заканчивается, клиент проходит мимо, хотя на складе товар есть. Но можно поставить камеру, которая будет определять количество товара на полке и, когда его остается мало, сигнализировать о необходимости пополнить полку. Это задача компьютерного зрения, и в решении используются уже упомянутые нейросети.
Кроме того, планируем решать классическую задачу HR-аналитики, которая стоит перед всеми компаниями, где много людей и большая текучка. Когда человек увольняется – это всегда расходы, и чем больше компания, тем больше затрат. Поэтому все стремятся снизить текучку. Если человек увольняется, значит, его что-то не устраивает. Если он увольняется спустя два месяца после своего прихода в компанию, значит, при приеме где-то была совершена ошибка. Процесс подбора под конкретные задачи людей, которым долго будет комфортно работать в компании, тоже можно оптимизировать. Эта задача стоит и в других странах, и в других отраслях, и ее можно довольно успешно решать с помощью машинного обучения, помогая миллионам людей найти то место, где им будет комфортно и приятно работать длительное время.
- Под каждую из задач разрабатывается отдельное ИТ-решение или они строятся на одной платформе?
Обычно по методологии Scrum создается кросс-функциональная команда, куда входят разработчики, аналитики, исследователи данных, инженеры по данным, инженеры машинного обучения под руководством «владельца продукта», отвечающего за конечный продукт. Они работают совместно, используя различные языки программирования.
Как создаваемый ими продукт реализуется технологически, зависит от конкретной бизнес-задачи. И задача, где надо получить результат через 8 миллисекунд, очень сильно отличается от задачи, где результат можно получить через две недели. Скажем, предсказывая, каким будет розничный оборот магазина через год, чтобы понимать, стоит ли открывать магазин в конкретной точке или нет, мы можем выдать результат через неделю, но результат нужен максимально точный. А если разрабатывается рекомендательная система для магазина «Перекресток Онлайн», то результат нужен очень быстро, потому что когда человек положил товар в корзину, ему тотчас же надо рекомендовать. Это абсолютно разные платформы и разные реализации.
Поэтому нет единой платформы, но есть единый стек ИТ-инструментов, и на разных частях этого стека строятся конкретные продукты. С точки зрения оргструктуры функция разработки ИТ-продуктов для работы с данными в X5 отдана отдельной дирекции, которая принимает «заказы» от других подразделений.
- Достаточно ли уже накопленного опыта в области машинного обучения для результативного решения перечисленных задач? Или это пока все же экспериментальная площадка?
Всё перечисленное активно работает. Проект с компьютерным зрением – это, скорее, «пилот». Сделать что-то в одном магазине несложно, сложно масштабировать это на 13 тыс. магазинов, это уже инженерная задача. Пока компьютерное зрение охватывает 20-30 магазинов, но, думаю, вскоре станет реальностью для всей сети.
Ну а такие задачи, как предсказание спроса, уже решаются в производственном режиме.
- И можно уже говорить о результатах?
Результат – то, что X5 растет на 20% в год. Влияние отдельных шагов очень сложно вычленить, всё вносит свой вклад. Но мы проводили пилотный проект по моделям лояльности и зафиксировали увеличение трафика на 4%. Это фантастически много!
- Что мешает развивать технологии машинного обучения в ретейле?
Мы занимаемся все-таки не развитием технологий, мы не исследователи. Мы решаем прикладные задачи, характерные для нашей отрасли.
Когда есть много данных из разных источников, возникает проблема интеграции и качества данных. Это самая большая проблема. Особенно если компания проходила через слияния или приобретала другие компании, у которых были свои системы хранения и свои стандарты.
- И как вы ее решаете?
Есть специальные службы. Например, отдел ЕTL (extraction transformation loading) занимается извлечением, трансформацией и загрузкой данных, управление мастер-данных чистит данные, приводит их в божеский вид и тоже загружает. Исходные данные могут быть повреждены, загрязнены, они могут оцифровываться или вноситься вручную с ошибками.
Только в нашей дирекции без малого сорок специалистов пишут скрипты для очистки данных. Это постоянный и трудоемкий процесс, тяжелая работа, она, безусловно, удлиняет сроки реализации любых проектов. Но если у вас нет хороших чистых данных, на этом можно завершать работу: как говорится, «мусор на входе – мусор на выходе».
Какую компанию ни возьми, 80% времени исследователь данных тратит на работу с данными, а не с алгоритмами. И на вопрос «Как улучшить алгоритм?» стандартный ответ такой: «Нужно больше данных».
- О чем вы собираетесь рассказать участникам конференции?
Я с удовольствием расскажу про uplift-модели (модели прогнозирования воздействия), это очень интересная тематика. Представьте, что у нас есть m клиентов и n воздействий, которые мы можем оказать на каждого из них. Например, послать SMS со скидкой на 100, 200 или 300 руб. – уже три воздействия. Мы хотим максимизировать покупки клиента, поэтому прислали ему SMS со скидкой на сыр, и он его купил. Казалось бы, это хорошо. Но если он купил бы его и без SMS, то получается, что мы зря потратили деньги на скидку. Если же он не купил, результат тоже не очень хороший, ведь рассылка SMS десяткам миллионов покупателей – это расходы. Третий вариант: без сообщения он бы не купил, а благодаря сообщению купил – это успех. И четвертый вариант, когда мы послали SMS, а клиент говорит: «Как же вы мне надоели, все время отвлекаете, никогда больше в ваш магазин не приду». Это самый плохой результат.
Проблема в том, что у нас нет параллельных вселенных, в которых мы могли бы одному и тому же человеку прислать SMS и не прислать SMS, чтобы посмотреть, как лучше. Но есть ряд математических методов, которые позволяют такую проблему решать. Как это сделать, я и буду рассказывать.