Yandexov rezidenčni program ali kako lahko izkušen backender postane inženir ML

Yandexov rezidenčni program ali kako lahko izkušen backender postane inženir ML

Yandex odpira rezidenčni program strojnega učenja za izkušene razvijalce zalednih sistemov. Če imate bogate izkušnje s C++/Pythonom in želite to znanje uporabiti pri strojnem učenju, vas bomo naučili izvajati praktične raziskave in vas dodelili izkušenim mentorjem. Delali boste na ključnih storitvah Yandexa in pridobili veščine na področjih, kot so linearni modeli in gradientno povečanje, sistemi priporočil in nevronske mreže za analizo slik, besedil in zvoka. Naučili se boste tudi, kako pravilno oceniti svoje modele z uporabo metrik tako v živo kot v spletu.

Program traja eno leto, v katerem bodo udeleženci delali v oddelku za strojno inteligenco in raziskave pri Yandexu ter se udeleževali predavanj in seminarjev. Udeležba je plačana in s polnim delovnim časom: 40 ur na teden, od 1. julija letos. Prijave so zdaj odprte. in bo trajal do 1. maja. 

Zdaj pa si podrobneje oglejmo ciljno publiko, potek dela in kako lahko specialist za zaledne sisteme preide na kariero v strojnem učenju.

Smer

Številna podjetja, vključno z Googlom in Facebookom, imajo programe rezidenčnega študija. Namenjeni so predvsem strokovnjakom nižje in srednje ravni, ki se želijo podati na področje raziskav strojnega učenja. Naš program je namenjen drugačnemu občinstvu. Vabimo razvijalce zalednih sistemov, ki so si že pridobili dovolj izkušenj in jasno razumejo, da morajo svoje kompetence preusmeriti v strojno učenje ter pridobiti praktične veščine – ne akademske – pri reševanju industrijskih problemov strojnega učenja. To ne pomeni, da ne podpiramo mladih raziskovalcev. Zanje smo ustvarili ločen program – nagrada poimenovan po Ilyi Segaloviču, ki vam omogoča tudi delo pri Yandexu.

Kje bo stanovalec delal

Na Oddelku za strojno inteligenco in raziskave sami razvijamo ideje za projekte. Naši glavni viri navdiha so znanstvena literatura, članki in trendi v raziskovalni skupnosti. S kolegi analiziramo prebrano in iščemo načine za izboljšanje ali razširitev metod, ki jih predlagajo znanstveniki. Vsak od nas upošteva svoje področje strokovnega znanja in interesov ter oblikuje nalogo na podlagi področij, ki se nam zdijo pomembna. Ideja za projekt se običajno rodi na presečišču zunanjih raziskovalnih rezultatov in naših lastnih kompetenc.

Lepota tega sistema je v tem, da v veliki meri rešuje tehnološke izzive storitev Yandex, še preden se pojavijo. Ko se storitev sooči s težavo, se njeni predstavniki obrnejo na nas, verjetno z uporabo naših obstoječih tehnologij, ki jih je treba le pravilno implementirati v izdelek. Če nekaj ni pripravljeno, se vsaj hitro spomnimo, kje začeti kopati in v katerih člankih iskati rešitev. Kot pravi pregovor, je znanstveni pristop kot stati na ramenih velikanov.

Kaj je treba storiti

Pri Yandexu – in celo posebej znotraj našega oddelka – razvijamo vse najnovejše trende strojnega učenja. Naš cilj je izboljšati kakovost najrazličnejših izdelkov, kar nas motivira, da preizkušamo vse novo. Poleg tega redno izdajamo nove storitve. Tako program predavanj zajema vsa ključna (uveljavljena) področja strojnega učenja v industrijskem razvoju. Pri sestavljanju svojega dela tečaja sem se opiral na svoje učiteljske izkušnje na Šoli za analizo podatkov, pa tudi na gradiva in razvoj drugih profesorjev na Šoli za analizo podatkov. Vem, da so moji kolegi storili enako.

V prvih nekaj mesecih vam bo tečaj vzel približno 30 % časa, nato pa približno 10 %. Vendar je pomembno razumeti, da bo delo s samimi modeli strojnega učenja (ML) še naprej vzelo približno četrtino časa v primerjavi z vsemi povezanimi procesi. Sem spadajo priprava zalednega dela, zajem podatkov, pisanje cevovoda za predobdelavo, optimizacija kode, prilagajanje specifični strojni opremi in tako naprej. Inženir strojnega učenja je, če hočete, razvijalec celotnega sklada (vendar z močnim poudarkom na strojnem učenju), ki je sposoben rešiti problem od začetka do konca. Tudi z že pripravljenim modelom bo verjetno potrebnih več dodatnih korakov: vzporedno izvajanje na več strojih, priprava implementacije kot peresa, knjižnice ali komponente same storitve.

Študentska izbira
Če imate vtis, da je najbolje postati inženir strojnega učenja po tem, ko ste najprej delali kot razvijalec zalednih sistemov, se motite. Vpis v podobno šolo za napredni razvoj (SAD) brez kakršnih koli dejanskih izkušenj z razvojem storitev, učenja in visokega iskanja na trgu je odlična možnost. Mnogi strokovnjaki pri Yandexu so na ta način dosegli svoje trenutne položaje. Če vam je podjetje pripravljeno ponuditi službo v strojnem učenju takoj po fakulteti, bi verjetno morali ponudbo sprejeti. Poskusite se pridružiti dobri ekipi z izkušenim mentorjem in bodite pripravljeni veliko se naučiti.

Kaj običajno preprečuje ljudem, da bi se ukvarjali z ML?

Če si razvijalec zalednih sistemov prizadeva postati inženir strojnega učenja, lahko izbira med dvema razvojnima potema, ne glede na program rezidenčnega študija.

Najprej študij v okviru nekega izobraževalnega tečaja. Lekcije Coursera vas bo približala razumevanju osnovnih tehnik, vendar se morate za popolno potopitev v področje posvetiti veliko več časa. Na primer, z opravljanjem tečaja na Šoli za napredno strojno učenje (SAD). Skozi leta je SAD ponudila različno število tečajev, posebej osredotočenih na strojno učenje – v povprečju približno osem. Vsak od njih je resnično pomemben in uporaben, tudi po mnenju diplomantov. 

Drugič, lahko sodelujete v produkcijskih projektih, ki zahtevajo implementacijo določenega algoritma strojnega učenja. Vendar so takšni projekti na trgu razvoja IT zelo redki: večina nalog ne vključuje strojnega učenja. Tudi v bankah, ki aktivno raziskujejo priložnosti, povezane z strojnim učenjem, se le redke ukvarjajo z analizo podatkov. Če se ne morete pridružiti eni od teh ekip, so vaše edine možnosti bodisi začetek lastnega projekta (kjer boste verjetno sami določali roke, kar ima malo skupnega s produkcijskimi nalogami) bodisi tekmovanje na Kaggleu.

Dejansko združite moči z drugimi člani skupnosti in se preizkusite na tekmovanjih relativno enostavno – še posebej, če svoje znanje okrepite z usposabljanjem in prej omenjenimi tečaji Coursera. Vsako tekmovanje ima rok – služilo vam bo kot spodbuda in vas pripravilo na podoben sistem v IT podjetjih. To je dobra pot, čeprav je tudi nekoliko odmaknjena od resničnih procesov. Na Kaggleu dobite predhodno obdelane, čeprav ne vedno idealne podatke; ne zahtevajo vas, da razmišljate o prispevku k izdelku; in kar je najpomembneje, ne zahtevajo rešitev, primernih za produkcijo. Vaši algoritmi bodo verjetno delovali in bodo zelo natančni, vendar bodo vaši modeli in koda spominjali na Frankensteinovo sestavljanko, sešito iz različnih delov – v produkcijskem projektu bo celotna konstrukcija prepočasna in jo bo težko posodabljati in širiti (na primer, jezikovni in glasovni algoritmi se vedno delno prepišejo, ko se jezik razvija). Podjetja so zainteresirana, da to delo opravite ne le vi (jasno je, da ste kot avtor rešitve tega sposobni), ampak tudi kateri koli od vaših kolegov. Razlika med tekmovalnim in industrijskim programiranjem je bila že obravnavana. много, in Kaggle je prav tisto, kar trenira "športnike" – in to počne zelo dobro, kar jim omogoča, da pridobijo nekaj izkušenj.

Opisal sem dve možni razvojni poti: učenje prek izobraževalnih programov in učenje »na terenu«, na primer na platformi Kaggle. Program rezidenčnega bivanja je kombinacija teh dveh pristopov. Izkusili boste predavanja in seminarje na ravni Šole za napredne študije, pa tudi resnično zahtevne projekte.

Vir: www.habr.com

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster