„Yandex“ rezidentų programa arba kaip patyręs „backender“ gali tapti ML inžinieriumi

„Yandex“ rezidentų programa arba kaip patyręs „backender“ gali tapti ML inžinieriumi

„Yandex“ atidaro mašininio mokymosi rezidentūros programą, skirtą patyrusiems vidinės sistemos kūrėjams. Jei daug rašėte C++/Python kalba ir norite šias žinias pritaikyti ML, tuomet išmokysime atlikti praktinius tyrimus ir suteiksime patyrusius mentorius. Dirbsite su pagrindinėmis „Yandex“ paslaugomis ir įgysite įgūdžių tokiose srityse kaip linijiniai modeliai ir gradiento didinimas, rekomendacijų sistemos, neuroniniai tinklai, skirti vaizdų, teksto ir garso analizei. Taip pat sužinosite, kaip tinkamai įvertinti savo modelius naudojant metriką neprisijungus ir prisijungus.

Programos trukmė – vieneri metai, per kuriuos dalyviai dirbs „Yandex“ mašinų žvalgybos ir tyrimų skyriuje, taip pat lankys paskaitas ir seminarus. Dalyvavimas yra mokamas ir apima visą darbo dieną: 40 valandų per savaitę, nuo šių metų liepos 1 d. Paraiškos dabar atidarytos ir truks iki gegužės 1 d. 

O dabar plačiau – apie tai, kokios publikos laukiame, koks bus darbo procesas ir apskritai, kaip back-end specialistas gali pereiti į karjerą ML.

Kryptingumas

Daugelis įmonių turi rezidencijos programas, įskaitant, pavyzdžiui, „Google“ ir „Facebook“. Jie daugiausia skirti jaunesniojo ir vidutinio lygio specialistams, kurie bando žengti žingsnį ML tyrimų link. Mūsų programa skirta kitai auditorijai. Kviečiame backend kūrėjus, kurie jau yra sukaupę pakankamai patirties ir tikrai žino, kad savo kompetencijose turi pereiti prie ML, įgyti praktinių – o ne mokslininko – įgūdžių sprendžiant pramoninio mašininio mokymosi problemas. Tai nereiškia, kad mes nepalaikome jaunųjų mokslininkų. Jiems surengėme atskirą programą – premija pavadintas Iljos Segalovičiaus vardu, kuris taip pat leidžia dirbti „Yandex“.

Kur rezidentas dirbs?

Mašininio intelekto ir tyrimų skyriuje patys kuriame projektų idėjas. Pagrindinis įkvėpimo šaltinis – mokslinė literatūra, straipsniai, mokslo bendruomenės tendencijos. Su kolegomis analizuojame tai, ką skaitome, ieškodami, kaip galėtume patobulinti ar išplėsti mokslininkų siūlomus metodus. Tuo pačiu metu kiekvienas iš mūsų atsižvelgia į savo žinių ir interesų sritį, formuluoja užduotį pagal jo nuomone svarbias sritis. Projekto idėja dažniausiai gimsta išorinių tyrimų rezultatų ir savo kompetencijų sankirtoje.

Ši sistema yra gera, nes ji iš esmės išsprendžia „Yandex“ paslaugų technologines problemas dar prieš joms atsirandant. Servisai susidūrus su problema, pas mus atvyksta jos atstovai, kurie greičiausiai pasiima mūsų jau paruoštas technologijas, kurias belieka teisingai pritaikyti gaminyje. Jei kas nepasiruošė, bent jau greitai prisiminsime, kur galima „pradėti kasti“ ir kokiuose straipsniuose ieškoti sprendimo. Kaip žinome, mokslinis požiūris yra atsistoti ant milžinų pečių.

Ką daryti

„Yandex“ – ir net konkrečiai mūsų vadovybėje – vystomos visos svarbios ML sritys. Mūsų tikslas – gerinti įvairiausių gaminių kokybę, o tai – paskata išbandyti viską, kas nauja. Be to, nuolat atsiranda naujų paslaugų. Taigi paskaitų programoje yra visos pagrindinės (gerai patikrintos) mašininio mokymosi pramonės plėtros sritys. Rengiant savo kurso dalį panaudojau savo dėstymo patirtį Duomenų analizės mokykloje bei kitų SHAD dėstytojų medžiagą ir darbus. Žinau, kad mano kolegos padarė tą patį.

Pirmaisiais mėnesiais mokymas pagal kursų programą sudarys apie 30% Jūsų darbo laiko, vėliau apie 10%. Tačiau svarbu suprasti, kad darbas su pačiais ML modeliais ir toliau užtruks maždaug keturis kartus mažiau nei visi susiję procesai. Tai apima užpakalinės programos paruošimą, duomenų gavimą, konvejerio rašymą išankstiniam jo apdorojimui, kodo optimizavimą, pritaikymą prie konkrečios aparatinės įrangos ir t. t. ML inžinierius yra, jei norite, pilno krūvos kūrėjas (tik daugiau dėmesio skiriant mašininiam mokymuisi) , galintis išspręsti problemą nuo pradžios iki pabaigos. Net ir su paruoštu modeliu tikriausiai reikės atlikti dar keletą veiksmų: lygiagrečiai atlikti jo vykdymą keliose mašinose, paruošti įgyvendinimą rankenos, bibliotekos ar pačios paslaugos komponentų pavidalu.

Mokinio pasirinkimas
Jei susidarėte įspūdį, kad geriau tapti ML inžinieriumi pirmiausia dirbant užpakalinės programos kūrėju, tai netiesa. Užsiregistruoti tame pačiame ShaD neturint realios patirties kuriant paslaugas, mokytis ir tapti itin paklausiam rinkoje yra puikus pasirinkimas. Daugelis „Yandex“ specialistų taip atsidūrė dabartinėse pareigose. Jei kuri nors įmonė yra pasirengusi pasiūlyti jums darbą ML srityje iškart po studijų baigimo, tikriausiai turėtumėte priimti pasiūlymą ir jūs. Pasistenkite patekti į gerą komandą su patyrusiu mentoriumi ir pasiruoškite daug išmokti.

Kas dažniausiai trukdo daryti ML?

Jei backender siekia tapti ML inžinieriumi, jis gali rinktis iš dviejų tobulinimosi sričių – neatsižvelgdamas į rezidentūros programą.

Pirma, mokykitės kaip tam tikro mokymo kurso dalis. Pamokos „Coursera“ priartins jus prie pagrindinių technikų supratimo, tačiau norint pakankamai pasinerti į profesiją, turite jai skirti daug daugiau laiko. Pavyzdžiui, baigti ShaD. Bėgant metams „ShAD“ turėjo skirtingą kursų, skirtų mašininiam mokymuisi, skaičių – vidutiniškai apie aštuonis. Kiekvienas iš jų yra tikrai svarbus ir naudingas, taip pat ir absolventų nuomone. 

Antra, galite dalyvauti koviniuose projektuose, kur reikia įdiegti vieną ar kitą ML algoritmą. Tačiau IT plėtros rinkoje tokių projektų yra labai mažai: mašininis mokymasis nenaudojamas atliekant daugumą užduočių. Net ir bankuose, kurie aktyviai tiria su ML susijusias galimybes, duomenų analize užsiima tik nedaugelis. Jei negalėjote prisijungti prie vienos iš šių komandų, vienintelė išeitis yra pradėti savo projektą (kuriame greičiausiai patys nustatysite terminus, o tai mažai ką bendro turi su kovinėmis gamybos užduotimis) arba pradėti varžytis Kaggle.

Iš tiesų, susiburkite su kitais bendruomenės nariais ir išbandykite save varžybose palyginti lengva - ypač jei savo įgūdžius papildote mokymais ir minėtais Coursera kursais. Kiekvienas konkursas turi savo terminą – jis jus paskatins ir paruoš panašiai sistemai IT įmonėse. Tai yra geras būdas, tačiau jis taip pat šiek tiek skiriasi nuo realių procesų. Kaggle jums pateikiami iš anksto apdoroti, nors ir ne visada tobuli, duomenys; nesiūlykite galvoti apie indėlį į produktą; o svarbiausia – jiems nereikia gamybai tinkamų sprendimų. Jūsų algoritmai tikriausiai veiks ir bus labai tikslūs, tačiau jūsų modeliai ir kodas bus kaip Frankenšteinas, susiūtas iš skirtingų dalių – gamybiniame projekte visa struktūra veiks per lėtai, ją bus sunku atnaujinti ir išplėsti (pvz., kalbos ir balso algoritmai visada bus iš dalies perrašomi, kai kalba vystosi). Įmonės yra suinteresuotos, kad išvardintus darbus galėtumėte atlikti ne tik Jūs patys (aišku, kad Jūs, kaip sprendimo autorius), bet ir bet kuris Jūsų kolega. Aptariamas sporto ir pramoninio programavimo skirtumas много, o Kaggle ugdo būtent „sportininkus“ – net jei tai daro labai gerai, leisdamas įgyti patirties.

Aš aprašiau dvi galimas vystymosi linijas - mokymąsi per edukacines programas ir mokymą „kovojant“, pavyzdžiui, „Kaggle“. Rezidencijos programa yra šių dviejų metodų derinys. Jūsų laukia paskaitos ir seminarai ShaD lygiu bei tikrai kovingi projektai.

Šaltinis: www.habr.com

Добавить комментарий