Programul rezident Yandex sau modul în care un backender cu experiență poate deveni inginer ML

Programul rezident Yandex sau modul în care un backender cu experiență poate deveni inginer ML

Yandex deschide un program de rezidență în învățarea automată pentru dezvoltatorii backend cu experiență. Dacă ați scris multe în C++/Python și doriți să aplicați aceste cunoștințe în ML, atunci vă vom învăța cum să faceți cercetări practice și să vă oferim mentori cu experiență. Veți lucra la serviciile Yandex cheie și veți dobândi abilități în domenii precum modele liniare și creșterea gradientului, sisteme de recomandare, rețele neuronale pentru analiza imaginilor, textului și sunetului. De asemenea, veți învăța cum să vă evaluați corect modelele folosind valori offline și online.

Durata programului este de un an, timp în care participanții vor lucra în departamentul de cercetare și inteligență a mașinilor din Yandex, precum și vor participa la prelegeri și seminarii. Participarea este plătită și implică muncă cu normă întreagă: 40 de ore pe săptămână, începând cu 1 iulie a acestui an. Aplicațiile sunt acum deschise și va dura până la 1 mai. 

Și acum mai detaliat - despre ce fel de public așteptăm, care va fi procesul de lucru și, în general, cum poate un specialist back-end să treacă la o carieră în ML.

directionalitate

Multe companii au programe de rezidență, inclusiv, de exemplu, Google și Facebook. Acestea se adresează în principal specialiștilor de nivel junior și mediu care încearcă să facă un pas spre cercetarea ML. Programul nostru este pentru un alt public. Invităm dezvoltatorii backend care au dobândit deja suficientă experiență și știu sigur că în competențele lor trebuie să treacă spre ML, pentru a dobândi abilități practice - și nu aptitudinile unui om de știință - în rezolvarea problemelor de învățare automată industrială. Asta nu înseamnă că nu sprijinim tinerii cercetători. Am organizat un program separat pentru ei - premium numit după Ilya Segalovici, care vă permite și să lucrați în Yandex.

Unde va lucra rezidentul?

În cadrul Departamentului de Inteligență și Cercetare a Mașinilor, noi înșine dezvoltăm idei de proiecte. Principala sursă de inspirație este literatura științifică, articolele și tendințele din comunitatea de cercetare. Eu și colegii mei analizăm ceea ce citim, analizând cum putem îmbunătăți sau extinde metodele propuse de oamenii de știință. În același timp, fiecare dintre noi ține cont de domeniul său de cunoștințe și interese, formulează sarcina pe baza domeniilor pe care le consideră importante. Ideea unui proiect se naște de obicei la intersecția rezultatelor cercetării externe și a propriilor competențe.

Acest sistem este bun, deoarece rezolvă în mare măsură problemele tehnologice ale serviciilor Yandex chiar înainte de a apărea. Când un service se confruntă cu o problemă, la noi vin reprezentanții acestuia, cel mai probabil să ia tehnologiile pe care le-am pregătit deja, care nu mai rămâne decât să fie aplicate corect în produs. Dacă ceva nu este gata, ne vom aminti cel puțin rapid unde putem „începe să sapă” și în ce articole să căutăm o soluție. După cum știm, abordarea științifică este de a sta pe umerii giganților.

Ce să fac

La Yandex - și chiar în mod specific în managementul nostru - toate domeniile relevante ale ML sunt în curs de dezvoltare. Scopul nostru este de a îmbunătăți calitatea unei game largi de produse, iar acest lucru servește ca un stimulent pentru a testa tot ce este nou. În plus, noi servicii apar în mod regulat. Deci, programul de curs conține toate domeniile cheie (bine dovedite) ale învățării automate în dezvoltarea industrială. La compilarea părții mele din curs, mi-am folosit experiența de predare la Școala de Analiză a Datelor, precum și materialele și munca altor profesori SHAD. Știu că și colegii mei au făcut la fel.

În primele luni, pregătirea conform programului de curs va reprezenta aproximativ 30% din timpul tău de lucru, apoi aproximativ 10%. Cu toate acestea, este important să înțelegem că lucrul cu modelele ML în sine va dura în continuare aproximativ de patru ori mai puțin decât toate procesele asociate. Acestea includ pregătirea backend-ului, primirea datelor, scrierea unui pipeline pentru preprocesarea acestuia, optimizarea codului, adaptarea la hardware specific etc. Un inginer ML este, dacă doriți, un dezvoltator full-stack (doar cu un accent mai mare pe învățarea automată) , capabil să rezolve o problemă de la început până la sfârșit. Chiar și cu un model gata făcut, probabil că va trebui să faceți mai multe acțiuni: paralelizați execuția acestuia pe mai multe mașini, pregătiți o implementare sub forma unui mâner, a unei biblioteci sau a componentelor serviciului în sine.

Alegerea elevului
Dacă ai avut impresia că este mai bine să devii inginer ML lucrând mai întâi ca dezvoltator backend, acest lucru nu este adevărat. Înscrierea în același ShAD fără experiență reală în dezvoltarea serviciilor, învățarea și devenirea extrem de solicitată pe piață este o opțiune excelentă. Mulți specialiști Yandex au ajuns în pozițiile lor actuale în acest fel. Dacă vreo companie este pregătită să vă ofere un loc de muncă în domeniul ML imediat după absolvire, probabil că ar trebui să acceptați și oferta. Încercați să intrați într-o echipă bună cu un mentor experimentat și pregătiți-vă să învățați multe.

Ce te împiedică de obicei să faci ML?

Dacă un backender aspiră să devină inginer ML, el poate alege dintre două domenii de dezvoltare - fără a ține cont de programul de rezidențiat.

În primul rând, studiați ca parte a unui curs educațional. Lecțiile Coursera vă va aduce mai aproape de înțelegerea tehnicilor de bază, dar pentru a vă scufunda în profesie într-o măsură suficientă, trebuie să îi dedicați mult mai mult timp. De exemplu, absolvent de ShaAD. De-a lungul anilor, ShAD a avut un număr diferit de cursuri direct despre învățarea automată - în medie, aproximativ opt. Fiecare dintre ele este cu adevărat important și util, inclusiv în opinia absolvenților. 

În al doilea rând, puteți lua parte la proiecte de luptă în care trebuie să implementați unul sau altul algoritm ML. Cu toate acestea, există foarte puține astfel de proiecte pe piața de dezvoltare IT: învățarea automată nu este utilizată în majoritatea sarcinilor. Chiar și în băncile care explorează în mod activ oportunitățile legate de ML, doar câteva sunt implicate în analiza datelor. Dacă nu ați putut să vă alăturați uneia dintre aceste echipe, singura dvs. opțiune este fie să vă începeți propriul proiect (unde, cel mai probabil, vă veți stabili propriile termene limită, iar acest lucru nu are prea mult de-a face cu sarcinile de producție de luptă), fie să începeți să concurați Kaggle.

Într-adevăr, faceți echipă cu alți membri ai comunității și încercați-vă în competiții relativ usor - mai ales dacă vă susțineți abilitățile cu formare și cursurile menționate pe Coursera. Fiecare competiție are un termen limită - va servi drept stimulent pentru tine și te va pregăti pentru un sistem similar în companiile IT. Aceasta este o modalitate bună - care, totuși, este, de asemenea, puțin divorțată de procesele reale. Pe Kaggle vi se oferă date preprocesate, deși nu întotdeauna perfecte; nu vă oferiți să vă gândiți la contribuția la produs; și cel mai important, nu necesită soluții potrivite pentru producție. Algoritmii dvs. vor funcționa probabil și vor fi extrem de precisi, dar modelele și codul dvs. vor fi ca Frankenstein împletite din diferite părți - într-un proiect de producție, întreaga structură va funcționa prea încet, va fi dificil de actualizat și extins (de exemplu, algoritmii de limbaj și voce vor fi întotdeauna rescriși parțial pe măsură ce limbajul se dezvoltă). Companiile sunt interesate de faptul că munca enumerată poate fi realizată nu numai de dvs. (este clar că dumneavoastră, în calitate de autor al soluției, puteți face acest lucru), ci și de oricare dintre colegii dvs. Se discută diferența dintre programarea sportivă și cea industrială multe, iar Kaggle educă tocmai „atletii” - chiar dacă o face foarte bine, permițându-le să câștige ceva experiență.

Am descris două linii posibile de dezvoltare - antrenament prin programe educaționale și antrenament „în luptă”, de exemplu pe Kaggle. Programul de rezidențiat este o combinație a acestor două metode. Vă așteaptă prelegeri și seminarii la nivel de ShAD, precum și proiecte cu adevărat combative.

Sursa: www.habr.com

Adauga un comentariu