Автоматическое машинное обучение: как оно работает, при чём здесь ламы и где учиться его использовать

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

Чтобы ускорить процессы и позволить специалистам сосредоточиться на самых важных задачах, мы в Лаборатории по ИИ Сбера (Sber AI Lab) создали фреймворк LightAutoML, сокращённо — LAMA. О том, как функционирует библиотека, чем она полезна бизнесу и где можно научиться с ней работать, мы и расскажем в этом тексте.

Автоматическое машинное обучение: как оно работает, при чём здесь ламы и где учиться его использовать

Что такое LAMA и как она упрощает работу с данными

LAMA — это open-source фреймворк, который позволяет автоматически строить модели обучения с учителем. Изначально решение создавалось для решения следующей задачи: «Чтобы за 15 минут на ноутбуке мы могли создать модель машинного обучения на уровне среднего специалиста, которую потом можно легко передать в продакшен».

Существовавшие на тот момент аналоги отличала известная прожорливость (они забирали много ресурсов) и требовательность к IT-инфраструктуре. LAMA же максимально облегчена для быстрой работы. Мы сами удивились, когда при прогоне OpenML увидели, что каким-то чудом обходим более тяжёлые решения, — перепроверяли больше месяца.

Чтобы начать работу, достаточно одной командой установить решение, загрузить датасет (необязательно табличный) и указать машине, что требуется сделать. То есть выбрать тип задачи, целевую переменную, метрику качества, на которую нужно ориентироваться, машинные мощности и время — как быстро вы хотите получить результат. Затем остаётся только запустить обучение. Поддержка разных типов датасетов и данных из «коробки» — это ещё одна причина, почему Сбер взялся за создание собственного решения: LAMA работает с табличными данными, текстом, последовательностями и так далее.

<p>Так выглядит сервис на базе LAMA в платформе ML Space — о ней мы расскажем ниже</p>

Так выглядит сервис на базе LAMA в платформе ML Space — о ней мы расскажем ниже

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

На выходе специалист получит не только готовую модель «из коробки», но и результаты всех запусков, которые происходили внутри, а ещё — итоговый отчёт о разработке. При этом в соревнованиях результат работы LAMA сравним с 10% лучших дата-сайентистов, участников хакатонов и соревнований. Но лучших из лучших алгоритмы, какими бы хорошими ни были, пока обойти не в состоянии. Посмотреть на результаты можно в нашей статье здесь.

Что уже умеет делать «робо DS» нашего LightAutoML

Фреймворк умеет решать несколько типов задач.

Бинарная классификация. Когда нужно спрогнозировать, грозит ли заёмщику дефолт или какова вероятность поломки сложного оборудования на заданном горизонте времени. Бинарная она потому, что варианта здесь два: да или нет.

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

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

Тут мы за 20 минут построили модель и провели валидацию, не написав ни строчки кода

Спектр задач, которые по плечу машинам и нашему «робо DS», постоянно расширяется. Например, в этом году добавилась задача, позволяющая максимизировать эффект от каналов коммуникации с клиентами в рассылках в пару кликов. А теперь давайте посмотрим, какие бывают AutoML, и потом перейдём к бизнес-кейсам.

AutoML разные важны

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

Академические решения вроде TPOT, Oboe и FEDOT отлично подходят для экспериментов. Они хорошо показывают себя на задачах, где данных не очень много или время не слишком критично.

Индустриальные фреймворки вроде H2O и AutoGluon заточены под быстрое решение прикладных задач, в том числе на датасетах сравнительно большого объёма. Как правило, они имеют фиксированный пайплайн и больше полагаются на эвристические подходы. Такие фрейморки автоматизируют разработку моделей в широком смысле: отчёты, интеграционные обвязки и так далее. Разумеется, передовые подходы из академических решений со временем находят применение в индустриальной среде, помогая решать бизнес-задачи.

Наше решение LAMA относится к индустриальному классу.

Как (и где) можно использовать LAMA

Когда в Сбере создавали облачное решение ML Space, коллеги из SberCloud сказали: «Нужна какая-то фишка, которая поможет решению выделиться на фоне других». Напомню, что ML Space — это платформа для ML-разработки полного цикла. На ней разработчики могут использовать технологии Сбера и мощности нашего суперкомпьютера «Кристофари».

<p>Так выглядит «Кристофари»: именно здесь происходит ML-магия</p>

Так выглядит «Кристофари»: именно здесь происходит ML-магия

Возникла идея вынести AutoML решение Лаборатории по ИИ Сбера (Sber AI Lab) в облако, что мы и сделали. Идея в том, что клиенты могут поработать с open-source-инструментом так, как им удобно, и если их всё устраивает, начать решать свои бизнес-задачи на облачной платформе. Вопросы автоматизации разработки моделей там решены комплексно — от интеграции с источниками данных до модельного менеджмента.

<p>В ML Space все задачи собраны в одном месте: легко следить за экспериментами и результатами</p>

В ML Space все задачи собраны в одном месте: легко следить за экспериментами и результатами

Эксперименты в Сбере показали, что само по себе — даже радикальное — ускорение разработки моделей (с нескольких рабочих дней до часов или минут) сокращает time2market бизнес-задач с использованием автоматического машинного обучения в среднем на 20%. Поэтому мы сделали ставку на комплексную автоматизацию всех основных этапов, и в первую очередь на быстрое внедрение — бесшовную интеграцию с инференсом в ML Space. По нашим подсчётам, это сокращает time2market на 50%.

Мы с коллегами из SberCloud постарались сделать удобный пользовательский интерфейс, добавили и настроили популярные фреймворки и библиотеки. И конечно, обеспечили возможность совместной работы и защитили данные: «Кристофари» находится в центре обработки данных (ЦОД) «Сколково», который сертифицирован как Tier III. Tier Standard от Uptime Institute — общепризнанная классификация ЦОДов, и по ней наш «Кристофари» защищён от аварий, злоумышленников, перегрева и пожаров.

Платформу уже используют заказчики. Например, маркетплейс для бронирования поездок GetTransfer с помощью ML Space и доступных там технологий получил модель, предсказывающую вероятность сделки между заказчиком трансфера и перевозчиком, который вызвался выполнить его заявку. Ещё один заказчик — клининговая компания «Домовёнок». Её программисты с помощью нашей LAMA построили систему, формирующую список наиболее релевантных исполнителей на каждый заказ. В 57% случаев она включала в топ-5 рекомендуемых исполнителей тех, кто действительно отправлялся на заказ. Фидбэк от коллег был следующий: «Классный результат, учитывая тот небольшой объём данных, который мы использовали для обучения модели».

В Сбере LAMA используют для решения множества задач уже пару лет — наши аналитики и дата-сайентисты давно привыкли к инструменту. Но заметив интерес к разработке со стороны бизнеса и независимых разработчиков, мы решили рассказать о нём больше. Так мы сначала создали обучающий курс по работе с фреймворком, а потом стали участниками летней школы, организованной российским сообществом ODS.

От курса до летней школы: как мы учим использовать LAMA (и заодно улучшать фреймворк)

Сначала мы запустили онлайн-курс «Практический курс LightAutoML». Он состоит из девяти вебинаров, в ходе которых слушатели могут узнать, как работает наш фреймворк, и попробовать решить набор задач с его помощью. Кстати, в сентябре мы перезапустили курс — его уже можно проходить: присоединяйтесь по ссылке. А чтобы не пропустить другие интересные новости, подписывайтесь на наш канал в Telegram.

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

<p>Так, например, выглядел практикум по решению задач</p>

Так, например, выглядел практикум по решению задач

Упор мы сделали на практику: придумали задачи с текстами, изображениями и табличными данными по регрессии и классификации. Кстати, участники не просто решали их, а соревновались. За всё время курса 68 команд предложили больше 900 решений — это очень хороший результат для такого формата мероприятия. Всего в первом потоке курса участвовали 1495 человек.

Запускать курс нам помогали коллеги из СберУниверситета и Академии технологии и данных, и мы благодарны им за оказанную помощь и всестороннюю поддержку.

Кто участвовал в курсе

33,6% — сотрудники Сбера

23,5% — студенты и те, кто получают дополнительное профессиональное образование

42,9% — сотрудники сторонних компаний


С курсом вышло отлично, так что мы подключились к ещё одному образовательному проекту — летней школе ODS. Знаменитый ежегодный DataFest переехал в онлайн, и сообщество устраивает самые разные образовательные активности.

У LAMA был свой трек в летней школе — мы проводили три хакатона. Все три задачи отвечали принципам open-source и были нацелены на улучшение технологии. Участники могли провести исследование и реализовать новую функциональность для LAMA в области дистилляции, отбора признаков или реализовать произвольную задачу на свой выбор. В итоге мы получили два полноценных пул-реквеста в библиотеку — для первого раза это отличный результат. Участники смогли реализовать функциональность для LAMA в двух номинациях: «Дистилляция» и «Произвольная задача». Их наработки мы собираемся включить в новый релиз, а контрибьютеры получили мерч от нас. Недавно мы создали хаб Сбера, где будем собирать сообщения о новых ивентах и соревнованиях. Одно из них — AutoML benchmark — идёт прямо сейчас.

Кстати, ссылка на наш репозиторий — тут. Напомним, что это open-source-фреймворк, и мы будем рады звёздам в нашем гите. Больше лайков — больше ресурсов для развития open-source-технологий. Для Сбера, к слову, это первый опыт размещения AI-разработок под академической лицензией и в некотором смысле управленческий эксперимент, поэтому нам так важно поделиться рассказом о нём.

P.S. А ещё у нас есть вакансии, из актуальных — целых три. Вот, вот и вот.

88
1 комментарий

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

Ответить