Yandex Resident Program, avagy Hogyan válhat egy tapasztalt háttérprogramból ML mérnök

Yandex Resident Program, avagy Hogyan válhat egy tapasztalt háttérprogramból ML mérnök

A Yandex egy rezidensprogramot nyit a gépi tanulás terén tapasztalt háttérfejlesztők számára. Ha sokat írtál C++/Python nyelven, és szeretnéd ezt a tudást az ML-ben alkalmazni, akkor megtanítunk gyakorlati kutatásra és tapasztalt mentorokat biztosítunk. A kulcsfontosságú Yandex-szolgáltatásokon fog dolgozni, és készségekre tesz szert olyan területeken, mint a lineáris modellek és a gradiens-növelés, az ajánlási rendszerek, a neurális hálózatok a képek, szövegek és hangok elemzéséhez. Azt is megtanulja, hogyan kell megfelelően értékelni a modelleket offline és online mérőszámok segítségével.

A program időtartama egy év, ezalatt a résztvevők a Yandex gépi intelligencia és kutatási osztályán dolgoznak, valamint előadásokon és szemináriumokon vesznek részt. A részvétel fizetős és teljes munkaidős munkával jár: heti 40 óra, ez év július 1-jétől. A jelentkezések most megnyíltak és május 1-ig tart. 

És most részletesebben - arról, hogy milyen közönséget várunk, mi lesz a munkafolyamat, és általában, hogyan válthat egy back-end szakember az ML-ben.

irányítottság

Sok cég rendelkezik rezidens programokkal, köztük például a Google és a Facebook. Főleg olyan utánpótlás- és középszintű szakembereket céloznak meg, akik igyekeznek egy lépést tenni az ML-kutatás felé. Programunk más közönségnek szól. Olyan háttérfejlesztőket hívunk meg, akik már elég tapasztalatot szereztek és pontosan tudják, hogy kompetenciáikban az ML felé kell elmozdulniuk, hogy gyakorlati – és nem tudósi – készségeket szerezzenek az ipari gépi tanulási problémák megoldásában. Ez nem jelenti azt, hogy nem támogatjuk a fiatal kutatókat. Külön programot szerveztünk nekik, prémium Ilya Segalovich nevéhez fűződik, amely lehetővé teszi a Yandexben való munkát is.

Hol fog dolgozni a rezidens?

A Gépi Intelligencia és Kutatási Tanszéken mi magunk dolgozunk ki projektötleteket. Az inspiráció fő forrása a tudományos irodalom, cikkek és a kutatói közösség irányzatai. Kollégáimmal elemezzük az olvasottakat, megvizsgálva, hogyan tudnánk javítani vagy bővíteni a tudósok által javasolt módszereket. Ugyanakkor mindegyikünk figyelembe veszi tudásterületét, érdeklődési körét, az általa fontosnak tartott területek alapján fogalmazza meg a feladatot. A projekt ötlete általában a külső kutatás eredményeinek és a saját kompetenciáknak a metszéspontjában születik meg.

Ez a rendszer jó, mert nagyrészt megoldja a Yandex szolgáltatások technológiai problémáit még azok felmerülése előtt. Ha egy szolgáltatás problémával szembesül, akkor hozzánk jönnek a képviselői, akik nagy valószínűséggel az általunk már elkészített technológiákat veszik át, amit csak a termékben kell helyesen alkalmazni. Ha valami nincs készen, legalább gyorsan eszünkbe jut, hogy hol lehet „ásni” és mely cikkekben keressük a megoldást. Mint tudjuk, a tudományos megközelítés szerint az óriások vállára kell állni.

Mit kell tenni

A Yandexnél – sőt kifejezetten a mi menedzsmentünkben – az ML minden releváns területe fejlesztés alatt áll. Célunk, hogy a legkülönfélébb termékek minőségét javítsuk, ez pedig arra ösztönöz, hogy minden újdonságot kipróbáljunk. Emellett rendszeresen jelennek meg új szolgáltatások. Az előadásprogram tehát tartalmazza az ipari fejlesztésben a gépi tanulás összes kulcsfontosságú (jól bevált) területét. A tantárgyrészem összeállításakor felhasználtam az Adatelemző Iskolában szerzett oktatói tapasztalataimat, valamint más SHAD tanárok anyagait és munkáját. Tudom, hogy a kollégáim is ezt tették.

Az első hónapokban a tanfolyami program szerinti képzés az Ön munkaidejének körülbelül 30%-át, majd körülbelül 10%-át teszi ki. Fontos azonban megérteni, hogy magukkal az ML modellekkel való munka továbbra is körülbelül négyszer kevesebbet vesz igénybe, mint az összes kapcsolódó folyamat. Ezek közé tartozik a háttér előkészítése, adatok fogadása, egy folyamat írása az előfeldolgozáshoz, a kód optimalizálása, az adott hardverhez való alkalmazkodás stb. Az ML mérnök, ha úgy tetszik, full-stack fejlesztő (csak nagyobb hangsúlyt fektetve a gépi tanulásra) , képes megoldani egy problémát az elejétől a végéig. Még egy kész modell esetén is valószínűleg számos további műveletet kell végrehajtania: párhuzamosítani kell a végrehajtását több gépen, elkészíteni egy implementációt kezelőelem, könyvtár vagy magának a szolgáltatásnak a komponensei formájában.

Diákválasztás
Ha az a benyomása volt, hogy jobb, ha ML mérnöknek kell lennie, ha először háttérfejlesztőként dolgozik, ez nem igaz. Kiváló lehetőség, ha beiratkozunk ugyanabba a ShaD-be anélkül, hogy valódi tapasztalattal rendelkeznénk a szolgáltatások fejlesztésében, a tanulásban és a piacon rendkívüli keresletben. Sok Yandex szakember került így jelenlegi pozíciójába. Ha bármelyik cég készen áll arra, hogy a diploma megszerzése után azonnal állást kínáljon Önnek az ML területén, akkor valószínűleg Önnek is el kell fogadnia az ajánlatot. Próbáljon bekerülni egy jó csapatba egy tapasztalt mentorral, és készüljön fel arra, hogy sokat tanuljon.

Általában mi akadályoz meg abban, hogy ML-t csinálj?

Ha egy backender ML mérnök szeretne lenni, két fejlesztési terület közül választhat - a rezidensprogram figyelembevétele nélkül.

Először is tanulj valamilyen oktatási kurzus részeként. tanulságok A Coursera közelebb visz az alaptechnikák megértéséhez, de ahhoz, hogy kellő mértékben elmélyülj a szakmában, sokkal több időt kell rá szánnod. Például végezze el a ShaD-t. Az évek során a ShaD különböző számú tanfolyamot tartott közvetlenül a gépi tanulásról – átlagosan körülbelül nyolc. Mindegyik igazán fontos és hasznos, a végzősök véleménye szerint is. 

Másodszor, részt vehet olyan harci projektekben, ahol egy vagy másik ML algoritmust kell végrehajtania. Az informatikai fejlesztési piacon azonban nagyon kevés ilyen projekt van: a legtöbb feladatban nem alkalmazzák a gépi tanulást. Még az ML-hez kapcsolódó lehetőségeket aktívan kutató bankokban is csak kevesen foglalkoznak adatelemzéssel. Ha nem tudott csatlakozni ezekhez a csapatokhoz, az egyetlen lehetőség, hogy vagy elindítja a saját projektjét (ahol valószínűleg maga határozza meg a határidőket, és ennek nem sok köze van a harci gyártási feladatokhoz), vagy elkezd versenyezni Kaggle.

Valóban, csatlakozzon más közösség tagjaihoz, és próbálja ki magát versenyeken viszonylag könnyű - különösen, ha tudását képzésekkel és a Coursera említett tanfolyamaival támasztja alá. Minden versenynek van egy határideje – ez ösztönzésül szolgál, és felkészít egy hasonló rendszerre az informatikai cégeknél. Ez egy jó módszer - ami azonban kissé el is szakad a valós folyamatoktól. A Kaggle-n előre feldolgozott, bár nem mindig tökéletes adatokat kapsz; ne ajánlja fel, hogy gondolkodjon a termékhez való hozzájárulásról; és ami a legfontosabb, nem igényelnek gyártásra alkalmas megoldásokat. Az algoritmusai valószínűleg működni fognak és nagyon pontosak, de a modelljei és kódjai olyanok lesznek, mint a Frankenstein, amelyeket különböző részekből varrtak össze – egy gyártási projektben az egész struktúra túl lassan fog működni, nehéz lesz frissíteni és bővíteni (pl. a nyelvi és hangalgoritmusok mindig részben újraírásra kerülnek a nyelv fejlődésével). A cégek abban érdekeltek, hogy a felsorolt ​​munkát ne csak Ön saját maga (egyértelmű, hogy Ön, mint a megoldás szerzője) elvégezhesse, hanem bármelyik kollégája is elvégezheti. Szóba kerül a sport és az ipari programozás közötti különbség много, a Kaggle pedig pontosan „sportolókat” nevel – még akkor is, ha ezt nagyon jól teszi, így némi tapasztalatot szerezhetnek.

Két lehetséges fejlesztési irányt írtam le - oktatási programokon keresztül történő kiképzést és „harcban” való kiképzést, például a Kaggle-n. A rezidensprogram e két módszer kombinációja. Előadások és szemináriumok ShaD szinten, valamint igazán harcias projektek várnak rád.

Forrás: will.com

Hozzászólás