Защо да участвате в хакатони

Защо да участвате в хакатони

Преди около година и половина започнах да участвам в хакатони. През този период успях да участвам в повече от 20 събития с различен мащаб и тематики в Москва, Хелзинки, Берлин, Мюнхен, Амстердам, Цюрих и Париж. На всички събития се занимавах с анализ на данни по един или друг начин. Обичам да посещавам нови градове, да установявам нови контакти, да генерирам свежи идеи, да реализирам стари замисли за кратък период от време и адреналина по време на представленията и обявяването на резултатите.

Тази публикация е първата от три, посветени на темата за хакатоните, в която ще разкажа какво представляват хакатоните и защо трябва да започнете да участвате в тях. Втората публикация ще се фокусира върху тъмната страна на тези събития — за грешките на организаторите по време на провеждането и до какво са довели те. Третата публикация ще бъде посветена на отговори на въпроси около темата на хакатоните.

Какво е хакатон?

Хакатонът е събитие, което се провежда в продължение на няколко дни, с цел решаване на даден проблем. Обикновено на хакатона има няколко проблема, всеки представен под формата на отделен трек. Спонсориращата компания предоставя описание на задачата, метрики за успех (метриките могат да бъдат субективни, като “новост и креативност”, или обективни — точност на класификацията върху отделен датасет) и ресурси за постигане на успех (API на компанията, датасети, “хардуер”). Участниците в отреденото време трябва да формулират проблема, да предложат решение и да покажат прототип на продукта си. Най-добрите решения получават награди от компанията и възможност за бъдещо сътрудничество.

Етапи на хакатона

След като бъдат обявени задачите, участниците в хакатона се обединяват в екипи: всеки "индивидуалист" получава микрофон и говори за избраната задача, своя опит, идея и какви специалисти му трябват за реализацията. Понякога екипът може да се състои от един човек, който е способен да свърши цялата работа по проекта самостоятелно на достатъчно високо ниво. Това е валидно за хакатони по анализ на данни, но често е забранено или нежелателно за продуктови събития — организаторите са насочени към продължаване на работата по проекта, но вече в компания; формираният екип предлага редица предимства пред участниците, които желаят да създават продукта сами. Оптималният екип обикновено се състои от 4 души и включва: фронтенд, бекенд, дата учен и бизнес човек. Между другото, разделението между хакатони по дата наука/продуктови хакатони е доста просто — ако има набор от данни с ясна метрика и лидерборд или може да се спечели с код в jupyter notebook — това е хакатон по дата наука; всичко останало — където се изисква да се направи приложение, сайт или нещо привлекателно — е продуктов.

Обикновено стартът на работа по проекта започва в 9 вечерта в петък, а крайният срок е 10 сутринта в неделя. Част от това време трябва да бъде отделена за сън (да не спиш и да кодиш — това е сигурен начин за провал, проверено е), а това означава, че участниците нямат толкова много време, за да направят нещо качествено. За да помогнат на участниците, на мястото присъстват представители на компанията и ментори.

Работата по проекта започва с комуникация с представители на компанията, тъй като те най-добре разбират спецификата на задачата, метриките и вероятно те ще оценяват вашите проекти в края. Целта на тази комуникация е да се разбере кои направления са най-актуални и на какво е добре да се фокусира вниманието и времето.

На един хакатон беше поставена задача за регресия на датасет с таблични данни и изображения с ясна метрика — RMSE. След като разговарях с дата-сайентист от компанията, осъзнах, че им е нужна не регресия, а класификация, но просто някой от мениджмънта реши, че задачата най-добре ще се реши точно по този начин. А класификацията им е нужна не за да получат увеличение на паричните метрики, а за да разберат кои параметри са най-важни при вземането на решения и след това да ги обработят ръчно. Тоест началната задача (регресия с RMSE) се променя на класификация; приоритетът на оценката се променя от получената точност до възможността да се обясни резултата. Това от своя страна отхвърля възможността за използване на стъкване и black box алгоритми. Такъв диалог ми спести много време и увеличи шансовете ми за победа.

След като сте разбрали какво трябва да правите, започва непосредствената работа по проекта. Трябва да установите чек-пойнти — времето, в което е необходимо да изпълните поставените задачи; освен това е полезно да продължите комуникацията с менторите — представители на компанията и техническите специалисти — това е полезно за коригиране на маршрута на вашия проект. Свежият поглед върху проблема може да предложи интересно решение.

Обикновено, тъй като в хакатоните участват голямо количество новаци, от страна на организаторите е добър тон да се провеждат лекции и майсторски класове. Обикновено има три лекции — за това как да представите идеята си под формата на продукт, лекция на техническа тема (например за използването на отворени API в машинното обучение, за да не се налага да пишете свой speech2text за два дни, а да използвате готово), лекция за питчинг (как да представите продукта си, как правилно да помахвате с ръце на сцената, за да не бъде скучно на слушателите). Има различни активности, за да вдъхновят участниците — сесия по йога, настолни игри и тенис или игра на конзолата.

В неделя сутрин трябва да предоставите резултатите от работата си на журито. На успешните хакатони всичко започва с техническа експертиза — наистина ли това, което заявявате, работи? Целта на тази проверка е да отсея екипите с красиви презентации и популярни термини, но без продукт, от тези, които наистина са направили нещо. За съжаление, техническата експертиза не е налична на всички хакатони и се случват случаи, когато екип с 12 слайда и мисловна нагласа „... блокчейн, квантови изчисления, а тук АИ ще довърши...“ печели първо място. Такива прецеденти не са толкова чести, но тъй като се запомнят най-добре, много хора смятат, че добрата презентация е 99% от победата на хакатон. Презентацията, между другото, действително е важна, но нейният принос не надвишава 30%.

След представянето на участниците журито взема решение за награждаването на победителите. С това официалната част на хакатона приключва.

Мотивация за участие в хакатони

Опит

От гледна точка на получен опит, хакатонът е уникално събитие. В природата не съществуват много места, където можете да реализирате идея от нищо за 2 дни и да получите незабавна обратна връзка за работата си. По време на хакатона се развиват критично мислене, умения за работа в екип, управление на времето, работа в стресова ситуация, умения за представяне на резултатите от работата си по разбираем начин, презентационни умения и много други. Затова хакатоните са отлична възможност за хора с теоретични знания, които желаят да получат реален опит.

Награди

Обикновено наградният фонд на хакатона е приблизително 1.5k — 10k евро за първо място (в Русия — 100-300 хиляди рубли). Очакваната полза (expected value, EV) от участието може да се изчисли по проста формула:

EV = Награда * Вероятност_за_печалба + Бъдеща_стойност - Разходи

където Награда — размер на наградата (за опростеност ще приемем, че наградата е една);
Вероятност_за_печалба — шанса за победа (за нов екип тази стойност ще бъде ограничена до 10%, за по-опитен — 50% и повече; срещал съм хора, които са напускали всеки хакатон с награда, но това е по-скоро изключение от правилото и на по-дълга дистанция техният вероятностен процент ще бъде под 100%);
Бъдеща_стойност — величина, която показва бъдещата печалба от участието в хакатона: това може да бъде печалба от придобития опит, установените връзки, получената информация и т.н. Тази величина практически е невъзможно да се определи точно, но е важно да се помни за нея;
Разходи — разходи за транспорт, настаняване и други.

Решението за участие се взема на основа на сравнение на EV на хакатона с EV на активността, която бихте искали да направите, ако нямаше хакатон: ако искате да прекарате уикенда на дивана, изглежда, че е изгодно да участвате в хакатона; ако искате да прекарате време с родителите си или с приятелката си — вземете ги в отбора си за хакатона (шегувам се, решавайте сами), ако искате да фрилансите — сравнявайте долар на час.

По мои изчисления, мога да кажа, че в Русия за среден дата учен на ниво джуниър — мидъл участието в хакатони е съизмеримо с паричната печалба от обикновен работен ден, но има и нюанси (размер на отбора, тип на хакатона, награден фонд и т.н.). Като цяло, в момента хакатоните не са златна мина, но могат да донесат приятно увеличение на личния бюджет.

Наем в компания и нетуъркинг

За компанията хакатонът е един от начините за наемане на нови служители. Ще ви бъде много по-лесно да покажете, че сте адекватен човек и умеете да работите на хакатона, отколкото на интервю, въртейки бинарно дърво на дъската (което, между другото, не винаги съответства на това, което ще правите на настоящата работа като дата учен, но традициите трябва да се спазват). Такава проверка в 'бойни' условия може да замени тестовия ден.

С първата си работа се сдобих благодарение на хакатон. На хакатона показа, че от данните може да се извлече повече пари, разказах как смятам да го направя. Започнах проект на хакатона, спечелих го и след това продължих проекта вече в спонсориращата компания. Това беше четвъртият хакатон в живота ми.

Възможност за получаване на уникален датасет

Това е много актуален въпрос за хакатони в областта на дата науката, чийто важност не осъзнават всички. Обикновено спонсориращите компании предоставят реални набори данни по време на събитието. Тези данни са частни и попада под NDA, но това не пречи да ви покажем proof of concept с реален набор от данни, а не с играчка Титаник. В последствие подобни резултати значително ще помогнат при наемането в тази компания или конкурентна компания, или при обосноваването на сходни проекти. Съгласете се, че при равни условия, имайки завършени проекти, които са получили положителна оценка, е по-добре от отсъствието на такива. В общи линии, подобни реализирани проекти играят сходна роля с медалите и статусите на Kaggle, но тяхната стойност е по-очевидна за индустрията.

Съвети

В общи линии, работата на хакатон е доста разнообразен опит и е трудно да се формулира някакъв списък с правила. Въпреки това, аз бих искал да споделя списък с наблюдения, които могат да помогнат на начинаещите:

  1. Не се страхувайте да ходите на хакатони дори ако нямате опит или екип. Помислете как бихте могли да бъдете полезни. Например, имате интересна идея или разбирате добре в някаква област? Можете да използвате вашето domain knowledge при формулирането на проблема и да намерите нетривиални решения. Или може би сте най-добри в гугленето? Вашето умение ще спести много време, ако се окажете способни да намерите готови реализации на GitHub. Или пък много добре разбирате в настройването на параметри на LightGBM? В такъв случай, не ходете на хакатон, а го докажете в състезания на Kaggle.
  2. Тактиката е по-важна от маневрите. Вашата задача на хакатона е решаването на проблема. Понякога, за да решите проблема, трябва първо да го идентифицирате. Проверете дали вашият идентифициран проблем наистина е актуален за компанията. Проверете решението си за съответствие с проблема и задайте въпрос за оптималността на вашето решение. При оценката на вашето решение, в първия ред ще се гледа на актуалността на проблема и адекватността на предложеното решение. Архитектурата на вашата невронна мрежа или колко ръце аук имате, не интересува почти никого.
  3. Посещавайте колкото се може повече хакатони, но не се колебайте да напуснете лошо организирани събития.
  4. Добавяйте резултатите от работата си на хакатоните в резюмето си и не се страхувайте да пишете за тях публично.

Защо да участвате в хакатони
Същността на хакатоните. Накратко

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster