Яндэкс адкрывае рэзідэнцкую праграму па машынным навучанні для вопытных бэкэнд-распрацоўшчыкаў. Калі вы шмат пісалі на C++/Python і жадаеце ўжыць гэтыя веды ў ML – то мы навучым вас займацца практычнымі даследаваннямі і вылучым дасведчаных куратараў. Вы папрацуеце над ключавымі сэрвісамі Яндэкса і атрымаеце навыкі ў такіх галінах, як лінейныя мадэлі і градыентны бустынг, рэкамендацыйныя сістэмы, нейрасеткі для аналізу малюнкаў, тэксту і гуку. Яшчэ вы даведаецеся, як правільна ацэньваць свае мадэлі з дапамогай метрык у афлайне і анлайне.
Працягласць праграмы - адзін год, на працягу якога ўдзельнікі будуць працаваць ва ўпраўленні машыннага інтэлекту і даследаванняў Яндэкса, а таксама наведваць лекцыі і семінары. Удзел аплачваецца і мяркуе поўную занятасць: 40 гадзін у тыдзень, пачынаючы з 1 ліпеня гэтага года.
А зараз падрабязней - аб тым, якую аўдыторыю мы чакаем, якім будзе працоўны працэс і ў цэлым, як бэкенд-спецыялісту пераключыцца на кар'еру ў ML.
Скіраванасць
Residency Programs ёсць у многіх кампаній, у тым ліку, напрыклад, Google і Facebook. Галоўным чынам яны накіраваны на адмыслоўцаў малодшага і сярэдняга ўзроўня, якія спрабуюць ступіць у бок ML-даследаванняў. Наша праграма - для іншай аўдыторыі. Мы запрашаем бэкэнд-распрацоўшчыкаў, якія ўжо набылі дастаткова вопыту і дакладна ведаюць, што ў сваіх кампетэнцыях ім трэба зрушвацца ў бок ML, атрымаць практычныя навыкі – а не навыкі вучонага – у вырашэнні прамысловых задач машыннага навучання. Гэта не значыць, што мы не падтрымліваем маладых даследнікаў. Для іх мы арганізавалі асобную праграму.
Дзе рэзідэнту трэба працаваць
Мы ва ўпраўленні машыннага інтэлекту і даследаванняў самі распрацоўваем ідэі праектаў. Асноўная крыніца натхнення - навуковая літаратура, артыкулы, трэнды супольнасці даследчыкаў. Я і мае калегі аналізуем прачытанае, глядзім, як можна палепшыць ці пашырыць метады, прапанаваныя навукоўцамі. Пры гэтым кожны з нас улічвае сваю галіну ведаў і інтарэсаў, фармулюе задачу зыходзячы з напрамкаў, якія лічыць важнымі. На стыку вынікаў вонкавых даследаванняў і ўласных кампетэнцый звычайна і нараджаецца ідэя праекту.
Такая сістэма добрая тым, што шмат у чым вырашае тэхналагічныя задачы сэрвісаў Яндэкса яшчэ да іх узнікнення. Калі перад сэрвісам устае праблема, яго прадстаўнікі прыходзяць да нас, каб, хутчэй за ўсё, узяць ужо падрыхтаваныя намі тэхналогіі, якія застаецца толькі правільна прымяніць у прадукце. Калі ж нешта не гатова - мы, прынамсі, хутка ўспомнім, адкуль можна «пачаць капаць», у якіх артыкулах шукаць рашэнне. Як вядома, навуковы падыход - гэта стаяць на плячах гігантаў.
Што трэба рабіць
У Яндэксе - і нават канкрэтна ў нашым кіраванні - развіваюцца ўсе актуальныя напрамкі ML. Наша задача - паляпшаць якасць самых разнастайных прадуктаў, і гэта служыць стымулам правяраць усё новае. Да таго ж, рэгулярна з'яўляюцца новыя сэрвісы. Так што ў лекцыйнай праграме ёсць усе ключавыя (добра сябе зарэкамендавалыя) напрамкі машыннага навучання ў прамысловай распрацоўцы. Пры складанні маёй часткі курса я выкарыстоўваў досвед выкладання ў Школе аналізу дадзеных, а таксама матэрыялы і напрацоўкі іншых выкладчыкаў ШАДа. Ведаю, што калегі рабілі гэтак жа.
У першыя месяцы навучанне па праграме курса будзе складаць прыкладна 30% вашага працоўнага часу, затым - каля 10%. Аднак важна разумець, што праца з самімі ML-мадэлямі працягне займаць прыкладна ў чатыры разы менш, чым усе спадарожныя працэсы. Да іх ставіцца падрыхтоўка бэкенда, атрыманне дадзеных, напісанне pipeline для іх перадапрацоўкі, аптымізацыя кода, адаптацыя пад спецыфічнае жалеза і т. д. ML-інжынер - гэта, калі жадаеце, fullstack-распрацоўнік (толькі з вялікім ухілам у машыннае навучанне), здольны вырашыць задачу ад пачатку і да канца. Нават з гатовай мадэллю напэўна запатрабуецца прарабіць яшчэ шэраг дзеянняў: распаралеліць яе выкананне па некалькіх машынам, падрыхтаваць рэалізацыю ў выглядзе ручкі, бібліятэкі ці кампаненты самога сэрвісу.
Выбар студэнта
Калі ў вас склалася ўражанне, што ў ML-інжынеры лепш ісці, спачатку папрацаваўшы распрацоўшчыкам бэкенда, – гэта не так. Паступіць у той жа ШАД без рэальнага вопыту распрацоўкі сэрвісаў, навучыцца і стаць вельмі запатрабаваным на рынку - выдатны варыянт. Многія спецыялісты ў Яндэксе апынуліся на цяперашніх пазіцыях менавіта такім шляхам. Калі ж якая-небудзь кампанія гатова прапанаваць вам працу ў вобласці ML адразу пасля інстытута – верагодна, таксама варта прыняць прапанову. Паспрабуйце патрапіць у добрую каманду да дасведчанага настаўніка і прыгатуйцеся шмат вучыцца.
Што звычайна замінае заняцца ML
Калі бэкендэр імкнецца стаць ML-інжынерам, ён - без уліку рэзідэнцкай праграмы - можа абраць з двух напрамкаў развіцця.
Па-першае - навучыцца ў рамках якой-небудзь адукацыйнага курсу.
Па-другое, можна паўдзельнічаць у баявых праектах, дзе патрабуецца рэалізаваць той ці іншы ML-алгарытм. Аднак на рынку IT-распрацоўкі такіх праектаў вельмі мала: у большасці задач машыннае навучанне не выкарыстоўваецца. Нават у банках, якія актыўна вывучаюць звязаныя з ML магчымасці, аналізам даных займаюцца адзінкі. Калі вам не ўдалося далучыцца да адной з падобных каманд, застаецца альбо завесці свой уласны праект (дзе, хутчэй за ўсё, дэдлайны вы будзеце ставіць сабе самі, а гэта мае мала агульнага з баявымі прадакшэн-задачамі), альбо пачаць спаборнічаць на Kaggle.
Сапраўды, аб'яднацца з іншымі ўдзельнікамі суполкі і спрабаваць сябе ў конкурсах.
Я апісаў дзве магчымыя лініі развіцця - навучанне праз адукацыйныя праграмы і навучанне "ў баі", напрыклад на Kaggle. Рэзідэнцкая праграма з'яўляецца спалучэннем гэтых двух спосабаў. Вас чакаюць лекцыі і семінары ўзроўню ШАДа, а таксама сапраўды баявыя праекты.
Крыніца: habr.com