company_banner

Strong «caffe» на завтрак и выездные хакатоны: почему это важно для развития Data Science сообщества

    Я Data Scientist в команде Data Lake Platform в Райффайзенбанке. Три года назад в банке не было направления Big Data, а сейчас у нас есть отдельная платформа для работы с большими данными и активно развивающееся сообщество. По мере развития data driven культуры мы сталкиваемся с множеством вопросов: техническими, коммуникационными и не только.

    В статье хочу рассказать, как наше сообщество Raiffeisen Data University помогает решать часть из них.



    Проблемы масштабируемости


    Пару лет назад все Data Scientist-ы обитали разрозненно, каждый в своих задачках — ни о каком сообществе никто не помышлял. Идей, требующих знаний в сфере анализа данных, становилось все больше, как и подразделений с Data Scientist-ами в штате.
    Начали появляться разные сложности:

    • Коммуникация среди DS:
      • неизвестно, какие бизнес-кейсы сейчас в работе у коллег;
      • каждая команда пилит свой велосипед для реализации одного и того же функционала.

    • Техническая сторона:
      • поиск исходных данных для моделирования непрозрачен;
      • код не воспроизводится на новых данных;
      • ресурсы кластера используются не оптимально;
      • процесс вывода модели в продуктив не унифицирован.

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

    С какой стороны подступиться к этим вопросам и начать путь развития до зрелой data-driven компании? Можно придумать разные стратегии: всех Data Scientist-ов собрать в один большой отдел или добавить во все команды по Chief-у и нанять еще одного самого главного Chief-a, который бы выстраивал вектор развития. Мы решили пойти другим путем.

    Так зародилась идея Raiffeisen Data University – RDU. Это не университет в его стандартном понимании, это гибкий механизм, который помогает Data Scientist-ам решать их проблемы через организацию различных активностей. Как же ему это удается?

    Все гениальное просто


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

    Первая прошла около двух лет назад, на ней встретились Data Scientist-ы из разных отделов, которые тогда не знали о существовании друг друга. Сейчас митапы стали привычным делом. На них мы знакомимся с новыми коллегами, делимся решенными кейсами или тем, что в процессе. Можно подкинуть свои идеи докладчику, задать каверзные вопросы про метрики или качество данных. Или можно организовать воркшоп по hands-on инструментам, которые зашли у них в проекте. Поднимаются разнообразные специфичные темы: как устроен CI/CD модели в продуктиве, архитектура модели решенного кейса, постановка задачи от бизнеса и сложности в решении и многие другие. Раньше все проходило в секретной аудитории, куда пускали только прошедших обряд посвящения.

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

    Strong «caffe» на завтрак


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

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

    Улучшение learning rate


    «Еще больше профита, еще больше знаний!» — открыто желали мы. Так появился соревновательный элемент – зарешки, как мы их называем. Вдохновлялись идеей тренировок по машинному обучению в Яндексе, кастомизировав под свои нужды и возможности. Запускается соревнование по открытым данным примерно на три недели:

    • на первой неделе мы все встречаемся и накидываем возможные идеи решения (очень похоже на семинары на спортивном направлении DMIA);
    • на второй неделе – промежуточная встреча: разбираем, у кого какие затыки, мотивируемся решать дальше;
    • затем следует подведение итогов, объявление победителей, обсуждения, что зашло, а что нет.

    В рамках одного соревнования стараемся сконцентрироваться на одной теме: грязные данные, временные ряды, анализ текстов. Каждый выбирает инструменты, которые ему интересно попробовать, но до сих пор не решался, или то, что должно принести максимальный результат на лидерборде. Самая прикольная зарешка была на тему Reinforcement learning – нужно было обучить своего агента взаимодействовать со средой Atari. Для подведения итогов организаторы соревнования устроили нам баттл между ботами и людьми в трех играх – Packman, Break out, Space Invaders.
    В итоге в Packman победили c большим отрывом люди, в остальных – человечество проиграло Skynet.



    Открой в себе Data Scientist-а


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

    Я была на одном из таких хакатонов в качестве рук, которые будут реализовывать предложенные менеджерами идеи, а также направлять рассуждения в конструктивное русло. В задании требовалось построить модель оттока клиентов на основании реальных данных за полгода (условие оттока было задано), а также прикинуть, какой экономический эффект принесет эта модель. У нас все пошло не так в ходе решения, куски кода ломались от запуска к запуску – это позволило прочувствовать команде всю сложность feature engeniering-a, зато генерилось много идей, о которых Data Scientist с ходу может не догадаться из-за недостатка бизнес-опыта.

    Благодаря таким мероприятиям менеджеры учатся более объективно оценивать сроки выполнения DS задач, узнают про подводные камни и важность изначально поставленной метрики качества. А Data Scientist-у это позволяет понять видение задачи глазами менеджера, определить какие моменты стоит подсветить сразу в начале совместной работы.

    Выживет сильнейший


    Но самое интересное приходится обычно на сентябрь, когда DS-команда отправляется на двухдневный хакатон на природу, в очень живописное местечко с удобной инфраструктурой. На хакатон организаторы приглашают для нас внешних опытных менторов. В прошлом году Эмели Драль и Александр Гущин подготовили задачу на определение жанра фильма по диалогу из него. Почти 40 тысяч диалогов обучающей выборки, 20 различных жанров из 438 фильмов – речь шла о фильмах с английскими субтитрами.

    Мы прослушали краткий экскурс по теме NLP: способы предобработки текстов, простые и более хитрые подходы обучения с использованием DL; отдельно рассказали про командную работу в ML проектах – как упорядочить код и как это экономит время. Параллельно слушая презентации самые активные уже скачивали себе на ноутбуки fasttext и glove embedding-и.

    После лекции началось соревнование в формате kaggle inclass с public/private leaderboard. Мы разбились на команды – максимальный шаффл, чтобы в команде не было даже двух человек из одного отдела. Времени на все про все было 24 часа.

    Кто-то заюзал удаленный домашний сервер, кто-то ринулся разворачивать окружение в облаках, нашлись даже те, кто притащил системный блок с собой – старались как могли! За сутки команды генерили самые разнообразные идеи по решению: от использования Elastic Search для нахождения похожих текстов до застеканных результатов ансамблей моделек, которые невозможно воспроизвести на трезвую голову на следующий день.

    Для подведения итогов и сравнения работы моделей, помимо скора на private leaderboard, решили устроить интерактивное демо – посмотреть, как работают модели, обернутые в сервисы. Организаторы подошли к этому с юмором и включили фрагмент из фильма «Пятый элемент», где по тексту кажется, что происходит что-то ужасное, а на деле там смешная сцена с Криcом Такером. Большинство моделек ошиблись на этом и предсказали триллер, драму, но никак не комедию.



    В итоге победил ансамбль из линейных моделей, бустингов с hand-crafted фичами на основании кластеризации и других шаманских преобразований, нейронки присутствовали в решениях 2 и 3 места. Помимо прикольных призов (главный приз – поездка на NIPS или другую крутую конференцию), с хакатона возвращаешься с новыми проверенными в бою знакомыми, которые будут делиться с тобой знаниями и навыками. В конце даже не хотелось уезжать из этого места с живописной природой и уютной компанией.

    Вместо заключения


    В статье я поделилась проблемами становления Data Science культуры в компании и каким образом Raiffeisen Data University помогает Data Scientist-ам на этом пути.

    Конечно, не все проблемы решены, но сейчас у нас более сплоченное и зрелое data-сообщество, чем было пару лет назад, и мы готовы решать новые вызовы, которые перед нами встают.

    Очень интересно, были ли похожие проблемы в вашей работе, кто и как их решал?
    Может быть кто-то поделится лайфхаками из своего опыта? ;)
    • +15
    • 3,2k
    • 2
    Райффайзенбанк
    142,72
    Развеиваем мифы об IT в банках
    Поделиться публикацией

    Комментарии 2

      +1
      А как все эти дополнительные активности вяжутся с основной работой? Зарешка, или двухдневный хакатон — это хорошо, но если они не проводятся в свободное время (еще странно не давать мощностей, а просить решать своими силами).

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

      Из советов — хорошо работает засылка «в поля», особенно если задача связана с улучшением какого-то определенного участка работы, где есть свой специалист, который и будет потом полученное решение как-то применять, или с ним взаимодействовать. Что-то вроде того, как в додо засылают разработчиков пиццу делать.
        0

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


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


        Спасибо за комментарий, совет дельный. В одном из проектов мы использовали custdev подход, в прямом смысле выезжали в другой город, “в поля” =) Подчерпнули много инсайтов по решению задачи.

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

      Самое читаемое