Per què una empresa de maquinari necessita un hackató de programari?

El desembre passat, vam celebrar la nostra pròpia hackathon d'inici amb sis empreses més de Skolkovo. Sense patrocinadors corporatius ni cap suport extern, vam reunir dos-cents participants de 20 ciutats de Rússia gràcies als esforços de la comunitat de programació. A continuació us explicaré com ho hem aconseguit, quins inconvenients ens hem trobat al llarg del camí i per què de seguida vam començar a col·laborar amb un dels equips guanyadors.

Per què una empresa de maquinari necessita un hackató de programari?Interfície de l'aplicació que controla els mòduls Watts Battery dels finalistes del tema, "Wet Hair"

empresa

La nostra empresa Watts Battery crea centrals elèctriques portàtils modulars. El producte és una central elèctrica portàtil de 46x36x11 cm, capaç de lliurar d'1,5 a 15 quilowatts per hora. Quatre d'aquests mòduls poden proporcionar el consum d'energia d'una petita casa de camp durant dos dies.

Tot i que vam començar a enviar mostres de producció l'any passat, per tots els comptes, Watts Battery és una startup. L'empresa es va fundar l'any 2016 i des del mateix any és resident del Clúster de Tecnologies d'Eficiència Energètica de Skolkovo. Avui tenim 15 empleats i un gran endarreriment de coses que ens agradaria fer en algun moment, però ara mateix no hi ha temps per això.

Això també inclou tasques purament de programari. Per què?

La tasca principal del mòdul és proporcionar un subministrament d'energia equilibrat i ininterromput a un cost òptim. Si experimenteu un tall d'energia per motius aliens al vostre control, sempre hauríeu de tenir una reserva per poder alimentar completament la càrrega de xarxa necessària durant la durada de l'interrupció. I quan la font d'alimentació és bona, podeu utilitzar l'energia solar per estalviar diners.

L'opció més senzilla és poder carregar la bateria des del sol durant el dia i utilitzar-la al vespre, però exactament al nivell necessari perquè en cas d'apagada no et quedis sense electricitat. Per tant, mai us trobareu en una situació en què heu alimentat la il·luminació amb una bateria tota la nit (perquè és més barat), però a la nit l'electricitat es va apagar i la vostra nevera es va descongelar.

És evident que una persona poques vegades és capaç de predir amb gran precisió la quantitat d'electricitat que necessita, però un sistema armat amb un model predictiu sí. Per tant, l'aprenentatge automàtic com a tal és una de les nostres àrees prioritàries. És que actualment estem centrats en el desenvolupament de maquinari i no podem destinar prou recursos a aquestes tasques, que és el que ens va portar a la Startup Hackathon.

Preparació, dades, infraestructura

Com a resultat, vam agafar dues vies: l'anàlisi de dades i el sistema de gestió. A més de la nostra, hi havia set temes més dels companys.

Tot i que no es va determinar el format de la hackathon, estàvem pensant a crear “el nostre propi ambient”, amb un sistema de punts: els participants fan algunes coses que ens semblen difícils i interessants, rebent punts per això. Teníem moltes tasques. Però a mesura que vam construir l'estructura de la hackathon, altres organitzadors van demanar portar-ho tot a una forma comuna, cosa que vam fer.

Aleshores vam arribar al següent esquema: els nois fan un model a partir de les seves dades, després reben les nostres dades, que el model no havia vist abans, apren i comença a predir. Es suposava que tot això es podria fer en 48 hores, però per a nosaltres aquest va ser el primer hackathon sobre les nostres dades, i potser hem sobreestimat els recursos de temps o el grau de preparació de les dades. En els hackatons especialitzats d'aprenentatge automàtic, aquesta línia de temps seria la norma, però la nostra no era així.

Vam descarregar el programari i el maquinari del mòdul tant com vam poder, i vam fer una versió del nostre dispositiu específicament per al hackathon, amb una interfície interna molt senzilla i entenedora que qualsevol desenvolupador podria suportar.

Per a la pista basada en el sistema de control, hi havia l'opció de fer una aplicació mòbil. Per evitar que els participants s'acabin els cervells sobre com hauria de ser i perdin temps extra, els hem donat un disseny de l'aplicació, molt lleuger, perquè els que la vulguin poguessin simplement "estirar" les funcions que necessiten. . Per ser honest, no esperàvem cap dilema moral aquí, però un dels equips ho va prendre de tal manera que estàvem limitant el seu vol de fantasia, volíem obtenir una solució ja feta gratuïtament i no provar-les. en la pràctica. I es van enlairar.

Un altre equip va optar per fer una aplicació completament diferent des de zero i tot va funcionar. No vam insistir que l'aplicació fos exactament així, només ens calia que contingués alguns elements que demostressin el nivell tècnic de la solució: gràfics, analítiques, etc. El disseny acabat també va ser una pista.

Com que l'anàlisi d'un mòdul de bateria de Watts en directe en un hackathon requeriria massa temps, vam oferir als participants una porció de dades preparada durant un mes extreta dels mòduls reals dels nostres clients (que vam anonimitzar amb cura prèviament). Com que era juny, no hi havia res per incorporar canvis estacionals a l'anàlisi. Però en el futur hi afegirem dades externes, com ara les característiques estacionals i climàtiques (avui és l'estàndard del sector).

No hem volgut crear expectatives poc realistes entre els participants, així que en l'anunci del hackathon vam dir directament: el treball serà el més proper possible al treball de camp: dades sorolloses, brutes, que ningú va preparar especialment. Però això també tenia un costat positiu: amb l'esperit d'àgil, vam estar en contacte constant amb els participants i vam modificar ràpidament la tasca i les condicions d'admissió (més informació a continuació).

A més, vam donar als participants accés a Amazon AWS (tan activament que Amazon ens va bloquejar una regió, esbrinarem què hem de fer al respecte). Allà podeu implementar infraestructura per a l'Internet de les coses i, fins i tot basant-vos en plantilles simples d'Amazon, crear una solució completa en un dia. Però al final, absolutament cadascú va seguir el seu camí, fent-ho tot pel seu compte al màxim. Al mateix temps, alguns van aconseguir complir el límit de temps, altres no. Un equip, Nubble, va utilitzar Yandex.cloud, algú el va plantejar al seu allotjament. Fins i tot estàvem disposats a donar dominis (tenim registrats), però no van ser útils.

Per determinar els guanyadors de la pista analítica, hem previst comparar els resultats, per als quals hem preparat mètriques numèriques. Però al final no va ser necessari fer-ho, ja que per diferents motius tres dels quatre participants no van arribar a la final.

Pel que fa a les infraestructures domèstiques, el Skolkovo Technopark ens va ajudar proporcionant-nos (gratis) una de les seves acollidores sales modulars amb un videowall per a presentacions i un parell de sales més petites per a una àrea d'esbarjo i per organitzar càtering.

Analítica

Tasca: un sistema d'autoaprenentatge que identifica anomalies en el consum i el funcionament del mòdul a partir de dades de control. Deliberadament, vam mantenir la redacció el més general possible perquè els participants poguessin treballar amb nosaltres per pensar què es podria fer a partir de les dades disponibles.

Especificitat: La més complexa de les dues vies. Les dades industrials tenen algunes diferències amb les dades en sistemes tancats (per exemple, màrqueting digital). Aquí heu d'entendre la naturalesa física dels paràmetres que esteu intentant analitzar; mirar-ho tot com a sèries de números abstractes no funcionarà. Per exemple, la distribució del consum elèctric al llarg del dia. És com els rituals: la navalla elèctrica s'encén els dies feiners al matí i la batedora els caps de setmana. Després l'essència de les anomalies en si. I no oblideu que la bateria Watts està pensada per a ús personal, de manera que cada client tindrà els seus propis rituals i un model universal no funcionarà. Trobar anomalies conegudes a les dades ni tan sols és una tasca; crear un sistema que cerqui de manera autònoma anomalies sense etiquetar és una altra qüestió. Després de tot, qualsevol cosa pot ser una anomalia, inclòs el factor humà insidios. Per exemple, a les nostres dades de prova hi va haver un cas en què l'usuari va forçar el sistema al mode de bateria. Sense cap motiu, els usuaris ho fan de vegades (faré una reserva que aquest usuari ens està provant el mòdul i és per aquest motiu que té accés al control manual de modes; per a altres usuaris el control és totalment automàtic). Com és fàcil de predir, en aquesta situació, la bateria es descarrega força activament, i si la càrrega és gran, la càrrega s'acabarà abans que surti el sol o aparegui una altra font d'energia. En aquests casos, esperem veure algun tipus de notificació que el comportament del sistema s'ha desviat del normal. O la persona va marxar i es va oblidar d'apagar el forn. El sistema veu que normalment a aquesta hora del dia el consum és de 500 watts, però avui - 3,5 mil - una anomalia! Com Denis Matsuev a l'avió: "No entenc res dels motors d'avions, però durant el camí el motor sonava diferent".

Per què una empresa de maquinari necessita un hackató de programari?Gràfic d'un model predictiu a la xarxa neuronal de codi obert Yandex CatBoost

Què necessita realment l'empresa?: sistema d'autodiagnòstic dins del dispositiu, anàlisi predictiva, inclòs sense infraestructura de xarxa (com mostra la pràctica, no tots els nostres clients tenen pressa per connectar les bateries a Internet; per a la majoria, n'hi ha prou perquè tot funcioni de manera fiable), identificació d'anomalies, la naturalesa de les quals encara no coneixem, un sistema d'autoaprenentatge sense professor, agrupació, xarxes neuronals i tot l'arsenal de mètodes analítics moderns. Hem d'entendre que el sistema va començar a comportar-se de manera diferent, encara que no sabem què ha canviat exactament. En el mateix hackathon, va ser molt important per a nosaltres veure que hi ha nois que estan preparats per entrar a l'anàlisi industrial o ja hi estan, i que busquen noves àrees per aplicar les seves habilitats. Al principi em va sorprendre que hi hagués tants sol·licitants: al cap i a la fi, es tracta d'una cuina molt concreta, però a poc a poc tots els quatre participants menys un van abandonar, així que fins a cert punt tot es va posar al seu lloc.

Per què no és factible en aquesta etapa?: El principal problema de les tasques de mineria de dades és que no hi ha prou dades. Actualment hi ha diverses dotzenes de dispositius Watts Battery en funcionament arreu del món, però molts d'ells no estan connectats a la xarxa, de manera que les nostres dades encara no són gaire diverses. Amb prou feines vam reunir dues anomalies, i les que es van produir en prototips; la bateria industrial Watts funciona de manera bastant estable. Si tinguéssim un enginyer intern d'aprenentatge automàtic i sabéssim, sí, això es pot extreure d'aquestes dades, però volem obtenir una millor qualitat de predicció, seria una història. Però fins ara no hem fet res amb aquestes dades. A més, això requeriria una profunda immersió dels participants en les especificitats del funcionament del nostre producte; un dia i mig no és suficient per a això.

Com vas decidir?: No van establir immediatament la tasca final exacta. En canvi, al llarg de les 48 hores, vam estar dialogant amb els participants, esbrinant ràpidament què podien obtenir i què no. A partir d'això, amb esperit de compromís, es va concretar la tasca.

Què vas obtenir com a resultat?: els guanyadors de la pista van poder netejar les dades (al mateix temps van trobar les “característiques” de calcular alguns paràmetres que nosaltres mateixos no havíem notat abans, ja que no vam utilitzar algunes de les dades per resoldre els nostres problemes) , destaquen les desviacions del comportament esperat dels mòduls de Watts Battery i configuren un model predictiu capaç de predir el consum d'energia amb un alt grau de precisió. Sí, aquesta és només una etapa de viabilitat del desenvolupament d'una solució industrial; llavors caldran setmanes de treball tècnic minuciós, però fins i tot aquest prototip, creat directament durant l'hackathon, pot constituir la base d'una solució industrial real, cosa rara.

conclusió principal: A partir de les dades de què disposem, és possible configurar l'anàlisi predictiva, ho assumíem, però no teníem els recursos per comprovar-ho. Els participants del hackathon van provar i confirmar la nostra hipòtesi, i continuarem treballant amb els guanyadors de la pista en aquesta tasca.

Per què una empresa de maquinari necessita un hackató de programari?Gràfic d'un model predictiu a la xarxa neuronal de codi obert Facebook Prophet

Consells per al futur: a l'hora d'elaborar una tasca, heu de mirar no només el vostre full de ruta de producció, sinó també l'interès dels participants. Com que el nostre hackathon no té premis en metàl·lic, juguem a la curiositat natural dels científics de dades i el desig de resoldre problemes nous i interessants en els quals ningú encara no ha mostrat res ni on es pot mostrar millor que els resultats existents. Si tens en compte immediatament el factor d'interès, no hauràs de canviar el teu enfocament pel camí.

Governança

Tasca: (aplicació) que gestiona una xarxa de mòduls Watts Battery, amb un compte personal, emmagatzematge de dades al núvol i monitorització de l'estat.

Especificitat: en aquesta pista no buscàvem cap solució tècnica nova; tenim, per descomptat, la nostra pròpia interfície de consum. El vam triar per al hackathon per demostrar les capacitats del nostre sistema, submergir-nos-hi i comprovar si la comunitat està interessada en el tema del desenvolupament de sistemes intel·ligents i energies alternatives. Posicionem l'aplicació mòbil com una opció, pots fer-ho o no fer-ho al teu criteri. Però, segons la nostra opinió, mostra bé com la gent va aconseguir organitzar l'emmagatzematge de dades al núvol, amb accés des de diverses fonts alhora.

Què necessita realment l'empresa?: una comunitat de desenvolupadors que proposaran idees de negoci, provaran hipòtesis i crearan eines de treball per a la seva implementació.

Per què no és factible en aquesta etapa?: El volum del mercat encara és massa petit per a la formació orgànica d'aquesta comunitat.

Com vas decidir?: Com a part d'un hackathon, vam realitzar una mena d'estudi de la fisicalitat per veure si era possible no només característiques, sinó models de negoci complets al voltant del nostre producte molt específic. A més, perquè la gent capaç d'implementar un prototip ho faci, després de tot, aquí -no vull ofendre ningú- aquest no és el nivell de programació d'un LED intermitent a Arduino (tot i que això es pot fer amb innovacions) , aquí es requereixen habilitats més aviat específiques: desenvolupament de sistemes backend i frontend, comprensió dels principis de construcció de sistemes escalables d'Internet de les coses.

*Discurs dels guanyadors de la segona pista*

Què vas obtenir com a resultat?: dos equips van proposar idees de negocis de ple dret per al seu treball: un es va centrar més en el segment rus, l'altre en l'estranger. És a dir, al final no només van explicar com van sortir amb l'aplicació, sinó que bàsicament van arribar a fer negocis al voltant de Watts. Els nois van descriure com veuen l'ús de Watts en diversos models de negoci, van proporcionar estadístiques, van mostrar quines regions tenen quins problemes, quines lleis s'adopten on, van esbossar la tendència global: no està de moda extreure bitcoins, està de moda extreure quilowatts. Van arribar deliberadament a les energies alternatives, que ens van agradar molt. El fet que els participants, a més d'això, hagin pogut crear una solució tècnica de treball suggereix que poden llançar de manera independent una startup.

conclusió principal: Hi ha equips preparats per prendre Watts Battery com a base del seu model de negoci, desenvolupar-lo i convertir-se en socis/companys de l'empresa. Alguns d'ells fins i tot saben com identificar el MVP d'una idea de negoci i treballar-hi primer, cosa que manca a tot arreu del sector avui dia. La gent no entén quan aturar, quan llançar una solució al mercat, encara que d'hora, però funcionant. De fet, l'etapa de poliment de la solució sovint no s'acaba, tècnicament la solució creua la línia de la complexitat raonable, entra al mercat sobrecarregada, ja no està clar quina era la idea original, quina és l'orientació al client, quins models de negoci són. inclòs. Com en l'acudit sobre Akunin, que va escriure un altre llibre mentre signava l'anterior per algú. Però aquí es va fer en la seva forma més pura: aquí hi ha un gràfic, aquí hi ha un comptador, aquí hi ha indicadors, aquí hi ha una predicció; això és tot, no cal res més per executar-lo. Amb això, pots anar a un inversor i rebre diners per iniciar un negoci. Els que van trobar aquest equilibri van sortir de la pista com a guanyadors.

Consells per al futur: a la propera hackathon (estem planejant al març d'enguany), potser té sentit experimentar amb el maquinari. Tenim el nostre propi desenvolupament de maquinari (un dels avantatges de Watts), controlem totalment la producció i les proves de tot el que fem, però no tenim prou recursos per provar algunes hipòtesis de “maquinari”. Pot ser que a la comunitat de programadors de sistemes i de baix nivell i desenvolupadors de maquinari hi hagi qui ens ajudi amb això i en el futur esdevingui el nostre soci en aquest àmbit.

Persones

A l'hackathon, esperàvem aquells que volen provar-se en un camp nou (per exemple, graduats de diverses escoles de programació) més que aquells especialitzats en aquest tipus de desenvolupament. Però tot i així, esperàvem que abans del hackató fessin una mica de treball preparatori, llegissin com es preveu el consum d'energia en general i com funcionen els sistemes d'Internet de les coses. Perquè tothom vingui no només per diversió, a la recerca de dades i tasques interessants, sinó també amb una immersió prèvia en l'àrea temàtica. Per la nostra banda, entenem que per a això cal publicar prèviament les dades disponibles, la seva descripció i requisits més precisos per al resultat, publicar mòduls API, etc.

Tothom tenia aproximadament el mateix nivell tecnològic, més o menys les mateixes capacitats. En aquest context, el nivell d'harmonia no va ser l'últim factor. Alguns equips no van disparar perquè no es van poder dividir clarament en àrees de treball. També n'hi havia en què una persona feia tot el desenvolupament, la resta estava ocupada preparant la presentació, en altres, a algú li donaven tasques que feia, segurament per primera vegada a la seva vida.

La majoria dels participants eren joves, això no vol dir que no hi hagués enginyers i desenvolupadors d'aprenentatge automàtic forts entre ells. La majoria venia en equips, pràcticament no hi havia individus. Tothom somiava amb guanyar, algú volia trobar feina en el futur, prop del 20% ja n'ha trobat una, crec que aquesta xifra creixerà.

No teníem prou geeks de maquinari, però esperem compensar-ho a la segona hackathon.

Progrés del Hackathon

Com he escrit més amunt, vam estar amb els participants la major part de les 48 hores de la hackathon i, controlant els seus èxits als punts de control, vam intentar adaptar la tasca i les condicions per acceptar la primera pista analítica perquè, d'una banda, el els participants podien completar-lo en el temps restant i, d'altra banda, ens interessava.

L'últim aclariment de la tasca es va fer al voltant de l'últim control, dissabte a la tarda (la final estava prevista per diumenge al vespre). Ho vam simplificar una mica més: vam eliminar l'exigència de tornar a calcular el model amb dades noves, deixant les dades amb les que ja estaven treballant els equips. La comparació de mètriques ja no ens donava res, ja tenien resultats preparats a partir de les dades disponibles, i el segon dia els nois ja estaven cansats. Per tant, vam decidir torturar-los menys.

Tanmateix, tres de cada quatre participants no van arribar a la final. Un equip ja es va adonar al principi que els interessava més la pista dels nostres companys, l'altre, just abans de la final, es va adonar que durant el procés de processament havien filtrat les dades necessàries amb antelació i es va negar a presentar el seu treball.

L'equip "21 (Wet Hair Effect)" va participar en els nostres dos temes fins al final. Volien cobrir-ho tot alhora: aprenentatge automàtic, desenvolupament, aplicació i lloc web. Fins que els vam amenaçar de retirar-se a l'últim moment, creien que ho estaven fent tot a temps, tot i que ja al segon punt de control era obvi que amb el principal, l'aprenentatge automàtic, no podien fer progressos significatius: generalment s'hi van enfrontar. el segon bloc, però no podia predir el consum d'electricitat no estaven preparats. En conseqüència, quan vam determinar la tasca mínima per classificar-se per a la primera, encara van escollir la segona via.

Fit-predict tenia una composició equilibrada adaptada per a l'anàlisi de dades, de manera que van poder superar-ho tot. Es va notar que els nois estaven interessats a "tocar" dades industrials reals. Immediatament es van concentrar en el principal: analitzar, netejar les dades, tractar totes les anomalies. El fet que hagin pogut construir un model de treball durant el hackathon és un gran èxit. A la pràctica laboral, això sol durar setmanes: mentre s'estan netejant les dades, mentre s'hi aprofundeixen. Per tant, definitivament treballarem amb ells.

A la segona via (gestió), esperàvem que tothom ho fes tot en mig dia i vingués a demanar per dificultar la tasca. A la pràctica, amb prou feines vam tenir temps per completar la tasca bàsica. Hem treballat en JS i Python, que reflecteix l'estat actual de la indústria.

També aquí els resultats s'aconseguien per equips ben coordinats en els quals es construïa la divisió del treball, quedava clar qui feia què.

El tercer equip, FSociety, semblava tenir una solució, però al final van decidir no mostrar el seu desenvolupament, van dir que no consideraven que funcionés. Respectem això i no vam discutir.

El guanyador va ser l'equip "Strippers from Baku", que va ser capaç d'aturar-se, no per perseguir "trinkets", sinó per crear un MVP que no s'avergonyeix de mostrar i que té clar que es pot desenvolupar i escalar més. De seguida els vam dir que no estàvem massa interessats en oportunitats addicionals. Si volen registrar-se mitjançant codi QR, reconeixement facial, que primer facin gràfics a l'aplicació, i després assumeixen els opcionals.

En aquesta cançó, "Wet Hair" va entrar amb confiança a la final i vam parlar sobre la cooperació amb ells i "Hustlers". Aquest últim ja l'hem conegut el nou any.

Espero que tot surti bé, i esperem veure'ls a tothom a la segona hackathon al març!

Font: www.habr.com

Afegeix comentari