De ce are nevoie o pornire hardware de un hackathon de software?

În decembrie anul trecut, am organizat propriul nostru hackathon de startup cu alte șase companii din Skolkovo. Fără sponsori corporativi sau orice sprijin extern, am adunat două sute de participanți din 20 de orașe ale Rusiei prin eforturile comunității de programare. Mai jos vă voi spune cum am reușit, ce capcane am întâlnit pe parcurs și de ce am început imediat să colaborăm cu una dintre echipele câștigătoare.

De ce are nevoie o pornire hardware de un hackathon de software?Interfața aplicației care controlează modulele Watts Battery de la finaliștii piesei, „Wet Hair”

companie

Compania noastră Watts Battery creează centrale electrice portabile modulare. Produsul este o centrală portabilă de 46x36x11 cm, capabilă să livreze de la 1,5 până la 15 kilowați pe oră. Patru astfel de module pot asigura consumul de energie al unei mici case de țară timp de două zile.

Deși am început să expediem mostre de producție anul trecut, după toate conturile Watts Battery este un startup. Compania a fost înființată în 2016 și din același an este rezidentă a Clusterului Skolkovo Energy Efficient Technologies. Astăzi avem 15 angajați și un număr uriaș de lucruri pe care ne-am dori să le facem la un moment dat, dar acum nu există. timpul pentru asta.

Aceasta include, de asemenea, sarcini pur software. De ce?

Sarcina principală a modulului este de a furniza energie neîntreruptă, echilibrată, la un cost optim. Dacă întâmpinați o întrerupere de curent din motive independente de voința dvs., ar trebui să aveți întotdeauna o rezervă pentru a alimenta complet sarcina necesară a rețelei pe durata întreruperii. Și când sursa de alimentare este bună, puteți folosi energia solară pentru a economisi bani.

Cea mai simplă variantă este că poți încărca bateria de la soare în timpul zilei și să o folosești seara, dar exact la nivelul necesar pentru ca în caz de întrerupere, să nu rămâi fără curent electric. Deci, nu te vei găsi niciodată într-o situație în care ai alimentat iluminatul de la o baterie toată seara (pentru că este mai ieftin), dar noaptea s-a oprit curentul și frigiderul s-a dezghețat.

Este clar că o persoană este rareori capabilă să prezică cu mare precizie cantitatea de electricitate de care are nevoie, dar un sistem înarmat cu un model predictiv poate. Prin urmare, învățarea automată ca atare este unul dintre domeniile noastre prioritare. Doar că în prezent suntem concentrați pe dezvoltarea hardware și nu putem aloca suficiente resurse acestor sarcini, ceea ce ne-a adus la Startup Hackathon.

Pregătire, date, infrastructură

Drept urmare, am urmat două căi: analiza datelor și sistemul de management. Pe lângă ale noastre, au mai fost șapte piese de la colegi.

Deși nu a fost determinat formatul hackatonului, ne-am gândit să creăm „propria noastră atmosferă”, cu un sistem de puncte: participanții fac unele lucruri care ni se par dificile și interesante, primind puncte pentru asta. Aveam o mulțime de sarcini. Dar, pe măsură ce am construit structura hackatonului, alți organizatori au cerut să aducem totul într-o formă comună, ceea ce am făcut.

Apoi am ajuns la următoarea schemă: băieții fac un model pe baza datelor lor, apoi primesc datele noastre, pe care modelul nu le văzuse înainte, învață și începe să prezică. S-a presupus că toate acestea ar putea fi făcute în 48 de ore, dar pentru noi acesta a fost primul hackathon pe datele noastre și este posibil să fi supraestimat resursele de timp sau gradul de pregătire al datelor. La hackathoanele specializate de învățare automată, o astfel de cronologie ar fi norma, dar a noastră nu era așa.

Am descărcat pe cât posibil software-ul și hardware-ul modulului și am făcut o versiune a dispozitivului nostru special pentru hackathon, cu o interfață internă foarte simplă și de înțeles pe care ar putea-o suporta orice dezvoltator.

Pentru pista bazată pe sistemul de control, a existat o opțiune de a face o aplicație mobilă. Pentru a-i împiedica pe participanți să-și dezvolte mințile despre cum ar trebui să arate și să piardă timp suplimentar, le-am oferit un aspect al aplicației, foarte ușor, astfel încât cei care o doresc să poată pur și simplu „întinde” funcțiile de care au nevoie pe ea. . Sincer să fiu, nu ne așteptam la nicio dilemă morală aici, dar una dintre echipe a luat-o în așa fel încât le-am limitat zborul de lux, am vrut să obținem o soluție gata făcută gratuit și nu să le testăm. in practica. Și au decolat.

O altă echipă a ales să facă o aplicație complet diferită de la zero și totul a funcționat. Nu am insistat ca aplicația să fie exact așa, aveam nevoie doar de ea să conțină câteva elemente care să demonstreze nivelul tehnic al soluției: grafice, analize etc. Aspectul de design final a fost, de asemenea, un indiciu.

Deoarece analiza unui modul de baterie Watts live la un hackathon ar consuma prea mult timp, le-am oferit participanților o porțiune gata de date pentru o lună, preluată din modulele reale ale clienților noștri (pe care le-am anonimizat cu atenție în prealabil). Din moment ce era iunie, nu a existat nimic care să includă schimbări sezoniere în analiză. Dar în viitor le vom adăuga date externe, cum ar fi caracteristicile sezoniere și climatice (astazi este standardul industriei).

Nu am vrut să creăm așteptări nerealiste în rândul participanților, așa că în anunțul hackatonului am spus direct: munca va fi cât mai aproape de munca de teren: date zgomotoase, murdare, pe care nimeni nu le-a pregătit special. Dar aceasta a avut și o latură pozitivă: în spiritul agilității, am fost în permanență în contact cu participanții și am făcut rapid schimbări în sarcina și condițiile de admitere (mai multe despre asta mai jos).

De asemenea, le-am oferit participanților acces la Amazon AWS (atât de activ încât Amazon a blocat o regiune; vom stabili ce să facem în acest sens). Acolo, puteți implementa infrastructură IoT și puteți construi o soluție completă în 24 de ore, chiar și folosind șabloane Amazon simple. Dar, în cele din urmă, fiecare a mers pe propriul drum, făcând cât mai mult posibil pe cont propriu. Unii au reușit să respecte limita de timp, în timp ce alții nu. O echipă, Nubble, a folosit Yandex.Cloud, în timp ce alții și-au folosit propriul șablon. gazduire Am fost chiar dispuși să oferim domenii (avem unele înregistrate), dar nu erau necesare.

Pentru a determina câștigătorii din pista analitică, am planificat să comparăm rezultatele, pentru care am pregătit metrici numerice. Dar până la urmă nu a fost necesar să se facă acest lucru, deoarece din diverse motive trei dintre cei patru participanți nu au ajuns în finală.

În ceea ce privește infrastructura gospodăriei, Technopark Skolkovo ne-a ajutat aici oferindu-ne (gratuit) una dintre sălile sale modulare confortabile, cu un perete video pentru prezentări și câteva săli mai mici pentru o zonă de recreere și pentru organizarea de catering.

Google Analytics

Sarcină: un sistem de auto-învățare care identifică anomaliile în consum și funcționarea modulului pe baza datelor de control. Am păstrat în mod deliberat formularea cât mai generală posibil, astfel încât participanții să poată lucra cu noi pentru a se gândi la ceea ce se poate face pe baza datelor disponibile.

Specificitate: Cea mai complexă dintre cele două piste. Datele industriale au unele diferențe față de datele din sisteme închise (de exemplu, marketing digital). Aici trebuie să înțelegeți natura fizică a parametrilor pe care încercați să-i analizați, luând în considerare totul, deoarece seria de numere abstracte nu va funcționa. De exemplu, distribuția consumului de energie electrică pe parcursul zilei. Este ca un ritual: aparatul de ras electric este pornit dimineața în zilele lucrătoare, iar mixerul este pornit în weekend. Apoi esența anomaliilor în sine. Și nu uitați că bateria Watts este destinată uzului personal, astfel încât fiecare client va avea propriile ritualuri și un model universal nu va funcționa. Găsirea anomaliilor cunoscute în date nu este nici măcar o sarcină crearea unui sistem care caută în mod autonom anomalii neetichetate; La urma urmei, orice poate fi o anomalie, inclusiv factorul uman insidios. De exemplu, în datele noastre de testare a existat un caz în care sistemul a fost forțat de utilizator în modul baterie. Fără niciun motiv, utilizatorii fac uneori acest lucru (voi face o rezervare că acest utilizator testează modulul pentru noi și din acest motiv are acces la controlul manual al modurilor; pentru alți utilizatori controlul este complet automat). După cum este ușor de prezis, într-o astfel de situație bateria se descarcă destul de activ, iar dacă sarcina este mare, încărcarea se va termina înainte ca soarele să răsară sau să apară o altă sursă de energie. În astfel de cazuri, ne așteptăm să vedem un fel de notificare că comportamentul sistemului a deviat de la cel normal. Sau persoana a plecat și a uitat să închidă cuptorul. Sistemul vede că de obicei la acest moment al zilei consumul este de 500 de wați, dar astăzi - 3,5 mii - o anomalie! Ca Denis Matsuev în avion: „Nu înțeleg nimic despre motoarele de avioane, dar pe drum până acolo motorul suna diferit”.

De ce are nevoie o pornire hardware de un hackathon de software?Graficul unui model predictiv pe rețeaua neuronală opensource Yandex CatBoost

De ce are cu adevărat nevoie compania?: sistem de autodiagnosticare în interiorul dispozitivului, analiză predictivă, inclusiv fără infrastructură de rețea (după cum arată practica, nu toți clienții noștri se grăbesc să conecteze bateriile la Internet - pentru majoritatea, este suficient ca totul să funcționeze în mod fiabil), identificarea anomaliilor, a căror natură nu o cunoaștem încă, un sistem de auto-învățare fără profesor, clustering, rețele neuronale și întregul arsenal de metode analitice moderne. Trebuie să înțelegem că sistemul a început să se comporte diferit, chiar dacă nu știm exact ce s-a schimbat. La hackathon în sine, a fost foarte important pentru noi să vedem că există tipi care sunt gata să pășească în analiza industrială sau sunt deja în ea și caută noi domenii pentru a-și aplica abilitățile. La început am fost surprins că erau atât de mulți solicitanți: la urma urmei, aceasta este o bucătărie foarte specifică, dar treptat toți cei patru participanți, cu excepția unuia, au renunțat, așa că într-o oarecare măsură totul a căzut la locul lor.

De ce nu este fezabil în această etapă?: Problema principală cu sarcinile de extragere a datelor sunt date insuficiente. Există câteva zeci de dispozitive Watts Battery în funcțiune în întreaga lume astăzi, dar multe dintre ele nu sunt conectate la rețea, așa că datele noastre nu sunt încă foarte diverse. Abia am combinat două anomalii - și cele apărute pe prototipuri industriale Watt Battery funcționează destul de stabil. Dacă am avea un inginer intern de învățare automată și am ști - da, acest lucru poate fi stors din aceste date, dar dorim să obținem o calitate mai bună a predicției - ar fi o poveste. Dar până în acest moment nu am făcut nimic cu aceste date. În plus, acest lucru ar necesita o imersiune profundă a participanților în specificul funcționării produsului nostru o zi și jumătate nu este suficientă.

Cum te-ai hotarat?: Nu au stabilit imediat sarcina finală exactă. În schimb, pe parcursul celor 48 de ore, am fost în dialog cu participanții, aflând prompt ce au putut să obțină și ce nu au putut. Pe baza acesteia, în spiritul compromisului, sarcina a fost finalizată.

Ce ai obținut ca rezultat?: câștigătorii pistei au reușit să curețe datele (în același timp au găsit „trăsăturile” calculării unor parametri pe care noi înșine nu i-am observat înainte, deoarece nu am folosit unele dintre date pentru a ne rezolva problemele) , evidențiază abaterile de la comportamentul așteptat al modulelor Watts Battery și stabilește un model predictiv capabil să prezică consumul de energie cu un grad ridicat de acuratețe. Da, aceasta este doar o etapă de fezabilitate a dezvoltării unei soluții industriale, atunci vor fi necesare săptămâni de muncă tehnică minuțioasă, dar chiar și acest prototip, creat direct în timpul hackathonului, poate sta la baza unei adevărate soluții industriale, ceea ce este rar.

concluzia principală: Pe baza datelor pe care le avem, este posibil să setăm analize predictive, ne-am asumat acest lucru, dar nu am avut resursele pentru a verifica. Participanții la hackaton ne-au testat și confirmat ipoteza și vom continua să lucrăm cu câștigătorii pistei la această sarcină.

De ce are nevoie o pornire hardware de un hackathon de software?Graficul unui model predictiv pe rețeaua neuronală opensource Facebook Prophet

Sfaturi pentru viitor: atunci când elaborezi o sarcină, trebuie să te uiți nu numai la foaia de parcurs de producție, ci și la interesul participanților. Deoarece hackatonul nostru nu are premii în bani, ne jucăm pe curiozitatea naturală a cercetătorilor de date și pe dorința de a rezolva probleme noi, interesante în care nimeni nu a arătat încă nimic sau unde se poate arăta mai bine decât rezultatele existente. Dacă luați imediat în considerare factorul de interes, nu va trebui să vă schimbați atenția pe parcurs.

Управление

Sarcină: (aplicație) care gestionează o rețea de module Watts Battery, cu un cont personal, stocare de date în cloud și monitorizare a stării.

Specificitate: în această pistă nu căutam o soluție tehnică nouă, desigur, avem propria noastră interfață de consum. L-am ales pentru hackathon pentru a demonstra capacitățile sistemului nostru, pentru a ne cufunda în el și pentru a verifica dacă comunitatea este interesată de tema dezvoltării sistemelor inteligente și a energiei alternative. Am poziționat aplicația mobilă ca opțiune, ai putea să o faci sau nu la discreția ta. Dar, în opinia noastră, arată bine cum au reușit oamenii să organizeze stocarea datelor în cloud, cu acces din mai multe surse diferite simultan.

De ce are cu adevărat nevoie compania?: o comunitate de dezvoltatori care vor veni cu idei de afaceri, vor testa ipoteze și vor crea instrumente de lucru pentru implementarea acestora.

De ce nu este fezabil în această etapă?: Volumul pieței este încă prea mic pentru formarea organică a unei astfel de comunități.

Cum te-ai hotarat?: Ca parte a unui hackathon, am efectuat un fel de studiu fizic pentru a vedea dacă este posibil să venim nu doar cu caracteristici, ci și cu modele de afaceri cu drepturi depline în jurul produsului nostru foarte specific. Mai mult, pentru ca oamenii capabili să implementeze un prototip să facă asta, până la urmă, aici - nu vreau să jignesc pe nimeni - acesta nu este nivelul de programare a unui LED care clipește pe Arduino (deși acest lucru se poate face cu inovații) , aici sunt necesare abilități mai degrabă specifice: dezvoltarea sistemelor backend și frontend, înțelegerea principiilor de construire a sistemelor scalabile Internet of Things.

Rulează video
*Discurs al câștigătorilor piesei a doua*

Ce ai obținut ca rezultat?: două echipe au propus idei de afaceri cu drepturi depline pentru munca lor: una s-a concentrat mai mult pe segmentul rusesc, cealaltă pe cel străin. Adică, în final, ei nu au spus doar cum au venit cu aplicația, ci, în esență, au venit să facă afaceri în jurul lui Watts. Băieții au evidențiat cum văd ei folosirea waților în mai multe modele de afaceri, au furnizat statistici, au arătat ce regiuni au ce probleme, ce legi sunt adoptate unde, au subliniat tendința globală: nu este la modă să extragi bitcoini, este la modă să extragi kilowați. Au ajuns în mod deliberat la energia alternativă, ceea ce ne-a plăcut foarte mult. Faptul că participanții, pe lângă aceasta, au reușit să creeze o soluție tehnică funcțională sugerează că pot lansa un startup pe cont propriu.

concluzia principală: Există echipe gata să ia Watts Battery ca bază a modelului lor de afaceri, să-l dezvolte și să devină parteneri/însoțitori ai companiei. Unii dintre ei știu chiar să identifice MVP-ul unei idei de afaceri și să lucreze mai întâi la ea, lucru care lipsește peste tot în industrie astăzi. Oamenii nu înțeleg când să se oprească, când să lanseze o soluție pe piață, chiar dacă devreme, dar funcționează. De fapt, etapa de lustruire a soluției de multe ori nu se termină, din punct de vedere tehnic soluția trece linia complexității rezonabile, intră pe piață supraîncărcată, nu mai este clar care a fost ideea inițială, ce este direcționarea către clienți, ce modele de afaceri sunt inclus. Ca în gluma despre Akunin, care a scris o altă carte în timp ce o semna pe cea anterioară pentru cineva. Dar aici a fost făcut în forma sa cea mai pură: aici este o diagramă, aici este un contor, aici sunt indicatori, aici este o predicție - asta este tot, nu este nevoie de nimic altceva pentru a o rula. Cu aceasta, puteți merge la un investitor și puteți obține bani pentru a începe o afacere. Cei care au găsit acest echilibru au ieșit învingători din pistă.

Sfaturi pentru viitor: la următorul hackathon (planificăm în luna martie a acestui an), poate că are sens să experimentăm hardware. Avem propria noastră dezvoltare hardware (unul dintre avantajele Watts), controlăm pe deplin producția și testarea a tot ceea ce facem, dar nu avem suficiente resurse pentru a testa unele ipoteze „hardware”. Se poate foarte bine ca în comunitatea de programatori de sistem și de nivel inferior și dezvoltatori hardware să existe cei care ne vor ajuta în acest sens și în viitor vor deveni partenerul nostru în acest domeniu.

Oameni

La hackathon, ne așteptam mai degrabă pe cei care vor să se încerce într-un domeniu nou (de exemplu, absolvenți ai diverselor școli de programare) decât pe cei care se specializează în acest gen de dezvoltare. Dar totuși, ne așteptam ca înainte de hackathon să facă o mică muncă pregătitoare, să citească despre modul în care este prognozat consumul de energie în general și cum funcționează sistemele Internet of Things. Pentru ca toată lumea să vină nu doar pentru distracție, căutând date și sarcini interesante, ci și cu o imersiune preliminară în domeniul subiectului. Din partea noastră, înțelegem că pentru aceasta este necesară publicarea în prealabil a datelor disponibile, descrierea acestora și cerințe mai precise pentru rezultat, publicarea modulelor API etc.

Toată lumea avea aproximativ același nivel tehnologic, plus sau minus aceleași capacități. Pe acest fond, nivelul de armonie nu a fost ultimul factor. Un număr de echipe nu au tras pentru că nu s-au putut împărți clar în domenii de lucru. Au fost și acelea în care o persoană a făcut toată dezvoltarea, restul erau ocupați cu pregătirea prezentării, în altele, cuiva i s-au dat sarcini pe care le făcea, probabil pentru prima dată în viață.

Majoritatea participanților erau tineri, asta nu înseamnă că nu existau ingineri și dezvoltatori puternici de învățare automată printre ei. Majoritatea au venit în echipe, practic nu erau indivizi. Toată lumea a visat să câștige, cineva a vrut să-și găsească un loc de muncă în viitor, aproximativ 20% au găsit deja unul, cred că această cifră va crește.

Nu am avut destui specialiști hardware, dar sperăm să compensam la cel de-al doilea hackathon.

Hackathon progres

După cum am scris mai sus, am fost alături de participanți în cea mai mare parte a celor 48 de ore ale hackatonului și, monitorizându-le succesele la punctele de control, am încercat să adaptăm sarcina și condițiile pentru acceptarea primei piese analitice, astfel încât, pe de o parte, participanții l-au putut finaliza în timpul rămas și, pe de altă parte, a fost de interes pentru noi.

Ultima precizare a sarcinii a fost făcută undeva în jurul ultimului punct de control, sâmbătă după-amiază (finala era programată duminică seara). Am simplificat totul puțin mai mult: am eliminat cerința de a recalcula modelul pe date noi, lăsând datele cu care echipele lucrau deja. Compararea valorilor nu ne-a mai dat nimic, aveau deja rezultate gata făcute pe baza datelor disponibile, iar până în a doua zi băieții erau deja obosiți. Prin urmare, am decis să-i torturăm mai puțin.

Cu toate acestea, trei din patru participanți nu au ajuns în finală. O echipă și-a dat deja seama la început că era mai interesată de traseul colegilor noștri, cealaltă, chiar înainte de finală, și-a dat seama că în timpul procesului de procesare au filtrat datele necesare din timp și a refuzat să-și prezinte munca.

Echipa „21 (Wet Hair Effect)” a participat la ambele piese noastre până la sfârșit. Au vrut să acopere totul deodată: învățarea automată, dezvoltare, aplicație și site web. Până când i-am amenințat cu retragerea în ultimul moment, ei au crezut că fac totul la timp, deși deja la al doilea punct de control era evident că principalul lucru - învățarea automată - nu puteau face progrese semnificative: au făcut față în general al doilea bloc, dar nu a putut prezice consumul de energie electrică nu au fost gata. Drept urmare, când am stabilit sarcina minimă pentru calificarea pentru prima, ei au ales totuși pista a doua.

Fit-predict a avut o compoziție echilibrată, adaptată pentru analiza datelor, astfel încât au putut depăși totul. S-a observat că băieții erau interesați să „atingă” date industriale reale. S-au concentrat imediat pe principalul lucru: analiza, curățarea datelor, tratarea fiecărei anomalii. Faptul că au reușit să construiască un model de lucru în timpul hackatonului este o mare realizare. În practica de lucru, acest lucru durează, de obicei, săptămâni: în timp ce datele sunt curățate, în timp ce ei se adâncesc în ele. Prin urmare, cu siguranță vom lucra cu ei.

În a doua pistă (management), ne așteptam ca toată lumea să facă totul într-o jumătate de zi și să vină să ceară să îngreuneze sarcina. În practică, abia am avut timp să îndeplinim sarcina de bază. Am lucrat pe JS și Python, ceea ce reflectă starea actuală a industriei.

Și aici rezultatele au fost obținute de echipe bine coordonate în care s-a construit diviziunea muncii, era clar cine făcea ce.

Cea de-a treia echipă, FSociety, părea să aibă o soluție, dar până la urmă au decis să nu-și arate evoluția, au spus că nu consideră că funcționează. Respectăm acest lucru și nu ne-am certat.

Câștigătoarea a fost echipa „Strippers din Baku”, care a reușit să se oprească singură, nu să alerge după „trinkets”, ci să creeze un MVP pe care nu-i e rușine să-l arate și care este clar că poate fi dezvoltat și scalat în continuare. Le-am spus imediat că nu suntem prea interesați de oportunități suplimentare. Dacă doresc înregistrare prin cod QR, recunoaștere facială, lăsați-i mai întâi să facă grafice în aplicație, apoi să preia pe cele opționale.

În această piesă, „Wet Hair” a intrat cu încredere în finală și am discutat despre cooperarea ulterioară cu ei și „Hustlers”. Pe acesta din urmă l-am întâlnit deja în noul an.

Sper că totul merge bine și așteptăm cu nerăbdare să-i vedem pe toți la al doilea hackathon din martie!

Sursa: www.habr.com

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster