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.
Ș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 -
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.
Î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
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