Rezidentní program Yandex aneb Jak se zkušený backender může stát inženýrem ML

Rezidentní program Yandex aneb Jak se zkušený backender může stát inženýrem ML

Yandex otevírá rezidenční program v oblasti strojového učení pro zkušené backendové vývojáře. Pokud jste toho hodně napsali v C++/Pythonu a chcete tyto znalosti aplikovat na ML, pak vás naučíme dělat praktický výzkum a poskytneme zkušené mentory. Budete pracovat na klíčových službách Yandex a získáte dovednosti v oblastech, jako jsou lineární modely a zesílení gradientu, systémy doporučení, neuronové sítě pro analýzu obrázků, textu a zvuku. Dozvíte se také, jak správně vyhodnocovat své modely pomocí metrik offline i online.

Doba trvání programu je jeden rok, během kterého budou účastníci pracovat v oddělení strojové inteligence a výzkumu Yandexu a také navštěvovat přednášky a semináře. Účast je placená a zahrnuje práci na plný úvazek: 40 hodin týdně, počínaje 1. červencem tohoto roku. Přihlášky jsou nyní otevřeny a potrvá do 1. května. 

A nyní podrobněji - o tom, jaké publikum čekáme, jaký bude pracovní proces a obecně, jak může back-end specialista přejít na kariéru v ML.

Direktivita

Rezidentní programy má mnoho společností, včetně například Google a Facebooku. Jsou zaměřeny především na juniorské a střední specialisty, kteří se snaží udělat krok směrem k výzkumu ML. Náš program je pro jiné publikum. Zveme backendové vývojáře, kteří již získali dostatek zkušeností a jistě vědí, že se ve svých kompetencích potřebují posunout směrem k ML, získat praktické dovednosti – a ne dovednosti vědce – při řešení problémů průmyslového strojového učení. To neznamená, že nepodporujeme mladé výzkumníky. Připravili jsme pro ně samostatný program - pojistné pojmenované po Ilya Segalovich, což vám také umožňuje pracovat v Yandexu.

Kde bude rezident pracovat?

Na katedře strojové inteligence a výzkumu sami rozvíjíme projektové nápady. Hlavním zdrojem inspirace je vědecká literatura, články a trendy ve výzkumné komunitě. Moji kolegové a já analyzujeme, co čteme, a díváme se na to, jak můžeme zlepšit nebo rozšířit metody navržené vědci. Každý z nás přitom bere v úvahu oblast svých znalostí a zájmů, formuluje úkol na základě oblastí, které považuje za důležité. Nápad na projekt se obvykle rodí na průsečíku výsledků externího výzkumu a vlastních kompetencí.

Tento systém je dobrý, protože z velké části řeší technologické problémy služeb Yandex ještě dříve, než vzniknou. Když se nějaká služba potýká s problémem, přijdou za námi její zástupci, s největší pravděpodobností vezmou námi již připravené technologie, které zbývá jen správně aplikovat v produktu. Pokud něco není připraveno, alespoň si rychle vzpomeneme, kde můžeme „začít kopat“ a ve kterých článcích hledat řešení. Jak víme, vědecký přístup spočívá v postavení se na ramena obrů.

Co dělat

V Yandexu – a dokonce i konkrétně v našem managementu – se vyvíjejí všechny relevantní oblasti ML. Naším cílem je zlepšit kvalitu široké škály produktů a to slouží jako pobídka k testování všeho nového. Navíc se pravidelně objevují nové služby. Program přednášek tedy obsahuje všechny klíčové (osvědčené) oblasti strojového učení v průmyslovém rozvoji. Při sestavování své části kurzu jsem využil své pedagogické zkušenosti na School of Data Analysis a také materiály a práci ostatních učitelů SHAD. Vím, že moji kolegové udělali totéž.

V prvních měsících bude školení podle programu kurzu tvořit přibližně 30 % vaší pracovní doby, poté přibližně 10 %. Je však důležité pochopit, že práce se samotnými modely ML bude i nadále trvat přibližně čtyřikrát méně než všechny související procesy. Patří mezi ně příprava backendu, příjem dat, psaní pipeline pro jejich předzpracování, optimalizace kódu, přizpůsobení konkrétnímu hardwaru atd. ML inženýr je, chcete-li, full-stack vývojář (pouze s větším důrazem na strojové učení) , schopný vyřešit problém od začátku do konce. I s hotovým modelem budete pravděpodobně muset udělat řadu dalších akcí: paralelizovat jeho provádění na více strojích, připravit implementaci v podobě handle, knihovny nebo komponent samotné služby.

Studentská volba
Pokud jste měli dojem, že je lepší stát se inženýrem ML nejprve pracovat jako backendový vývojář, není to pravda. Zapsat se do stejného SHAD bez skutečných zkušeností s vývojem služeb, učením se a stát se extrémně žádaným na trhu je vynikající možností. Mnoho specialistů Yandex takto skončilo na svých současných pozicích. Pokud je nějaká společnost připravena nabídnout vám práci v oblasti ML ihned po ukončení studia, pravděpodobně byste měli nabídku přijmout také. Zkuste se dostat do dobrého týmu se zkušeným mentorem a připravte se, že se toho hodně naučíte.

Co vám obvykle brání dělat ML?

Pokud se backender touží stát ML inženýrem, může si vybrat ze dvou oblastí vývoje – bez zohlednění rezidenčního programu.

Nejprve studujte v rámci nějakého vzdělávacího kurzu. Lekce Coursera vás přiblíží k pochopení základních technik, ale abyste se do profese ponořili v dostatečné míře, musíte jí věnovat mnohem více času. Například absolvovat SHAD. V průběhu let měl SHAD různý počet kurzů přímo o strojovém učení – v průměru asi osm. Každý z nich je opravdu důležitý a užitečný, a to i podle názoru absolventů. 

Za druhé, můžete se zúčastnit bojových projektů, kde potřebujete implementovat ten či onen ML algoritmus. Na trhu vývoje IT je však takových projektů velmi málo: strojové učení se ve většině úloh nepoužívá. I v bankách, které aktivně zkoumají příležitosti související s praním peněz, se jen několik málo zabývá analýzou dat. Pokud jste se nemohli připojit k jednomu z těchto týmů, vaší jedinou možností je buď zahájit svůj vlastní projekt (kde si s největší pravděpodobností stanovíte vlastní termíny, a to nemá s bojovými produkčními úkoly mnoho společného), nebo začít soutěžit na Kaggle.

Ve skutečnosti se spojte s ostatními členy komunity a vyzkoušejte sami sebe v soutěžích relativně snadné - zvláště pokud své dovednosti podpoříte školením a zmíněnými kurzy na Courseře. Každá soutěž má svůj termín – poslouží vám jako pobídka a připraví vás na podobný systém v IT firmách. To je dobrý způsob - který je však také trochu oddělený od skutečných procesů. Na Kaggle dostanete předem zpracovaná, i když ne vždy dokonalá data; nenabízejte přemýšlení o přínosu pro produkt; a hlavně nevyžadují řešení vhodná pro výrobu. Vaše algoritmy budou pravděpodobně fungovat a budou vysoce přesné, ale vaše modely a kód budou jako Frankenstein sešívané z různých částí – v produkčním projektu bude celá struktura pracovat příliš pomalu, bude obtížné ji aktualizovat a rozšiřovat (např. jazykové a hlasové algoritmy budou vždy částečně přepsány, jak se jazyk vyvíjí). Firmy mají zájem na tom, že uvedené práce zvládnete nejen vy sami (je jasné, že vy jako autor řešení to zvládnete), ale i kdokoli z vašich kolegů. Je diskutován rozdíl mezi sportovním a průmyslovým programováním много, a Kaggle vychovává přesně „sportovce“ – i když to dělá velmi dobře a umožňuje jim získat určité zkušenosti.

Popsal jsem dvě možné linie vývoje – výcvik prostřednictvím vzdělávacích programů a výcvik „v boji“, například na Kaggle. Rezidenční program je kombinací těchto dvou metod. Čekají vás přednášky a semináře na úrovni ShAD, ale i skutečně bojovné projekty.

Zdroj: www.habr.com

Přidat komentář