Организация Data Science онлайн-хакатона: личный опыт, на чем сделать акценты и как организовать хакатон именно вам
В этой статье вы узнаете про Data Science хакатоны, наш опыт организации подобного мероприятия и на что стоит обратить внимание при выборе IT-решения для такого проекта. Бонусом мы расскажем, как делаем SaaS хакатон-платформу под проведение подобных мероприятий.
Привет, я Максим Дьяков, основатель крупнейшего в России сообщества разработчиков Russian Hackers – мы помогаем участникам пройти путь от разработки до создания своего инди-стартапа или трудоустройства в лучшие IT-компании, а также организуем хакатоны, которые становятся инструментами по закрытию бизнес-задач наших заказчиков. Как раз один из таких ивентов привел к появлению фичей для хакатонов с фокусом на Data Science в нашей SaaS платформе для проведения хакатонов HackeR. Но давайте обо всем по порядку.
В комментариях к этой статье вы можете спросить интересующие вас вопросы по организации онлайн-хакатонов
1. Что же такое Data Science хакатон?
Как IT проникло во все сферы человеческой жизни, так и Data Science – наука, которая помогает извлекать ценность из данных в различном их представлении, стала использоваться во всех IT-продуктах. Поэтому, когда вы проводите хакатон (соревнование по созданию IT-продуктов), с большой долей вероятностью DS встретится в решениях далеко не одной команды. Но, чтобы хакатон стал именно Data Science хакатоном, в нем должна появиться такая вещь как оценка технической DS-составляющей.
Кстати, мы уже писали лонгрид про Data Science хакатоны, как их использовать разработчикам и компаниям, ознакомиться можете по ссылке:, «Ликбез: как поставить задачу по Data Science на хакатон. Какие они бывают и какой ждать выхлоп.».
В большинстве случаев оценкой DS-составляющей является Score – метрика, которая показывает на сколько получившееся решение качественно справляется с поставленной задачей, например, в ритейле это может быть точность определения клиентов, которые совершат покупку: на вход участникам дают данные (история покупок) и контекст (использовать данные для прогнозирования качества SMS-рекламы). Именно такая задача и была на онлайн-хакатоне BIGTARGET, который мы организовывали для компаний "Лента" и Microsoft.
2. Какую платформу выбрать?
Проблемы платформ
Если вы хотите провести хакатон, вам потребуется решение для работы с участниками с момента регистрации до объявления победителей. Платформ для проведения Data Science соревнований достаточно много, самая популярная из них – Kaggle: принадлежит Google и используется сотнями компаниями по всему миру. Но подобные решения обладают следующими проблемами:
1) Результат – не бизнес-решение, а лишь алгоритм, плохо применимый в реальных задачах бизнеса
Платформы зачастую предлагают решение для проведения именно соревнований, а не хакатонов: на них почти полностью теряется бизнес-контекст задачи, и в итоге организаторы получают сильные с технической стороны решения, но не применимые в условиях бизнеса. Плюс, на таких соревнованиях ограничена коммуникация с менторами, а мотивация участников сводиться к заработку на денежном призе и получению ещё одной ачивки.
2) Платформы воруют у вас аудиторию
Посудите сами, слово “Кагл” в Data Science кругах уже имя нарицательное. Запомнят ли вашу компанию участники, если они решили “контест на Кагле”? Также подобные платформы минимально кастомизируются под вас: все что вы сможете – это разместить пару креативов и написать формализованное описание. По итогу вы приводите трафик на стороннюю площадку, участники запомнят не хакатон вашей компании, а работу на стороннем сервисе Х, где регулярно проходят такие соревнования от “каких-то там компаний”.
3) Платформы стоят дорого и обладают порогом входа
Платформы не предоставляют консалтинг как вам в целом провести качественное мероприятие и закрыть ваши бизнес-задачи. Соответственно, если вы только начинаете организовывать хакатоны в компании, то у вас может не получиться сразу эффективно воспользоваться возможностями подобных решений, которые еще и нередко довольно дорогие.
Учитывая эти недостатки: какую же платформу выбрать для онлайн-хакатона?
Решить проблемы выше можно двумя способами: сделать свое решение или найти SaaS платформу.
Решение 1 – сделать свою платформу
Если говорить о первом варианте, то его, например, выбрала компания McKinsey, которая недавно проводила свой международный хакатон PROHACK. Они разработали с нуля собственную платформу, где участники регистрировались, получали данные о задаче и отправляли свое решение на проверку - это был мощный шаг, который усилил авторитет компании в DS-сообществе. Но нужно учитывать, что такой подход может позволить себе далеко не каждый: по сути, вам нужно разработать IT-продукт, чье качество в итоге повлияет и на само мероприятие, и на вашу репутацию в целом.
Решение 2 – воспользоваться SaaS-платформами
Если говорить о втором пути – SaaS (программное обеспечение как услуга) платформы для проведения онлайн-хакатона, то как раз подобное решение и разрабатывает наша команда. Мы как организаторы хакатонов давно заметили проблемы, описанные раньше и разработали “свое решение”, которое теперь предлагаем сторонним организаторам.
HackeR – это система по организации онлайн и офлайн-хакатонов, в основе которой мы заложили следующие принципы:
- удобная работа с командами: легкое проведение и мониторинг чек-поинтов – этапов, где команды делают бизнес-результат, а не просто выбивают высокий скор.
- полная кастомизация под ваше мероприятие: платформа встраивается в лендинг вашего мероприятия и становится частью хакатона. Мы можем изменить визуальное оформление и контентное наполнение - анкеты, этапы, страницы - все будет сделано под вас. Таким образом, участники запомнят вашу компанию и ваш хакатон, а не платформу по организации мероприятий.
- легкость в поддержке и организации: вместе с предоставлением платформы, мы сопровождаем клиентов по любым вопросам организации мероприятия. Наша экспертиза (40+ хакатонов, где мы были организаторами или участниками) дает опору организаторам, которую не предоставляет никто другой на рынке. Качество в организации очень важно для нас – поскольку успех вашего мероприятия – это успешный кейс для нашего решения
3. А можно подробнее о том, как это выглядело в реальности?
В июне мы организовывали онлайн-хакатон BIGTARGET для компаний "Лента" и Microsoft. Было поставлена задача uplift моделирования: оценивается эффект от коммуникации с клиентами и необходимо выбрать группу, которая наиболее подвержена влиянию СМС-рассылок. Заказчикам мероприятия было интересно не только получить лучшую модель, но и «довести решение до продакшена» - запустить пилот с победителями. Это ключевое, почему было решено организовать именно хакатон, а не kaggle-соревнование.
Про организацию онлайн-хакатонов Russian Hackers уже писали на vc: Как организовать онлайн-хакатон – рекомендации сообщества хакеров и Советы по созданию стартапов на конвеере: как мы организовали хакатон для самозанятых, поэтому в этой статье я расскажу подробнее именно про этап Data Science.
Из чего состоит работа организаторов Data Science хакатона
Работа для организаторов Data Science хакатона состоит из нескольких этапов
- Сбор информации по датасету от заказчика
- Важно определиться с размером данных: оптимально, если дата-сет помещается в оперативную память до 8 гб.
- Проработать как участники будут работать с данными. В нашем случае мы подготовили окружение и сервера в Microsoft Azure, где уже были загружены данные. Это сэкономило много времени каждого из участников. Важно понимать, что в некоторых задачах, например компьютерном зрении, необходимы GPU-сервера, и их нужно закладывать в бюджет мероприятия.
- Проверить данные на “утечки” – критичная часть, которую обязана делать команда, которая организует Data Science хакатон. Даже в хороших датасетах никто не застрахован от того, что в обучающей выборке будут ответы к тестовому датасету. Когда кто-то находит такой лик в данных, то хакатон превращается из соревнования Data Scientist’ов в конкурс “Кто больше обманет систему”.
- Проверить данные на предмет наличия их в паблике. Тут все просто – если есть данные в публичном доступе, кто-то их найдет и будет использовать это как утечку.
- Чистка дата-сета. Например, в нашем дата-сете были люди с отрицательным возрастом, строки с пустыми значениями и т.п. – здорово, когда участники сразу получают проработанный и качественный дата-сет. Чистка также нужна чтобы скрыть, захешировать или удалить те поля, которые могут попадать под категорию персональных данных.
- Разделение данных на трейн, валидацию и тест. Данные нужно заранее разбить на три части. Трейн – то, на чем обучаются участники. Валидация – то, на чем участники будут тестировать качество модели. Тест – данные, которые нужно предсказывать. Именно на тесте будет строиться итоговая метрика.
- Создание бейзлайна. После того, как сделали все вышеописанные шаги, сделайте минимальное рабочее решение и подумайте какую метрику будете использовать для оценки.
- Выбор метрики. Проанализируйте, можете ли вы взять метрику из вашего прода. Часто метрика, используемая в бизнес-задаче, является коммерческой тайной, тут нужно соблюсти баланс – либо выбрать публично известные метрики: ROC-AUC, F1, Precision/Recall, либо проработать требуемую метрику самостоятельно
- Проанализировать значения метрики. Важно соотнести метрику с бейзлайном, понять какой максимальный результат можно получить на имеющихся данных.
Разумеется, мы описали именно этап подготовки задачи и данных. Помимо этих приоритетных задач, организаторы занимаются коммуникацией с участниками, проработкой судейских критериев, расписания онлайн-хакатона – чаще всего именно качество "деталей" при организации либо выведет вашу компанию в статус обожаемых, либо неприятно подпортит репутацию.
По итогу, на этом хакатоне для участников все выглядело следующим образом:
- Наша команда утвердила дата-сет, прошлась по нему и сделала бейзлайн. Более того, мы постарались сделать его аккуратным и удобным для участников, убрали все гипотетически возможные лики и поделили его на три части – train, val, test. Участники имели доступ только к train. Участники сами разбивали его на обучающую и контрольную выборку.
- Во время решения задачи, участникам помогали сотрудники Ленты и Microsoft - они консультировали как по особенностям бизнес-процессов, так и как лучше утилизировать возможности Microsoft Azure. Все это происходило в онлайне у нас на платформе и в чатах Microsoft Teams.
- Предоставили участникам доступ к val и test в заключительный день хакатона. Такой подход уменьшает шансы на фрод и поиск ликов – у участников достаточно времени чтобы прогнать свою модель на тесте, но недостаточно, чтобы начать искать даже гипотетические уязвимости данных. При этом валидационный дата-сет был частью тестового, поэтому по-сути мы предоставили им только train и test.
- Получившиеся решения участники запускали на test и отправляли в виде csv файла в специальную форму у нас в системе, после чего они получали скор на валидационной выборке:
Решение мог отправить любой из членов команды, у сокомандников информация автоматически обновлялась. Если системе не удавалось рассчитать метрику, попытка не сгорала. На лидерборде в реальном времени обновлялась информация о месте команд:
Во время работы участники получали скор только на валидационной выборке. После того, как подошло время дедлайна, форма отправки была закрыта, а мы опубликовали их результаты уже на полной тестовой выборке, при этом предварительно проверив все логи системы, что у всех команд все отработало как нужно.
Данный подход хорош следующим:
- команды могут убедиться в работоспособности их решении и отсутствии ошибок,
- в лидерах окажется та команда, которая сделала устойчивое решение, в котором нет переобучения.
Если говорить в целом об итогах хакатона, то клиенты получили команду, которая не просто выбила лучший скор (он весил 30% от итоговой оценки), но и нашла полезные для бизнеса инсайты, продемонстрировала soft и hard skills.
Все участники запомнят мероприятие именно как хакатон "Ленты" и Microsoft, которые те провели в кастомном решении, построенном под мероприятие. А мы получили как хороший кейс себе организаторы, так и расшили возможности платформы, которая мы надеемся поможет и другим организаторам в проведении подобных мероприятий.
Можете задать любые вопросы про хакатоны или нашу платформу в комментариях ниже, а также мне в личку на Facebook: fb.com/diakov2100.
Полезные ссылки про организацию хакатонов
Если вам интересно узнать больше о нашем решении или вам интересна организация хакатонов, рекомендуем почитать следующие статьи
- Ликбез: как поставить задачу по Data Science на хакатон. Какие они бывают, как правильно составить и какой выхлоп ожидать
- Как организовать онлайн-хакатон – рекомендации сообщества хакеров
- Hackathon-as-a-Service: как мы сделали самую популярную платформу по организации онлайн-хакатонов в 2020 году
- Customer Driven Development & история одного стартапа
- Советы по созданию стартапов на конвеере: как мы организовали хакатон для самозанятых
- Лонгрид: нанять 33 разработчика с хакатона — миф или реальность
- LeaderBoard, Score, Cloud Functions - как мы за 1 день разработали функционал для Data Science хакатонов