Rezidentný program Yandex alebo ako sa skúsený backender môže stať inžinierom ML

Rezidentný program Yandex alebo ako sa skúsený backender môže stať inžinierom ML

Yandex otvára rezidenčný program v oblasti strojového učenia pre skúsených backendových vývojárov. Ak ste toho veľa napísali v C++/Pythone a chcete tieto znalosti aplikovať na ML, potom vás naučíme robiť praktický výskum a poskytneme skúsených mentorov. Budete pracovať na kľúčových službách Yandex a získate zručnosti v oblastiach, ako sú lineárne modely a zvyšovanie gradientu, systémy odporúčaní, neurónové siete na analýzu obrázkov, textu a zvuku. Dozviete sa tiež, ako správne vyhodnotiť svoje modely pomocou metrík offline a online.

Trvanie programu je jeden rok, počas ktorého budú účastníci pracovať v oddelení strojovej inteligencie a výskumu Yandex, ako aj navštevovať prednášky a semináre. Účasť je platená a zahŕňa prácu na plný úväzok: 40 hodín týždenne od 1. júla tohto roku. Prihlášky sú teraz otvorené a potrvá do 1. mája. 

A teraz podrobnejšie - o tom, aké publikum čakáme, aký bude pracovný proces a vo všeobecnosti, ako môže back-end špecialista prejsť na kariéru v ML.

Zamerajte sa

Rezidentské programy má mnoho spoločností, napríklad Google a Facebook. Zameriavajú sa najmä na odborníkov na nižšej a strednej úrovni, ktorí sa snažia urobiť krok smerom k výskumu ML. Náš program je určený pre iné publikum. Pozývame backendových vývojárov, ktorí už získali dostatok skúseností a s istotou vedia, že sa vo svojich kompetenciách potrebujú posunúť smerom k ML, získať praktické zručnosti – a nie zručnosti vedca – pri riešení problémov priemyselného strojového učenia. To neznamená, že nepodporujeme mladých výskumníkov. Pripravili sme pre nich samostatný program - prémie pomenovaný po Ilya Segalovich, ktorý vám tiež umožňuje pracovať v Yandex.

Kde bude rezident pracovať?

Na oddelení strojovej inteligencie a výskumu sami rozvíjame projektové nápady. Hlavným zdrojom inšpirácie je vedecká literatúra, články a trendy vo výskumnej komunite. Moji kolegovia a ja analyzujeme to, čo čítame, a pozeráme sa na to, ako môžeme zlepšiť alebo rozšíriť metódy navrhované vedcami. Zároveň každý z nás berie do úvahy svoju oblasť vedomostí a záujmov, formuluje úlohu na základe oblastí, ktoré považuje za dôležité. Nápad na projekt sa zvyčajne rodí na priesečníku výsledkov externého výskumu a vlastných kompetencií.

Tento systém je dobrý, pretože do značnej miery rieši technologické problémy služieb Yandex ešte skôr, ako vzniknú. Keď sa nejaká služba stretne s problémom, prídu za nami jej zástupcovia, s najväčšou pravdepodobnosťou vezmú nami už pripravené technológie, ktoré zostáva už len správne aplikovať v produkte. Ak niečo nie je pripravené, aspoň si rýchlo spomenieme, kde môžeme „začať kopať“ a v ktorých článkoch hľadať riešenie. Ako vieme, vedecký prístup spočíva v postavení sa na plecia obrov.

Čo robiť

V Yandex – a dokonca aj konkrétne v našom manažmente – sa vyvíjajú všetky relevantné oblasti ML. Naším cieľom je zlepšiť kvalitu širokej škály produktov a to slúži ako podnet na testovanie všetkého nového. Okrem toho sa pravidelne objavujú nové služby. Takže program prednášok obsahuje všetky kľúčové (osvedčené) oblasti strojového učenia v priemyselnom rozvoji. Pri zostavovaní mojej časti kurzu som využil svoje pedagogické skúsenosti na School of Data Analysis, ako aj materiály a prácu iných učiteľov SHAD. Viem, že moji kolegovia urobili to isté.

V prvých mesiacoch bude školenie podľa programu kurzu predstavovať približne 30 % vášho pracovného času, potom približne 10 %. Je však dôležité pochopiť, že práca so samotnými modelmi ML bude aj naďalej trvať približne štyrikrát menej ako všetky súvisiace procesy. Patrí medzi ne príprava backendu, príjem dát, písanie pipeline na ich predspracovanie, optimalizácia kódu, prispôsobenie sa konkrétnemu hardvéru atď. Inžinier ML je, ak chcete, full-stack vývojár (len s väčším dôrazom na strojové učenie) , schopný vyriešiť problém od začiatku do konca. Aj s hotovým modelom budete pravdepodobne musieť urobiť množstvo ďalších akcií: paralelizovať jeho vykonávanie naprieč viacerými strojmi, pripraviť implementáciu v podobe handle, knižnice či komponentov samotnej služby.

Študentská voľba
Ak ste si mysleli, že je lepšie stať sa inžinierom ML najprv pracovať ako backend vývojár, nie je to pravda. Zapísať sa do rovnakého SHAD bez skutočných skúseností s vývojom služieb, učením sa a stať sa mimoriadne žiadaným na trhu je vynikajúcou možnosťou. Mnoho špecialistov Yandex takto skončilo na svojich súčasných pozíciách. Ak je vám nejaká spoločnosť pripravená ponúknuť prácu v oblasti ML ihneď po ukončení štúdia, pravdepodobne by ste mali ponuku prijať aj vy. Skúste sa dostať do dobrého tímu so skúseným mentorom a pripravte sa, že sa veľa naučíte.

Čo vám zvyčajne bráni robiť ML?

Ak sa backender túži stať inžinierom ML, môže si vybrať z dvoch oblastí vývoja – bez zohľadnenia rezidenčného programu.

Po prvé, študovať v rámci nejakého vzdelávacieho kurzu. Hodiny Coursera vám priblíži pochopenie základných techník, no na to, aby ste sa v dostatočnej miere ponorili do profesie, jej musíte venovať oveľa viac času. Napríklad absolvovať ShaAD. V priebehu rokov mal SHAD rôzny počet kurzov priamo na strojové učenie – v priemere asi osem. Každý z nich je skutočne dôležitý a užitočný, a to aj podľa názoru absolventov. 

Po druhé, môžete sa zúčastniť bojových projektov, kde potrebujete implementovať jeden alebo druhý algoritmus ML. Na trhu vývoja IT je však veľmi málo takýchto projektov: strojové učenie sa vo väčšine úloh nepoužíva. Dokonca aj v bankách, ktoré aktívne skúmajú príležitosti súvisiace s praním peňazí, len málo z nich sa zaoberá analýzou údajov. Ak ste sa nemohli pripojiť k jednému z týchto tímov, vašou jedinou možnosťou je buď začať svoj vlastný projekt (kde si s najväčšou pravdepodobnosťou určíte vlastné termíny, a to nemá veľa spoločného s bojovými produkčnými úlohami), alebo začať súťažiť na Kaggle.

Vskutku, spojte sa s ostatnými členmi komunity a vyskúšajte sa v súťažiach relatívne ľahké - najmä ak si svoje schopnosti podložíte školením a spomínanými kurzami na Coursere. Každá súťaž má svoj termín - poslúži pre vás ako motivácia a pripraví vás na podobný systém v IT firmách. To je dobrý spôsob, ktorý je však tiež trochu oddelený od skutočných procesov. Na Kaggle dostanete vopred spracované, aj keď nie vždy dokonalé údaje; neponúkajte premýšľanie o príspevku k produktu; a hlavne nevyžadujú riešenia vhodné na výrobu. Vaše algoritmy budú pravdepodobne fungovať a budú vysoko presné, ale vaše modely a kód budú ako Frankenstein zošité z rôznych častí – v produkčnom projekte bude celá štruktúra pracovať príliš pomaly, bude ťažké ju aktualizovať a rozširovať (napr. jazykové a hlasové algoritmy budú vždy čiastočne prepísané podľa vývoja jazyka). Firmy sa zaujímajú o to, aby ste uvedené práce mohli vykonávať nielen vy sami (je jasné, že to zvládnete aj vy ako autor riešenia), ale aj ktokoľvek z vašich kolegov. Rozoberá sa rozdiel medzi športovým a priemyselným programovaním много, a Kaggle presne vychováva „športovcov“ – aj keď to robí veľmi dobre, čo im umožňuje získať nejaké skúsenosti.

Popísal som dve možné línie rozvoja – tréning prostredníctvom vzdelávacích programov a tréning „v boji“, napríklad na Kaggle. Rezidenčný program je kombináciou týchto dvoch metód. Čakajú vás prednášky a semináre na úrovni ShAD, ale aj skutočne bojovné projekty.

Zdroj: hab.com

Pridať komentár