Yandex Resident Program, o Paano Maaaring Maging isang ML Engineer ang Sanay na Backender

Yandex Resident Program, o Paano Maaaring Maging isang ML Engineer ang Sanay na Backender

Ang Yandex ay nagbubukas ng isang residency program sa machine learning para sa mga may karanasang backend developer. Kung mayroon kang malawak na karanasan sa C++/Python at gusto mong ilapat ang kaalamang ito sa ML, ituturo namin sa iyo kung paano magsagawa ng praktikal na pananaliksik at itatalaga ka sa mga bihasang tagapagturo. Gagawin mo ang mga pangunahing serbisyo ng Yandex at magkakaroon ng mga kasanayan sa mga lugar tulad ng mga linear na modelo at gradient boosting, mga recommender system, at neural network para sa pagsusuri ng larawan, teksto, at audio. Matututuhan mo rin kung paano suriin nang maayos ang iyong mga modelo gamit ang mga sukatan sa offline at online.

Ang programa ay tumatagal ng isang taon, kung saan ang mga kalahok ay magtatrabaho sa Yandex's Machine Intelligence and Research department at dadalo sa mga lecture at seminar. Ang paglahok ay binabayaran at full-time: 40 oras bawat linggo, simula Hulyo 1 ng taong ito. Bukas na ang mga aplikasyon. at tatagal hanggang Mayo 1. 

Ngayon, tingnan natin ang higit pang detalye—kung anong uri ng audience ang tina-target natin, kung ano ang magiging workflow, at, sa pangkalahatan, kung paano maaaring lumipat ang isang backend specialist sa isang karera sa ML.

Directivity

Maraming mga kumpanya, kabilang ang Google at Facebook, ay may mga programa sa paninirahan. Pangunahing nilalayon ang mga ito sa mga junior at mid-level na espesyalista na naghahanap upang lumipat sa pananaliksik sa ML. Ang aming programa ay para sa ibang madla. Inaanyayahan namin ang mga backend developer na nakakuha na ng sapat na karanasan at malinaw na nauunawaan na kailangan nilang ilipat ang kanilang mga kakayahan patungo sa ML, na magkaroon ng mga praktikal na kasanayan—hindi pang-akademiko—sa paglutas ng mga problema sa industriyal na machine learning. Hindi ito nangangahulugan na hindi namin sinusuportahan ang mga batang mananaliksik. Gumawa kami ng hiwalay na programa para sa kanila— premyo pinangalanang Ilya Segalovich, na nagpapahintulot din sa iyo na magtrabaho sa Yandex.

Kung saan magtatrabaho ang residente

Sa Machine Intelligence and Research Department, kami mismo ang bumuo ng mga ideya sa proyekto. Ang aming pangunahing pinagmumulan ng inspirasyon ay siyentipikong panitikan, artikulo, at uso sa komunidad ng pananaliksik. Sinusuri namin ng aking mga kasamahan ang aming nabasa, naghahanap ng mga paraan upang mapabuti o mapalawak ang mga pamamaraan na iminungkahi ng mga siyentipiko. Isinasaalang-alang ng bawat isa sa atin ang ating sariling lugar ng kadalubhasaan at interes, na bumubuo ng gawain batay sa mga lugar na itinuturing nating mahalaga. Ang isang ideya sa proyekto ay karaniwang isinilang sa intersection ng mga resulta ng panlabas na pananaliksik at ang aming sariling mga kakayahan.

Ang kagandahan ng sistemang ito ay higit na nalulutas nito ang mga teknolohikal na hamon ng mga serbisyo ng Yandex bago sila lumitaw. Kapag ang isang serbisyo ay nahaharap sa isang problema, ang mga kinatawan nito ay lalapit sa amin, malamang na gamitin ang aming mga umiiral na teknolohiya, na kailangan lamang na maayos na ipatupad sa produkto. Kung ang isang bagay ay hindi handa, hindi bababa sa mabilis na natatandaan namin kung saan magsisimulang maghukay at kung aling mga artikulo ang hahanapin ng solusyon. Sabi nga sa kasabihan, ang scientific approach ay parang nakatayo sa balikat ng mga higante.

Ano ang kailangang gawin

Sa Yandex—at kahit na partikular sa loob ng aming departamento—ang lahat ng pinakabagong trend sa ML ay binuo. Ang aming layunin ay pahusayin ang kalidad ng iba't ibang uri ng mga produkto, at ito ay nag-uudyok sa amin na subukan ang lahat ng bago. Higit pa rito, ang mga bagong serbisyo ay regular na inilalabas. Kaya, ang lecture program ay sumasaklaw sa lahat ng susi (well-established) na mga lugar ng machine learning sa industriyal na pag-unlad. Noong binubuo ko ang aking bahagi ng kurso, iginuhit ko ang aking karanasan sa pagtuturo sa School of Data Analysis, pati na rin ang mga materyales at mga development mula sa iba pang faculty sa School of Data Analysis. Alam kong ganoon din ang ginawa ng mga kasamahan ko.

Sa unang ilang buwan, ang kurso ay kukuha ng humigit-kumulang 30% ng iyong oras, at pagkatapos ay humigit-kumulang 10%. Gayunpaman, mahalagang maunawaan na ang pagtatrabaho sa mismong mga modelo ng ML ay patuloy na magtatagal ng humigit-kumulang isang-kapat ng oras kumpara sa lahat ng nauugnay na proseso. Kabilang dito ang paghahanda ng backend, pagkuha ng data, pagsusulat ng pipeline para sa preprocessing, pag-optimize ng code, pagbagay sa partikular na hardware, at iba pa. Ang isang ML engineer ay, kung gugustuhin mo, isang full-stack na developer (ngunit may matinding pagtuon sa machine learning), na may kakayahang lutasin ang isang problema mula simula hanggang matapos. Kahit na may yari nang modelo, malamang na kailanganin ang ilang karagdagang mga hakbang: paghahalintulad ng pagpapatupad nito sa maraming makina, paghahanda ng pagpapatupad bilang panulat, aklatan, o bahagi ng mismong serbisyo.

Pagpili ng Mag-aaral
Kung ikaw ay nasa ilalim ng impresyon na pinakamahusay na maging isang ML engineer pagkatapos ng unang trabaho bilang isang backend developer, nagkakamali ka. Ang pag-enroll sa isang katulad na paaralan ng advanced na pag-unlad (SAD) nang walang anumang tunay na karanasan sa pagpapaunlad ng serbisyo, pag-aaral, at pagiging lubos na hinahangad sa merkado ay isang mahusay na opsyon. Maraming mga espesyalista sa Yandex ang nakarating sa kanilang mga kasalukuyang posisyon sa ganitong paraan. Kung ang isang kumpanya ay handang mag-alok sa iyo ng trabaho sa ML pagkatapos ng kolehiyo, malamang na tanggapin mo ang alok. Subukang sumali sa isang mahusay na koponan na may karanasang tagapagturo at maging handa na matuto ng maraming.

Ano ang kadalasang pumipigil sa mga tao sa paggawa ng ML?

Kung ang isang back-end na developer ay naghahangad na maging isang ML engineer, maaari silang pumili mula sa dalawang landas ng pag-unlad, anuman ang programa ng paninirahan.

Una, mag-aral sa loob ng balangkas ng ilang kursong pang-edukasyon. Ang mga aralin Ilalapit ka ng Coursera sa pag-unawa sa mga pangunahing pamamaraan, ngunit upang ganap na isawsaw ang iyong sarili sa larangan, kailangan mong maglaan ng mas maraming oras dito. Halimbawa, sa pamamagitan ng pagkumpleto ng kurso sa School of Advanced Machine Learning (SAD). Sa paglipas ng mga taon, nag-alok ang SAD ng iba't ibang bilang ng mga kurso partikular sa machine learning—sa karaniwan, mga walo. Ang bawat isa sa kanila ay tunay na mahalaga at kapaki-pakinabang, kabilang ang ayon sa mga nagtapos. 

Pangalawa, maaari kang lumahok sa mga proyekto ng produksyon na nangangailangan ng pagpapatupad ng isang partikular na ML algorithm. Gayunpaman, ang mga naturang proyekto ay napakabihirang sa IT development market: karamihan sa mga gawain ay hindi kasama ang machine learning. Kahit sa mga bangko na aktibong nag-e-explore ng mga pagkakataong nauugnay sa ML, iilan lang ang nakikibahagi sa pagsusuri ng data. Kung hindi ka makasali sa isa sa mga team na ito, ang mga pagpipilian mo lang ay ang pagsisimula ng sarili mong proyekto (kung saan malamang na magtatakda ka ng sarili mong mga deadline, na walang gaanong kinalaman sa mga gawain sa produksyon) o makipagkumpitensya sa Kaggle.

Sa katunayan, makipagsanib-puwersa sa iba pang miyembro ng komunidad at subukan ang iyong kamay sa mga kumpetisyon medyo madali — lalo na kung pinapalakas mo ang iyong mga kasanayan sa pagsasanay at sa mga nabanggit na kurso sa Coursera. Ang bawat kumpetisyon ay may deadline—ito ay magsisilbing insentibo at ihahanda ka para sa isang katulad na sistema sa mga kumpanya ng IT. Ito ay isang magandang landas, bagaman ito ay medyo hiwalay din sa mga tunay na proseso. Sa Kaggle, bibigyan ka ng preprocessed, kahit na hindi palaging perpekto, data; hindi nila hinihiling sa iyo na mag-isip tungkol sa pagbibigay ng kontribusyon sa produkto; at higit sa lahat, hindi sila nangangailangan ng mga solusyon na angkop para sa produksyon. Malamang na gagana at magiging tumpak ang iyong mga algorithm, ngunit ang iyong mga modelo at code ay magiging katulad ng puzzle ng Frankenstein na pinagsama-sama mula sa iba't ibang bahagi—sa isang proyekto sa produksyon, ang buong konstruksyon ay magiging masyadong mabagal at mahirap i-update at palawakin (halimbawa, ang mga algorithm ng wika at boses ay palaging bahagyang muling isinusulat habang nagbabago ang wika). Interesado ang mga kumpanya na gawin ang gawaing ito hindi lamang sa iyo (malinaw na ikaw, bilang may-akda ng solusyon, ay may kakayahang gawin ito), kundi pati na rin ng sinuman sa iyong mga kasamahan. Ang pagkakaiba sa pagitan ng mapagkumpitensya at pang-industriya na programming ay napag-usapan na. много, at si Kaggle ang mismong nagsasanay sa "mga atleta"—at ginagawa ito nang napakahusay, na nagpapahintulot sa kanila na makakuha ng ilang karanasan.

Inilarawan ko ang dalawang posibleng landas sa pag-unlad: pag-aaral sa pamamagitan ng mga programang pang-edukasyon at pag-aaral "sa larangan," gaya ng sa Kaggle. Ang programa ng paninirahan ay kumbinasyon ng dalawang pamamaraang ito. Makakaranas ka ng mga lecture at seminar sa antas ng School of Advanced Studies, pati na rin ang mga tunay na mapaghamong proyekto.

Pinagmulan: www.habr.com

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster