QA: Hackathons

QA: Hackathons

Der abschließende Teil der Trilogie ĂŒber Hackathons. In ersten Teils habe ich ĂŒber die Motivation zur Teilnahme an solchen Veranstaltungen gesprochen. Der zweite Teil war den Fehlern der Organisatoren und ihren Ergebnissen gewidmet. Der abschließende Teil wird die Fragen beantworten, die in die ersten beiden Teile nicht gepasst haben.

ErzÀhl mir, wie du angefangen hast, an Hackathons teilzunehmen.
Ich habe an der Lappeenranta-UniversitĂ€t im Masterstudiengang studiert und gleichzeitig an Datenanalyse-Wettbewerben teilgenommen. Mein typischer Tag sah folgendermaßen aus: Aufstehen um 8, ein paar Vorlesungen an der UniversitĂ€t, danach Wettbewerbe und Kurse bis Mitternacht (wĂ€hrend ich auf die Einreichung warte, schaue ich Vorlesungen oder lese Artikel). Dieser strenge Zeitplan hat sich ausgezahlt, und ich habe den Datenanalyse-Wettbewerb MERC-2017 gewonnen (worĂŒber sogar ein Post auf HabrĂ©). Der Sieg hat mir Selbstvertrauen gegeben, und als ich zufĂ€llig auf Informationen ĂŒber den Hackathon SkinHack 2 in Moskau stieß, beschloss ich, meine Eltern zu besuchen und mir gleichzeitig anzusehen, was ein Hackathon ist.

Der Hackathon selbst war ziemlich unterhaltsam. Es gab zwei Tracks fĂŒr Datenanalyse mit klaren Metriken und DatensĂ€tzen, die jeweils 100.000 Rubel Preisgeld ausmachten. Der dritte Track war fĂŒr Anwendungsentwicklung mit 50.000 Rubel Preisgeld, und es gab keine Teilnehmer. In einem Moment sagte der Veranstalter, dass ein Fenster mit einem Knopf ohne Funktion 50.000 Rubel gewinnen könnte, weil der Preis nicht ausbleiben kann. Ich habe nicht gelernt, Anwendungen zu programmieren (ich nehme nicht da teil, wo ich leicht "umgedreht" werden kann), aber fĂŒr mich war das eine klare Botschaft, dass die Felder in Hackathons nicht voll sind.

Damals habe ich beide Tracks fĂŒr Datenanalyse alleine bearbeitet. Ich fand ein Leak in den Daten, das es mir ermöglichte, einen perfekten Score zu erzielen, aber die Spalte mit dem Leak war in den Testdaten nicht enthalten, die ich zwei Stunden vor Ende der Veranstaltung erhielt (ĂŒbrigens verstand ich damals, dass das Vorhandensein einer "target"-Spalte im Training nicht als Leak zĂ€hlt). Gleichzeitig öffnete sich das Leaderboard, meine Einreichung ohne Leak belegte den dritten Platz von fĂŒnf, der Abstand zum ersten war groß, und ich beschloss, keine Zeit zu verschwenden, und fuhr weg.

Nachdem ich im Nachhinein analysiert habe, was passiert ist, habe ich eine Menge Fehler gefunden (eine meiner Gewohnheiten ist es, mental das Geschehen mit einem Notizbuch durchzugehen und die Fehler, deren Ursachen und was man Ă€ndern könnte, zu analysieren — ein angenehmes Erbe des halbprofessionellen Pokerspielens). Aber eines war klar — bei Hackathons gibt es viel Wert, und ich muss ihn unbedingt nutzen. Nach diesem Ereignis begann ich, Veranstaltungen und Gruppen zu ĂŒberwachen, und der nĂ€chste Hackathon ließ nicht lange auf sich warten. Dann noch einer, und noch einen


Warum beschÀftigst du dich mit Hackathons und nicht mit Kaggle?
Im Moment gefĂ€llt mir Kaggle nicht. Ab einem bestimmten FĂ€higkeitsniveau, ohne spezifische TeilnahmegrĂŒnde, wird Kaggle weniger nĂŒtzlich als andere AktivitĂ€ten. Ich habe frĂŒher viel teilgenommen, anscheinend ist es mir gelungen, irgendwie "wegzukommen".

Warum Hackathons und nicht an deinem eigenen Projekt arbeiten?
Die Idee, etwas Großartiges mit eigenen HĂ€nden in einem gemĂ€chlichen Tempo zu schaffen, spricht mich an. Die Jungs von ODS haben organisiert ODS Pet Projects fĂŒr alle, die am Wochenende an ihrem Projekt in einem Kreis Gleichgesinnter arbeiten möchten. Ich denke, dass ich mich bald ihnen anschließen werde.

Wie findest du Veranstaltungen?
Die Hauptquelle ist hackathon.com (Welt) und ein Chat in Telegram Russian Hackers (Russland). Außerdem tauchen VeranstaltungsankĂŒndigungen in sozialen Medien und LinkedIn auf. Wenn man nichts findet, kann man hier nachsehen: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Bereitest du einen Lösungsplan vor der Teilnahme vor oder wird alles spontan entschieden? Zum Beispiel denkst du eine Woche vor dem Hackathon: "Hier wird ein solcher und solcher Spezialist gebraucht, ich sollte nach ihm suchen"?
Wenn es sich um einen produktbezogenen Hackathon handelt, ja, ich bereite mich vor. Einige Wochen vorher ĂŒberlege ich mir, was ich machen werde, wer nĂŒtzlich sein könnte, und stelle ein Team aus Freunden oder Teilnehmern vergangener Hackathons zusammen.

Kann man einen Hackathon alleine knacken? Was tun, wenn man kein Team hat?
Data Science Hackathons sind realistisch (ich bin ein lebendes Beispiel dafĂŒr), produktbezogene habe ich nicht gesehen, obwohl ich auch denke, dass ja. Leider setzen die Organisatoren manchmal eine Mindestanzahl von Teilnehmern im Team fest. Ich denke, das liegt daran, dass nicht alle „EinzelgĂ€nger“ bis ins Finale kommen (d.h. einfach bei den ersten Schwierigkeiten aufgeben). Die Teilnahme in einem Team hĂ€lt dennoch einen zurĂŒck. Außerdem wird nach der Veranstaltung erwartet, dass man weiter an dem Projekt arbeitet. Mit einem Team wird es einfacher, das Projekt zu verfeinern.

Insgesamt empfehle ich immer, im Team teilzunehmen. Wenn Sie kein eigenes Team haben, helfen die Organisatoren immer dabei, eines zu finden oder zu bilden.

Wie gelingt es, wĂ€hrend eines Hackathons mit MĂŒdigkeit umzugehen?
Bei einem Hackathon hat man 2 Tage Zeit, um zu arbeiten, das sind 48 Stunden (30-48 Stunden, nehmen wir 48 zur Vereinfachung). Wir ziehen die Schlafzeit ab (16-20 Stunden), bleiben also maximal 30 ĂŒbrig. Davon sind in der Regel etwa 8 Stunden fĂŒr produktive Arbeit sinnvoll (im Durchschnitt). Wenn man die Arbeit richtig organisiert (Schlaf, ErnĂ€hrung, frische Luft, Bewegung, Momente der Achtsamkeit, richtiges Teamkommunikation und AktivitĂ€tswechsel), kann man die Deep-Work-Stunden auf 12-14 steigern. Nach solch einer Arbeit wird man sich erschöpft fĂŒhlen, aber es wird eine angenehme MĂŒdigkeit sein. Zu codieren, ohne Schlaf und Pausen und sich mit Energydrinks durchzuwursteln, ist der Weg zum Scheitern.

Hast du deine eigenen fertigen Pipelines fĂŒr Hackathons? Wie sind sie bei dir entstanden, wie sind sie strukturiert (liegen .py-Dateien in Ordnern, jede fĂŒr ihre Aufgabe usw.) und wie kann man selbst solche erstellen?
Ich verwende keine völlig fertigen Lösungen vergangener Hackathons in neuen, aber ich habe einen eigenen Zoo von Modellen und Pipelines aus vergangenen Wettbewerben. Ich muss die Standardteile nicht von Grund auf neu schreiben (zum Beispiel korrektes Target-Encoding oder ein einfaches Netzwerk zur Extraktion von Intentionen aus Texten), was mir viel Zeit spart.

Im Moment sieht es so aus: FĂŒr jeden Wettbewerb oder Hackathon gibt es ein eigenes Repository auf GitHub, in dem Notebooks, Skripte und eine kleine Dokumentation ĂŒber das, was passiert, gespeichert sind. Außerdem gibt es ein separates Repository fĂŒr verschiedene Boxen-„Features“ (wie korrektes Target-Encoding mit Cross-Validation). Ich denke nicht, dass dies die eleganteste Lösung ist, aber momentan bin ich damit zufrieden.

Ich wĂŒrde damit beginnen, all meinen Code in Ordnern zu sichern und eine kurze Dokumentation zu schreiben (warum, was, wie ich gearbeitet habe und das Ergebnis).

Ist es realistisch, in so kurzer Zeit ein MVP von Grund auf vorzubereiten, oder kommen alle Teilnehmer mit fertigen Lösungen?
Ich kann nur ĂŒber Projekte im Bereich Data Science sagen – ja, es ist möglich. Ein MVP besteht fĂŒr mich aus zwei Faktoren:

  • Eine tragfĂ€hige Idee, die als Produkt prĂ€sentiert wird (d.h. ein Business Canvas ist ausgearbeitet). Es muss immer ein klares VerstĂ€ndnis dafĂŒr bestehen, warum und fĂŒr wen wir das Produkt entwickeln. Manchmal gewinnen Projekte mit einer gut begrĂŒndeten Idee, aber ohne Prototyp, und das ist nicht ĂŒberraschend. Leider können viele Teilnehmer sich nicht von der Bitterkeit der Niederlage abgrenzen und machen ihre Misserfolge an der Kurzsichtigkeit der Organisatoren fest, wĂ€hrend sie weiterhin Modelle fĂŒr unklar wer entwickelt werden, bei den nĂ€chsten Hackathons erstellen.
  • Ein gewisser Beweis dafĂŒr, dass Sie dieses Produkt erstellen können (App, Code, Beschreibung von Pipelines).

Es kommt vor, dass ein Team mit einer fertigen Lösung zu einem Hackathon kommt und versucht, diese an die Vorgaben der Organisatoren anzupassen. Solche Teams scheitern oft beim technischen Screening, oder es werden nur die Teile gewertet, die sie auf dem Event erstellt haben. Ich habe solche Teams nicht bei den Gewinnern gesehen, aber ich denke, es ist fĂŒr sie dennoch vorteilhaft, aufgrund des zukĂŒnftigen Wertes (Kontakte, DatensĂ€tze und mehr).

Gibt es Beispiele dafĂŒr, dass Projekte, die auf Hackathons entstanden sind, bis zur Produktion/zu Startups weiterentwickelt wurden?
Ja. Ich hatte drei FĂ€lle, in denen Projekte bis zur Produktion weiterentwickelt wurden. Einmal selbst, zweimal – durch die HĂ€nde anderer basierend auf meinen Ideen und dem Code, den ich beim Hackathon geschrieben habe. Ich kenne auch ein paar Teams, die die Zusammenarbeit mit dem Unternehmen als Berater fortgesetzt haben. Über die endgĂŒltigen Ergebnisse weiß ich nichts, aber wahrscheinlich wurde etwas bis zum Ende gemacht. Ich habe selbst keine Startups gegrĂŒndet und weiß nicht, ob jemand das gemacht hat, obwohl ich sicher bin, dass es Beispiele gibt.

Nach der Teilnahme an vielen Hackathons, welche RatschlĂ€ge wĂŒrdest du dir selbst geben, wenn du in die Vergangenheit reisen könntest?

  1. Taktik ist wichtiger als Manöver. Betrachte jede Entscheidung als fertiges Produkt. Idee, Jupyter-Notebook, Algorithmus sind nichts wert, wenn unklar ist, wer dafĂŒr bezahlen wird.
  2. Bevor du etwas entwirfst, beantworte die Fragen nicht mit "was?", sondern mit "warum?" und "wie?" Beispiel: Wenn du eine ML-Lösung entwirfst, denke zunÀchst an den idealen Algorithmus: Was erhÀlt er als Eingabe, wie werden seine Vorhersagen spÀter verwendet?
  3. Nimm am Team teil.

Was wird normalerweise bei Hackathons angeboten?
Normalerweise wird bei Hackathons schlecht verpflegt: Pizzen, Energydrinks, Limonade. Fast immer wird das Essen in Form eines Buffets (oder Ausgabe-Tisches) organisiert, vor dem sich eine riesige Schlange bildet. Nachts gibt es in der Regel kein Essen, obwohl es einen Fall bei einem Wettbewerb in Paris gab, wo nachts etwas ĂŒbrig gelassen wurde — Chips, Donuts und Cola. Ich stelle mir den gedanklichen Prozess der Organisatoren vor: "Was essen Programmierer? Ach ja! Chips, Donuts — das ist alles. Lass uns diesen Mist hinstellen." Am nĂ€chsten Tag fragte ich die Organisatoren: "Leute, könnte man nicht nachts etwas anderes machen? Zum Beispiel Brei?" Danach schauten sie mich an, als sei ich ein Idiot. BerĂŒhmte französische Gastfreundschaft.

Bei guten Hackathons wird das Essen in Boxen bestellt, es gibt Optionen fĂŒr normales, vegetarisches und koscheres Essen. Dazu gibt es einen KĂŒhlschrank mit Joghurts und MĂŒsli — fĂŒr diejenigen, die einen Snack wollen. Tee, Kaffee, Wasser — Standard. Ich erinnere mich an den Hackathon Hack Moscow 2 — dort wurden wir herzlich mit Borschtsch und Schnitzel mit PĂŒree in der Kantine des 1C-BĂŒros versorgt.

Die Angemessenheit von Hackathons hĂ€ngt, sozusagen, von der beruflichen SphĂ€re der Organisatoren ab (zum Beispiel, fĂŒhren die besten Hackathons Berater durch)?
Die besten Hackathons wurden von Organisatoren durchgefĂŒhrt, die entweder zuvor Hackathons organisiert oder frĂŒher teilgenommen hatten. Das ist wohl der einzige Faktor, der die QualitĂ€t der Veranstaltung beeinflusst.

Wie verstehst du, dass du kein AnfĂ€nger mehr bist und es Zeit fĂŒr einen Hackathon ist?
Die beste Zeit, um zu einem Hackathon zu gehen, war vor einem Jahr. Die zweitbeste Zeit ist jetzt. Also wage es, mach Fehler, lerne — das ist normal. Sogar ein neuronales Netzwerk — die grĂ¶ĂŸte Erfindung des Menschen nach dem Rad und dem Gradient Boosting ĂŒber BĂ€ume — kann in der ersten Lernphase Katze und Hund nicht unterscheiden.

Welche "roten Flaggen" deuten sofort darauf hin, dass die Veranstaltung nicht gut sein wird und man keine Zeit investieren sollte?

  • Eine klare Beschreibung, was zu tun ist (aktuell fĂŒr Produkt-Hackathons). Wenn Ihnen bei der Registrierung klar gesagt wird, was zu tun ist, ist es besser, zu Hause zu bleiben. Meines Wissens gab es keinen einzigen guten Hackathon mit einem Lastenheft. Zum Vergleich: Gut – machen Sie uns etwas, das mit der Analyse von Audio-GesprĂ€chen zu tun hat. Schlecht – machen Sie uns eine App, die in der Lage ist, GesprĂ€che in zwei separate Audiospuren fĂŒr jede Person zu trennen.
  • Kleinere Preispool. Wenn Sie gebeten werden, einen "Tinder fĂŒr Onlineshops mit KI" zu erstellen und der Preis fĂŒr den ersten Platz 500 Euro betrĂ€gt mit einer MindestteamgrĂ¶ĂŸe von 5 Personen, dann sollten Sie wahrscheinlich Ihre Zeit nicht verschwenden (ja, das ist ein echter Hackathon, der in MĂŒnchen stattfand).
  • Mangel an Daten (aktuell fĂŒr Data Science Hackathons). Die Organisatoren stellen normalerweise grundlegende Informationen ĂŒber die Veranstaltung und manchmal ein Datenset-Beispiel zur VerfĂŒgung. Wenn dies nicht bereitgestellt wird – fragen Sie nach, das kostet Sie nichts. Wenn nach 2-3 Fragen unklar ist, welche Daten bereitgestellt werden und ob sie ĂŒberhaupt verfĂŒgbar sind – das ist ein rotes Tuch.
  • Neue Organisatoren. Scheuen Sie sich nicht und googeln Sie Informationen ĂŒber die Organisatoren des Hackathons. Wenn sie eine solche Veranstaltung zum ersten Mal durchfĂŒhren – besteht eine hohe Wahrscheinlichkeit, dass etwas schiefgeht. Umgekehrt, wenn der Organisator und die Jurymitglieder bereits Hackathons durchgefĂŒhrt oder in der Vergangenheit aktiv teilgenommen haben – ist das ein grĂŒnes Licht.

Bei einem Hackathon wurde mir gesagt: „Du hattest die beste Lösung in Bezug auf den Score, aber tut mir leid, wir bewerten die Teamarbeit, und du hast alleine gearbeitet. Wenn du nur einen Studenten oder ein MĂ€dchen ins Team genommen hĂ€ttest...“ Hast du jemals eine solche Ungerechtigkeit erlebt? Wie bist du damit umgegangen?
Ja, ich habe das erlebt, und nicht nur einmal. Ich sehe die Dinge stoisch: Ich habe alles in meiner Macht Stehende getan, wenn es nicht geklappt hat – na ja, so sei es.

Warum beschÀftigst du dich damit?
Das alles ist einfach aus Langeweile.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster