Yandex åbner et opholdsprogram i maskinlæring for erfarne backend-udviklere. Hvis du har skrevet meget i C++/Python og ønsker at anvende denne viden til ML, så vil vi lære dig, hvordan du laver praktisk research og giver erfarne mentorer. Du vil arbejde på centrale Yandex-tjenester og få færdigheder inden for områder som lineære modeller og gradientboosting, anbefalingssystemer, neurale netværk til analyse af billeder, tekst og lyd. Du vil også lære, hvordan du korrekt evaluerer dine modeller ved hjælp af metrics offline og online.
Varigheden af programmet er et år, hvor deltagerne vil arbejde i maskinintelligens- og forskningsafdelingen i Yandex samt deltage i forelæsninger og seminarer. Deltagelse er betalt og indebærer fuldtidsarbejde: 40 timer om ugen med start 1. juli i år.
Og nu mere detaljeret - om hvilken slags publikum vi venter på, hvad arbejdsprocessen bliver og i det hele taget hvordan en back-end specialist kan skifte til en karriere i ML.
Fokus
Mange virksomheder har Residency Programs, herunder for eksempel Google og Facebook. De er hovedsageligt rettet mod specialister på junior- og mellemniveau, der forsøger at tage et skridt i retning af ML-forskning. Vores program er for et andet publikum. Vi inviterer backend-udviklere, der allerede har fået nok erfaring og ved med sikkerhed, at de i deres kompetencer skal skifte mod ML, for at opnå praktiske færdigheder - og ikke en videnskabsmands færdigheder - i at løse industrielle maskinlæringsproblemer. Det betyder ikke, at vi ikke støtter unge forskere. Vi har tilrettelagt et separat program for dem -
Hvor skal beboeren arbejde?
I afdelingen for maskinintelligens og forskning udvikler vi selv projektideer. Den primære inspirationskilden er videnskabelig litteratur, artikler og tendenser i forskningsmiljøet. Mine kolleger og jeg analyserer, hvad vi læser, og ser på, hvordan vi kan forbedre eller udvide de metoder, som videnskabsmænd foreslår. Samtidig tager hver af os hensyn til sit videns- og interesseområde, formulerer opgaven ud fra de områder, som han anser for vigtige. Idéen til et projekt fødes normalt i krydsfeltet mellem resultaterne af ekstern forskning og egne kompetencer.
Dette system er godt, fordi det stort set løser de teknologiske problemer med Yandex-tjenester, selv før de opstår. Når en tjeneste står over for et problem, kommer dens repræsentanter til os, højst sandsynligt for at tage de teknologier, vi allerede har forberedt, som det eneste, der er tilbage, er at blive anvendt korrekt i produktet. Hvis noget ikke er klar, husker vi i hvert fald hurtigt, hvor vi kan "begynde at grave", og i hvilke artikler vi skal lede efter en løsning. Som vi ved, er den videnskabelige tilgang at stå på skuldrene af giganter.
Hvad skal man gøre
Hos Yandex - og endda specifikt i vores ledelse - udvikles alle relevante områder af ML. Vores mål er at forbedre kvaliteten af en lang række produkter, og dette tjener som et incitament til at teste alt nyt. Derudover dukker der løbende nye tjenester op. Så forelæsningsprogrammet indeholder alle de centrale (velafprøvede) områder inden for maskinlæring i industriel udvikling. Ved sammenstillingen af min del af forløbet brugte jeg min undervisningserfaring på Dataanalyseskolen samt andre SHAD-læreres materialer og arbejde. Jeg ved, at mine kolleger gjorde det samme.
I de første måneder vil uddannelse efter kursusprogrammet udgøre cirka 30 % af din arbejdstid, derefter cirka 10 %. Det er dog vigtigt at forstå, at arbejdet med selve ML-modellerne fortsat vil tage cirka fire gange mindre end alle de tilknyttede processer. Disse omfatter forberedelse af backend, modtagelse af data, skrivning af en pipeline til forbehandling af det, optimering af kode, tilpasning til specifik hardware osv. En ML-ingeniør er, om du vil, en fuldstack-udvikler (kun med større vægt på maskinlæring). , i stand til at løse et problem fra start til slut. Selv med en færdiglavet model skal du sandsynligvis udføre en række flere handlinger: parallelisere dens udførelse på tværs af flere maskiner, forberede en implementering i form af et håndtag, et bibliotek eller komponenter af selve tjenesten.
Elevens valg
Hvis du var under indtryk af, at det er bedre at blive ML-ingeniør ved først at arbejde som backend-udvikler, er dette ikke sandt. At tilmelde sig den samme ShAD uden reel erfaring med at udvikle tjenester, lære og blive ekstremt efterspurgt på markedet er en glimrende mulighed. Mange Yandex-specialister endte i deres nuværende stillinger på denne måde. Hvis en virksomhed er klar til at tilbyde dig et job inden for ML umiddelbart efter endt uddannelse, skal du nok også tage imod tilbuddet. Prøv at komme ind i et godt team med en erfaren mentor og gør dig klar til at lære en masse.
Hvad forhindrer dig normalt i at lave ML?
Hvis en backender stræber efter at blive ML-ingeniør, kan han vælge mellem to udviklingsområder – uden at tage hensyn til residency-programmet.
For det første, læs som en del af et uddannelsesforløb.
For det andet kan du deltage i kampprojekter, hvor du skal implementere en eller anden ML-algoritme. Der er dog meget få sådanne projekter på it-udviklingsmarkedet: maskinlæring bruges ikke i de fleste opgaver. Selv i banker, der aktivt udforsker ML-relaterede muligheder, er det kun få, der er involveret i dataanalyse. Hvis du ikke var i stand til at deltage i et af disse hold, er din eneste mulighed enten at starte dit eget projekt (hvor du højst sandsynligt vil sætte dine egne deadlines, og det har ikke meget at gøre med kampproduktionsopgaver), eller begynde at konkurrere på Kaggle.
Faktisk hold dig sammen med andre fællesskabsmedlemmer og prøv dig selv i konkurrencer
Jeg beskrev to mulige udviklingslinjer - træning gennem uddannelsesprogrammer og træning "i kamp", for eksempel på Kaggle. Residency-programmet er en kombination af disse to metoder. Forelæsninger og seminarer på ShAD-niveau såvel som virkelig kamplystne projekter venter på dig.
Kilde: www.habr.com