Miks vajab riistvarakäivitaja tarkvarahäkatoni?

Eelmise aasta detsembris pidasime kuue teise Skolkovo ettevõttega oma startup-hackathoni. Ilma ettevõtete sponsorite või välise toetuseta kogusime programmeerimisringkondade jõupingutustega kakssada osalejat 20 Venemaa linnast. Allpool räägin teile, kuidas meil see õnnestus, milliste lõksudega me teel kokku puutusime ja miks alustasime kohe koostööd ühe võitnud meeskonnaga.

Miks vajab riistvarakäivitaja tarkvarahäkatoni?Raja "Märgad juuksed" finalistide Watts Battery mooduleid kontrolliva rakenduse liides

Ettevõte

Meie ettevõte Watts Battery loob modulaarseid kaasaskantavaid elektrijaamu. Toode on kaasaskantav elektrijaam 46x36x11 cm, mis suudab anda 1,5-15 kilovatti tunnis. Neli sellist moodulit suudavad tagada väikese maamaja energiatarbimise kaheks päevaks.

Kuigi alustasime tootmisnäidiste tarnimist eelmisel aastal, on Watts Battery idufirma. Ettevõte asutati 2016. aastal ja on samast aastast Skolkovo energiatõhusate tehnoloogiate klastri resident.Tänaseks on meil 15 töötajat ja tohutult suur mahajäämus asjadest, mida tahaksime mingil etapil ära teha, aga praegu ei ole. aeg selleks.

See hõlmab ka puhtalt tarkvaralisi ülesandeid. Miks?

Mooduli põhiülesanne on tagada katkematu, tasakaalustatud energiavarustus optimaalse hinnaga. Kui teil tekib elektrikatkestus teist sõltumatutel põhjustel, peaks teil alati olema reserv, et katkestuse ajaks vajaliku võrgukoormusega täielikult toita. Ja kui toide on hea, saate raha säästmiseks kasutada päikeseenergiat.

Lihtsaim variant on see, et päeval saab akut päikese käes laadida ja õhtul kasutada, aga täpselt sellisele tasemele, mis on vajalik, et elektrikatkestuse korral ei jääks elektrita. Nii et te ei leia end kunagi olukorrast, kus andsite kogu õhtu valgustust akult (sest see on odavam), kuid öösel kadus elekter ja külmkapp sulas üles.

Selge on see, et inimene suudab harva väga täpselt ennustada vajaliku elektrihulka, kuid ennustava mudeliga relvastatud süsteem suudab. Seetõttu on masinõpe kui selline üks meie prioriteetseid valdkondi. Lihtsalt oleme hetkel keskendunud riistvara arendamisele ega suuda nendele ülesannetele piisavalt ressursse eraldada, mis tõi meid Startup Hackathonile.

Ettevalmistus, andmed, infrastruktuur

Selle tulemusena valisime kaks rada: andmeanalüütika ja haldussüsteem. Lisaks meie omadele oli kolleegidelt veel seitse rada.

Kui häkatoni formaati ei määratud, siis mõtlesime luua “oma õhkkonna”, punktisüsteemiga: osalejad teevad asju, mis meile keerulised ja huvitavad tunduvad, saades selle eest punkte. Meil oli palju ülesandeid. Aga kui me häkatoni ülesehitust ehitasime, palusid teised korraldajad kõik ühisele vormile viia, mida me ka tegime.

Siis jõudsime järgmise skeemini: tüübid teevad oma andmete põhjal mudeli, siis saavad nad meie andmed, mida mudel varem näinud polnud, õpib ja hakkab ennustama. Eeldati, et seda kõike saab teha 48 tunniga, kuid meie jaoks oli see meie andmetel esimene häkaton ja võib-olla oleme ajaressurssi või andmete valmisoleku astet üle hinnanud. Spetsialiseerunud masinõppe häkatonidel oleks selline ajaskaala norm, kuid meie oma ei olnud selline.

Laadisime nii palju kui võimalik mooduli tarkvara ja riistvara ning tegime oma seadmest spetsiaalselt häkatoni jaoks mõeldud versiooni, millel on väga lihtne ja arusaadav sisemine liides, mida iga arendaja saaks toetada.

Juhtsüsteemil põhineva raja jaoks oli võimalus teha mobiilirakendus. Et osalejad ei hakkaks mõtlema, milline see peaks välja nägema, ja lisaaega raiskamast, andsime neile rakendusele ülikerge disainilahenduse, et soovijad saaksid sellele lihtsalt vajalikud funktsioonid peale tõmmata. . Ausalt öeldes ei oodanud me siin mingeid moraalseid dilemmasid, aga üks meeskond võttis asja nii, et piirasime nende fantaasialendu, tahtsime saada tasuta valmislahendust, mitte katsetada. praktikas. Ja nad tõusid õhku.

Teine meeskond otsustas nullist teha täiesti erineva rakenduse ja kõik õnnestus. Me ei nõudnud, et rakendus oleks täpselt selline, vaid vajasime, et see sisaldaks mõningaid elemente, mis näitavad lahenduse tehnilist taset: graafikud, analüütika jne. Vihjeks oli ka valmis kujunduslik paigutus.

Kuna reaalajas Watts Battery mooduli analüüsimine häkatonil oleks liiga aeganõudev, andsime osalejatele kuuks valmis andmetest, mis võeti meie klientide tegelikest moodulitest (mille me eelnevalt hoolikalt anonüümseks muutsime). Kuna oli juuni, ei olnud hooajalisi muutusi analüüsisse kaasata. Kuid tulevikus lisame neile väliseid andmeid, nagu hooajalised ja kliimanäitajad (täna on see valdkonna standard).

Me ei tahtnud tekitada osalejates ebareaalseid ootusi, mistõttu ütlesime häkatoni teates otse: töö tuleb võimalikult lähedal välitöödele: lärmakas, räpased andmed, mida keegi spetsiaalselt ette ei valmistanud. Kuid sellel oli ka positiivne külg: agiilsuse vaimus olime osalejatega pidevalt ühenduses ning tegime kiirelt muudatusi ülesandes ja vastuvõtutingimustes (sellest lähemalt allpool).

Lisaks andsime osalejatele juurdepääsu Amazon AWS-ile (nii aktiivselt, et Amazon blokeeris meie jaoks ühe piirkonna, mõtleme välja, mida sellega teha). Seal saate juurutada asjade Interneti infrastruktuuri ja luua isegi lihtsate Amazoni mallide põhjal ühe päevaga täisväärtusliku lahenduse. Aga lõpuks läks absoluutselt igaüks oma teed, tehes kõike maksimaalselt üksi. Samal ajal õnnestus mõnel ajalimiidist kinni pidada, teistel mitte. Üks meeskond Nubble kasutas Yandex.cloudi, keegi tõstatas selle oma hostimisel. Olime isegi valmis domeene andma (meil on registreeritud), kuid neist polnud kasu.

Analüütilise raja võitjate selgitamiseks plaanisime tulemusi võrrelda, mille kohta koostasime numbrilised mõõdikud. Kuid lõpuks polnud seda vaja teha, sest erinevatel põhjustel ei jõudnud neljast osalejast kolm finaali.

Majapidamistaristu osas aitas siinkohal Skolkovo tehnopark, kes pakkus meile (tasuta) ühe oma hubase moodulruumi koos videoseinaga esitlusteks ning paar väiksemat ruumi puhkealaks ja toitlustuse korraldamiseks.

Analytics

Ülesanne: iseõppiv süsteem, mis tuvastab juhtimisandmete põhjal anomaaliaid tarbimises ja mooduli töös. Jätsime teadlikult sõnastuse võimalikult üldiseks, et osalejad saaksid meiega koos mõelda, mida olemasolevate andmete põhjal teha saaks.

Spetsiifilisus: kahest rajast keerulisem. Tööstusandmetel on mõned erinevused suletud süsteemide andmetest (näiteks digitaalse turunduse puhul). Siin peate mõistma analüüsitavate parameetrite füüsilist olemust; kõike abstraktsete numbriridadena vaadeldes ei tööta. Näiteks elektritarbimise jaotus päeva peale. See on nagu rituaalid: argipäeviti lülitatakse sisse elektriline pardel, nädalavahetustel aga mikser. Siis anomaaliate endi olemus. Ja ärge unustage, et Watts Battery on mõeldud isiklikuks kasutamiseks, nii et igal kliendil on oma rituaalid ja üks universaalne mudel ei tööta. Andmetes teadaolevate kõrvalekallete leidmine pole isegi ülesanne; teine ​​asi on luua süsteem, mis otsib iseseisvalt märgistamata kõrvalekaldeid. Lõppude lõpuks võib kõik olla anomaalia, sealhulgas salakaval inimfaktor. Näiteks oli meie testiandmetes juhtum, kus kasutaja sundis süsteemi akurežiimile. Ilma põhjuseta teevad seda mõnikord kasutajad (teen reservatsiooni, et see kasutaja testib moodulit meie eest ja just sel põhjusel on tal juurdepääs režiimide käsitsi juhtimisele; teistel kasutajatel on juhtimine täiesti automaatne). Nagu on lihtne ennustada, tühjeneb sellises olukorras aku üsna aktiivselt ning suure koormuse korral lõpeb laadimine enne, kui päike tõuseb või mõni muu energiaallikas ilmub. Sellistel juhtudel eeldame, et näeme mingisugust teatist, et süsteemi käitumine on tavapärasest kõrvale kaldunud. Või inimene lahkus ja unustas ahju välja lülitada. Süsteem näeb, et tavaliselt on sellel kellaajal tarbimine 500 vatti, kuid täna - 3,5 tuhat - anomaalia! Nagu Denis Matsuev lennukis: "Ma ei saa lennukimootoritest midagi aru, aga teel sinna kõlas mootor teistmoodi."

Miks vajab riistvarakäivitaja tarkvarahäkatoni?Avatud lähtekoodiga närvivõrgu Yandex CatBoost ennustava mudeli graafik

Mida ettevõte tegelikult vajab?: seadme sees olev enesediagnostika süsteem, ennustav analüüs, sealhulgas ilma võrguinfrastruktuurita (nagu praktika näitab, ei kiirusta kõik meie kliendid akude Interneti-ühendusega - enamiku jaoks piisab, kui kõik lihtsalt töötab usaldusväärselt), anomaaliate tuvastamine, mille olemust me veel ei tea , iseõppiv süsteem ilma õpetajata, klasterdamine, närvivõrgud ja kogu kaasaegsete analüüsimeetodite arsenal. Peame mõistma, et süsteem hakkas teistmoodi käituma, isegi kui me ei tea, mis täpselt on muutunud. Häkatonil endal oli meie jaoks väga oluline näha, et leidub tüüpe, kes on valmis tööstusanalüütikasse astuma või on sellega juba sees ning otsivad uusi valdkondi, kus oma võimeid rakendada. Alguses imestasin, et soovijaid oli nii palju: see on ju väga spetsiifiline köök, aga aegamööda langesid neljast osalejast kõik peale ühe välja, nii et mingil määral loksus kõik paika.

Miks pole see praeguses etapis teostatav?: Andmekaeveülesannete peamine probleem pole piisavalt andmeid. Praegu töötab maailmas kümneid Watts Battery seadmeid, kuid paljud neist ei ole võrku ühendatud, mistõttu pole meie andmed veel väga mitmekesised. Vaevalt kraapisime kokku kaks anomaaliat – ja need tekkisid prototüüpidel; tööstuslik Watts Battery töötab üsna stabiilselt. Kui meil oleks sisemine masinõppeinsener ja me teaksime – jah, seda saab nendest andmetest välja pigistada, aga me tahame saada paremat ennustuskvaliteeti – oleks see üks lugu. Kuid siiani pole me nende andmetega midagi teinud. Lisaks eeldaks see osalejate sügavat süvenemist meie toote toimimise spetsiifikasse, poolteisest päevast selleks ei piisa.

Kuidas sa otsustasid?: Nad ei seadnud kohe täpset lõplikku ülesannet. Selle asemel pidasime kogu 48 tunni jooksul osalejatega dialoogi, uurides kiiresti, mida nad said ja mida mitte. Sellest lähtuvalt sai kompromissi vaimus ülesanne lõplikult vormistatud.

Mida sa selle tulemusel said?: raja võitjad said andmed puhastada (samal ajal leidsid nad mõningate parameetrite arvutamise “omadused”, mida me ise varem polnud märganud, kuna osa andmeid ei kasutanud oma probleemide lahendamiseks) , tõstke esile kõrvalekalded Watts Battery moodulite eeldatavast käitumisest ja looge ennustav mudel, mis suudab ennustada energiatarbimist suure täpsusega. Jah, see on alles tööstusliku lahenduse väljatöötamise teostatavus, siis on vaja nädalaid vaevarikast tehnilist tööd, kuid isegi see otse häkatoni käigus loodud prototüüp võib olla tõelise tööstusliku lahenduse aluseks, mida juhtub harva.

peamine järeldus: Meie käsutuses olevate andmete põhjal on võimalik seadistada ennustavat analüütikat, eeldasime seda, kuid meil polnud kontrollimiseks ressursse. Häkatonil osalejad testisid ja kinnitasid meie hüpoteesi ning jätkame selle ülesande kallal koos rajavõitjatega koostööd.

Miks vajab riistvarakäivitaja tarkvarahäkatoni?Avatud lähtekoodiga närvivõrgu Facebook Prophet ennustava mudeli graafik

Nõuanded tulevikuks: ülesande koostamisel peate vaatama mitte ainult oma tootmise tegevuskava, vaid ka osalejate huvisid. Kuna meie häkatonil rahalisi auhindu pole, siis mängime andmeteadlaste loomulikul uudishimu ja soovil lahendada uusi huvitavaid probleeme, milles keegi pole veel midagi näidanud või kus saab end olemasolevatest tulemustest paremini näidata. Kui võtate huvipakkuva teguri kohe arvesse, ei pea te oma fookust mööda teed nihutama.

Juhtimine

Ülesanne: (rakendus), mis haldab Watts Battery moodulite võrku isikliku konto, pilves andmete salvestamise ja oleku jälgimisega.

Spetsiifilisus: sellel rajal me ei otsinud mingit uut tehnilist lahendust, meil on loomulikult oma tarbijaliides. Valisime ta häkatonile, et demonstreerida oma süsteemi võimekust, sellesse süveneda ja kontrollida, kas kogukonda huvitab nutikate süsteemide ja alternatiivenergia arendamise teema. Mobiilirakenduse positsioneerisime valikuvõimalusena, võid seda teha või mitte teha oma äranägemise järgi. Kuid meie arvates näitab see hästi, kuidas inimesed suutsid korraldada andmete salvestamist pilves, juurdepääsuga mitmest erinevast allikast korraga.

Mida ettevõte tegelikult vajab?: arendajate kogukond, kes mõtleb välja äriideid, testib hüpoteese ja loob töövahendeid nende elluviimiseks.

Miks pole see praeguses etapis teostatav?: Turumaht on sellise kogukonna orgaaniliseks kujunemiseks veel liiga väike.

Kuidas sa otsustasid?: Häkatoni raames viisime läbi omamoodi kehalisuse uuringu, et näha, kas meie väga spetsiifilise toote ümber on võimalik välja mõelda mitte ainult funktsioonid, vaid ka täisväärtuslikud ärimudelid. Veelgi enam, selleks, et inimesed, kes on võimelised prototüüpi juurutama, seda teeksid, pole siin - ma ei taha kedagi solvata -, see pole Arduino vilkuva LED-i programmeerimise tase (kuigi seda saab teha uuendustega) , siin on vaja pigem spetsiifilisi oskusi: tausta- ja frontendsüsteemide arendamine, skaleeritavate asjade interneti süsteemide loomise põhimõtete mõistmine.

*Teise loo võitjate kõne*

Mida sa selle tulemusel said?: kaks meeskonda pakkusid oma tööks välja täisväärtuslikud äriideed: üks keskendus rohkem Venemaa, teine ​​välismaisele segmendile. See tähendab, et finaalis ei rääkinud nad lihtsalt, kuidas nad rakenduse välja mõtlesid, vaid asusid sisuliselt Wattsi ümber äri ajama. Poisid kirjeldasid, kuidas nad näevad vattide kasutamist mitmes ärimudelis, esitasid statistikat, näitasid, millistes piirkondades on probleeme, milliseid seadusi kus vastu võetakse, visandasid globaalset trendi: bitcoinide kaevandamine on moes, kilovatte on moes. Nad tulid teadlikult alternatiivenergia juurde, mis meile väga meeldis. Asjaolu, et osalejad lisaks sellele suutsid luua toimiva tehnilise lahenduse, viitab sellele, et nad saavad iseseisvalt startupi käivitada.

peamine järeldus: On meeskondi, kes on valmis võtma Watts Battery oma ärimudeli aluseks, arendama seda ja saama ettevõtte partneriteks/kaaslasteks. Mõned neist teavad isegi, kuidas äriidee MVP-d tuvastada ja kõigepealt selle kallal töötada, millest tänapäeval tööstuses kõikjal puudu on. Inimesed ei mõista, millal lõpetada, millal turule lasta lahendus, ehkki varakult, kuid toimiv. Tegelikult ei lõpe sageli lahenduse lihvimise etapp, tehniliselt ületab lahendus mõistliku keerukuse piiri, see siseneb turule ülekoormatuna, enam pole selge, mis oli algne idee, mis on kliendi sihtimine, millised on ärimudelid. kaasatud. Nagu naljas Akuninist, kes kirjutas teise raamatu, kui kirjutas kellelegi eelmisele allkirja. Kuid siin tehti seda kõige puhtamal kujul: siin on diagramm, siin on loendur, siin on näitajad, siin on ennustus - see on kõik, selle käitamiseks pole vaja midagi muud. Sellega saate minna investori juurde ja saada raha ettevõtluse alustamiseks. Need, kes selle tasakaalu leidsid, väljusid rajalt võitjatena.

Nõuanded tulevikuks: järgmisel häkatonil (me plaanime seda tänavu märtsis), võib-olla on mõttekas riistvaraga katsetada. Meil on oma riistvaraarendus (üks vattide eelistest), kontrollime täielikult kõigi oma tegemiste tootmist ja testimist, kuid meil pole piisavalt ressursse mõne “riistvara” hüpoteesi testimiseks. Väga hästi võib juhtuda, et süsteemi- ja madalatasemeliste programmeerijate ja riistvaraarendajate kogukonnas on neid, kes meid selles aitavad ja tulevikus saavad selles vallas meie partneriks.

Inimesed

Häkatonile ootasime pigem neid, kes soovivad end uuel alal proovile panna (näiteks erinevate programmeerimiskoolide lõpetajad), mitte just sellisele arendusele spetsialiseerunud. Aga siiski ootasime, et enne häkatoni tehakse väike ettevalmistustöö, loetakse, kuidas energiatarbimist üldiselt prognoositakse ja asjade interneti süsteemid toimivad. Et kõik ei tuleks lihtsalt lõbu pärast, huvitavaid andmeid ja ülesandeid otsima, vaid ka eelnevalt teemasse süvenedes. Omalt poolt mõistame, et selleks on vaja eelnevalt avaldada olemasolevad andmed, nende kirjeldus ja täpsemad nõuded tulemusele, avaldada API moodulid jne.

Kõigil oli ligikaudu sama tehnoloogiline tase, pluss-miinus samad võimalused. Selle taustal ei olnud harmoonia tase viimane tegur. Mitmed meeskonnad jäid laskmata, kuna ei suutnud end selgelt tööaladeks jagada. Oli ka selliseid, kus üks inimene tegi kogu arenduse, ülejäänud tegelesid esitluse ettevalmistamisega, teistes anti kellelegi ülesandeid, mida ta tegi, ilmselt esimest korda elus.

Enamik osalejaid olid noored, see ei tähenda, et nende hulgas poleks olnud tugevaid masinõppeinsenere ja -arendajaid. Enamik tuli meeskonda, üksikisikuid praktiliselt polnud. Kõik unistasid võitmisest, keegi soovis tulevikus tööd leida, umbes 20% on selle juba leidnud, ma arvan, et see arv kasvab.

Meil polnud piisavalt riistvarahuvilisi, kuid loodame selle teisel häkatonil tasa teha.

Hackathoni edenemine

Nagu eelpool kirjutasin, olime osavõtjatega koos enamuse 48 tunnist häkatonist ning nende õnnestumisi kontrollpunktides jälgides püüdsime kohandada ülesannet ja tingimusi esimese, analüütilise raja vastuvõtmiseks nii, et ühelt poolt osalejad said selle järelejäänud aja jooksul läbi teha ja teisest küljest pakkus see meile huvi.

Viimane ülesande täpsustus tehti kuskil viimase kontrollpunkti paiku, laupäeva pärastlõunal (finaal oli määratud pühapäeva õhtuks). Lihtsustasime kõike veel veidi: eemaldasime mudeli ümberarvutamise nõude uute andmete põhjal, jättes alles andmed, millega meeskonnad juba töötasid. Mõõdikute võrdlemine ei andnud meile enam midagi, neil olid olemasolevate andmete põhjal juba valmis tulemused ja teiseks päevaks olid tüübid juba väsinud. Seetõttu otsustasime neid vähem piinata.

Neljast osalejast kolm aga finaali ei jõudnud. Üks meeskond mõistis juba stardis, et teda huvitab rohkem meie kolleegide rada, teine ​​aga mõistis vahetult enne finaali, et oli töötlusprotsessi käigus vajalikud andmed enne tähtaega välja filtreerinud ja keeldus oma töid tutvustamast.

“21 (Wet Hair Effect)” tiim osales meie mõlemal rajal päris lõpuni. Nad tahtsid hõlmata kõike korraga: masinõpet, arendust, rakendusi ja veebisaiti. Kuni me viimasel hetkel neid tagasitõmbumisega ähvardasime, uskusid nad, et teevad kõik õigel ajal, kuigi juba teises kontrollpunktis oli näha, et peamise asjaga - masinõppega - ei õnnestunud neil märkimisväärset edu saavutada: üldiselt tulid nad toime teine ​​plokk, kuid ei osanud prognoosida elektritarbimist, polnud valmis. Selle tulemusena, kui määrasime esimesele kvalifitseerumise miinimumülesande, valisid nad ikkagi teise raja.

Fit-predictil oli andmeanalüütika jaoks kohandatud tasakaalustatud koostis, nii et nad suutsid kõigest üle saada. Oli märgata, et poisid olid huvitatud tõeliste tööstusandmete puudutamisest. Nad keskendusid kohe põhilisele: analüüsimisele, andmete puhastamisele, iga anomaaliaga tegelemisele. See, et nad suutsid häkatoni käigus ehitada toimiva mudeli, on suur saavutus. Tööpraktikas kulub selleks tavaliselt nädalaid: seni, kuni andmeid puhastatakse, kuni nendesse süvenetakse. Seetõttu teeme nendega kindlasti koostööd.

Teisel rajal (juhtimine) eeldasime, et kõik teeksid kõik poole päevaga ära ja tulge küsima, et ülesanne oleks raskem. Praktikas jäi meil napilt aega põhiülesande täitmiseks. Töötasime JS-i ja Pythoni kallal, mis peegeldab tööstuse hetkeseisu.

Ka siin saavutasid tulemusi hästi koordineeritud meeskonnad, milles tööjaotus oli üles ehitatud, oli selge, kes mida teeb.

Kolmandal meeskonnal FSocietyl näis lahendus olevat, kuid lõpuks otsustati oma arengut mitte näidata, ütlesid, et ei pea seda toimivaks. Me austame seda ega vaielnud.

Võitis võistkond “Strippers from Baku”, kes suutis end peatada, mitte “nipsasju” taga ajada, vaid luua MVP, mida ei ole häbi näidata ja mida on selge, et seda saab edasi arendada ja skaleerida. Ütlesime neile kohe, et lisavõimalused meid liiga ei huvita. Kui nad soovivad registreerida QR-koodi või näotuvastuse kaudu, tehke neil esmalt rakenduses graafikud ja seejärel võtke kasutusele valikulised.

Sellel lool pääses “Wet Hair” enesekindlalt finaali ning arutasime nende ja “Hustlersiga” edasist koostööd. Viimasega oleme uuel aastal juba kohtunud.

Loodan, et kõik läheb korda ja ootame kõiki märtsis toimuvale teisele häkatonile!

Allikas: www.habr.com

Lisa kommentaar