Yandex rezidentni program ili kako iskusni backender može postati ML inženjer

Yandex rezidentni program ili kako iskusni backender može postati ML inženjer

Yandex otvara rezidencijalni program u mašinskom učenju za iskusne backend programere. Ako ste dosta pisali na C++/Python-u i želite da ovo znanje primenite na ML, onda ćemo vas naučiti kako da radite praktično istraživanje i obezbedićemo iskusne mentore. Radit ćete na ključnim Yandex servisima i steći ćete vještine u oblastima kao što su linearni modeli i povećanje gradijenta, sistemi preporuka, neuronske mreže za analizu slika, teksta i zvuka. Također ćete naučiti kako pravilno procijeniti svoje modele koristeći metriku van mreže i na mreži.

Trajanje programa je godinu dana, tokom koje će polaznici raditi u odeljenju za mašinsku inteligenciju i istraživanje Yandex-a, kao i pohađati predavanja i seminare. Učešće je plaćeno i uključuje puno radno vrijeme: 40 sati sedmično, počevši od 1. jula ove godine. Prijave su sada otvorene i trajaće do 1. maja. 

A sada detaljnije - o tome kakvu publiku čekamo, kakav će biti proces rada i, općenito, kako se back-end stručnjak može prebaciti na karijeru u ML-u.

Focus

Mnoge kompanije imaju rezidentne programe, uključujući, na primjer, Google i Facebook. Oni su uglavnom usmjereni na mlađe i srednje stručnjake koji pokušavaju napraviti korak ka istraživanju ML-a. Naš program je za drugačiju publiku. Pozivamo backend programere koji su već stekli dovoljno iskustva i sigurno znaju da se u svojim kompetencijama moraju prebaciti na ML, da steknu praktične vještine - a ne vještine naučnika - u rješavanju problema industrijskog mašinskog učenja. To ne znači da ne podržavamo mlade istraživače. Za njih smo organizovali poseban program - premium nazvan po Ilya Segalovichu, što vam takođe omogućava rad u Yandexu.

Gdje će rezident raditi?

U Odjelu za mašinsku inteligenciju i istraživanje, sami razvijamo projektne ideje. Glavni izvor inspiracije je naučna literatura, članci i trendovi u istraživačkoj zajednici. Moje kolege i ja analiziramo ono što čitamo, gledajući kako možemo poboljšati ili proširiti metode koje predlažu naučnici. Istovremeno, svako od nas uzima u obzir svoju oblast znanja i interesovanja, formuliše zadatak na osnovu oblasti koje smatra važnim. Ideja za projekat se obično rađa na preseku rezultata eksternog istraživanja i sopstvenih kompetencija.

Ovaj sistem je dobar jer u velikoj mjeri rješava tehnološke probleme Yandex servisa i prije nego što se pojave. Kada se servis suoči sa problemom, kod nas dolaze njeni predstavnici, najvjerovatnije da uzmu tehnologije koje smo već pripremili, a preostaje samo da se pravilno primjene u proizvodu. Ako nešto nije spremno, barem ćemo se brzo sjetiti gdje možemo „početi kopati“ i u kojim člancima tražiti rješenje. Kao što znamo, naučni pristup je stajati na ramenima divova.

Šta da radim

U Yandexu - pa čak i posebno u našem menadžmentu - razvijaju se sva relevantna područja ML-a. Naš cilj je poboljšati kvalitetu širokog spektra proizvoda, a to nam služi kao poticaj da testiramo sve novo. Osim toga, redovno se pojavljuju nove usluge. Dakle, program predavanja sadrži sve ključne (dobro dokazane) oblasti mašinskog učenja u industrijskom razvoju. Prilikom sastavljanja svog dijela kursa koristio sam svoje nastavno iskustvo u Školi za analizu podataka, kao i materijale i rad drugih nastavnika SHAD-a. Znam da su i moje kolege radile isto.

U prvim mesecima obuka po programu kursa će zauzimati oko 30% vašeg radnog vremena, zatim oko 10%. Međutim, važno je shvatiti da će rad sa samim ML modelima i dalje trajati otprilike četiri puta manje od svih povezanih procesa. To uključuje pripremu pozadine, primanje podataka, pisanje cjevovoda za njihovu pretprocesu, optimizaciju koda, prilagođavanje specifičnom hardveru, itd. ML inženjer je, ako želite, programer za cijeli stack (samo s većim naglaskom na strojno učenje) , sposoban da reši problem od početka do kraja. Čak i sa gotovim modelom, vjerovatno ćete morati učiniti još nekoliko radnji: paralelizirati njegovo izvršavanje na nekoliko mašina, pripremiti implementaciju u obliku ručke, biblioteke ili komponenti samog servisa.

Studentski izbor
Ako ste imali utisak da je bolje postati ML inženjer tako što ćete prvo raditi kao backend programer, to nije istina. Upisati se u isti ShAD bez pravog iskustva u razvoju usluga, učenja i postati izuzetno tražen na tržištu je odlična opcija. Mnogi stručnjaci za Yandex su na ovaj način završili na svojim trenutnim pozicijama. Ako je neka kompanija spremna da vam ponudi posao u oblasti ML-a odmah nakon diplomiranja, vjerovatno biste i vi trebali prihvatiti ponudu. Pokušajte da uđete u dobar tim sa iskusnim mentorom i spremite se da mnogo naučite.

Šta vas obično sprečava da se bavite ML?

Ako backender želi da postane ML inženjer, može birati između dva područja razvoja - bez uzimanja u obzir programa boravka.

Prvo, učite kao dio nekog obrazovnog kursa. Predavanja Coursera će vas približiti razumijevanju osnovnih tehnika, ali da biste se u dovoljnoj mjeri uronili u profesiju, morate joj posvetiti mnogo više vremena. Na primjer, diplomirati na ShAD-u. Tokom godina, ShAD je imao različit broj kurseva direktno o mašinskom učenju - u proseku oko osam. Svaki od njih je zaista važan i koristan, uključujući i po mišljenju diplomaca. 

Drugo, možete sudjelovati u borbenim projektima gdje trebate implementirati jedan ili drugi algoritam ML. Međutim, na tržištu IT razvoja postoji vrlo malo takvih projekata: mašinsko učenje se ne koristi u većini zadataka. Čak iu bankama koje aktivno istražuju mogućnosti vezane za pranje novca, samo nekoliko se bavi analizom podataka. Ako niste bili u mogućnosti da se pridružite nekom od ovih timova, vaša jedina opcija je ili da pokrenete vlastiti projekat (gdje ćete najvjerovatnije sami postaviti svoje rokove, a to nema mnogo veze sa zadacima borbene produkcije), ili da počnete da se takmičite na Kaggle.

Zaista, udružite se s drugim članovima zajednice i okušajte se u takmičenjima relativno lako - posebno ako svoje vještine potkrijepite obukom i spomenutim kursevima na Courseri. Svaki konkurs ima rok - to će vam poslužiti kao podsticaj i pripremiti vas za sličan sistem u IT kompanijama. Ovo je dobar način - koji je, međutim, i malo odvojen od stvarnih procesa. Na Kaggle-u vam se daju prethodno obrađeni, iako ne uvijek savršeni podaci; ne nudite razmišljanje o doprinosu proizvodu; i što je najvažnije, ne zahtijevaju rješenja pogodna za proizvodnju. Vaši algoritmi će vjerovatno raditi i biti vrlo precizni, ali vaši modeli i kod će biti poput Frankensteina spojenog iz različitih dijelova - u proizvodnom projektu, cijela struktura će raditi presporo, biće teško ažurirati i proširiti (na primjer, jezik i glasovni algoritmi će se uvijek djelomično prepisivati ​​kako se jezik razvija). Kompanije su zainteresovane da navedene poslove možete da uradite ne samo vi sami (jasno je da to možete i vi kao autor rešenja), već i bilo ko od vaših kolega. Razmatra se razlika između sportskog i industrijskog programiranja много, a Kaggle obrazuje upravo "sportiste" - čak i ako to radi vrlo dobro, omogućavajući im da steknu određeno iskustvo.

Opisao sam dva moguća pravca razvoja – obuku kroz obrazovne programe i obuku “u borbi”, na primjer na Kaggleu. Rezidencijalni program je kombinacija ove dvije metode. Očekuju vas predavanja i seminari na nivou ShAD-a, kao i istinski borbeni projekti.

izvor: www.habr.com

Dodajte komentar