Yandex åpner et residency-program i maskinlæring for erfarne backend-utviklere. Hvis du har skrevet mye i C++/Python og ønsker å bruke denne kunnskapen til ML, så vil vi lære deg hvordan du gjør praktisk forskning og gir erfarne mentorer. Du vil jobbe med sentrale Yandex-tjenester og få ferdigheter innen områder som lineære modeller og gradientforsterkning, anbefalingssystemer, nevrale nettverk for å analysere bilder, tekst og lyd. Du vil også lære hvordan du kan evaluere modellene dine på riktig måte ved å bruke beregninger offline og online.
Varigheten av programmet er ett år, hvor deltakerne vil jobbe i maskinintelligens og forskningsavdelingen til Yandex, samt delta på forelesninger og seminarer. Deltakelse er lønnet og innebærer fulltidsarbeid: 40 timer per uke med oppstart 1. juli i år.
Og nå mer detaljert - om hva slags publikum vi venter på, hvordan arbeidsprosessen vil være og generelt hvordan en back-end-spesialist kan bytte til en karriere i ML.
Fokus
Mange bedrifter har Residency Programs, inkludert for eksempel Google og Facebook. De er hovedsakelig rettet mot spesialister på junior- og mellomnivå som prøver å ta et steg mot ML-forskning. Programmet vårt er for et annet publikum. Vi inviterer backend-utviklere som allerede har fått nok erfaring og vet med sikkerhet at de i sin kompetanse trenger å skifte mot ML, for å få praktiske ferdigheter - og ikke ferdighetene til en forsker - i å løse industrielle maskinlæringsproblemer. Det betyr ikke at vi ikke støtter unge forskere. Vi har organisert et eget program for dem -
Hvor skal beboeren jobbe?
I Institutt for maskinintelligens og forskning utvikler vi selv prosjektideer. Hovedinspirasjonskilden er vitenskapelig litteratur, artikler og trender i forskningsmiljøet. Mine kolleger og jeg analyserer det vi leser, og ser på hvordan vi kan forbedre eller utvide metodene foreslått av forskere. Samtidig tar hver av oss hensyn til sitt kunnskapsområde og interesser, formulerer oppgaven basert på områdene han anser som viktige. Ideen til et prosjekt er vanligvis født i skjæringspunktet mellom resultatene av ekstern forskning og egen kompetanse.
Dette systemet er bra fordi det i stor grad løser de teknologiske problemene til Yandex-tjenester selv før de oppstår. Når en tjeneste står overfor et problem, kommer dens representanter til oss, mest sannsynlig for å ta teknologiene vi allerede har forberedt, som alt som gjenstår er å bli brukt riktig i produktet. Hvis noe ikke er klart, vil vi i det minste raskt huske hvor vi kan "begyne å grave" og i hvilke artikler vi skal se etter en løsning. Som vi vet, er den vitenskapelige tilnærmingen å stå på skuldrene til kjemper.
Hva å gjøre
Hos Yandex – og til og med spesifikt i vår ledelse – utvikles alle relevante områder av ML. Målet vårt er å forbedre kvaliteten på et bredt utvalg av produkter, og dette tjener som et insentiv til å teste alt nytt. I tillegg kommer nye tjenester jevnlig. Så forelesningsprogrammet inneholder alle de viktigste (velprøvde) områdene innen maskinlæring i industriell utvikling. Ved sammenstillingen av min del av kurset brukte jeg min undervisningserfaring ved School of Data Analysis, samt materialet og arbeidet til andre SHAD-lærere. Jeg vet at kollegene mine gjorde det samme.
De første månedene vil opplæring etter kursopplegget utgjøre ca 30 % av arbeidstiden din, deretter ca 10 %. Det er imidlertid viktig å forstå at arbeidet med selve ML-modellene vil fortsette å ta omtrent fire ganger mindre enn alle de tilknyttede prosessene. Disse inkluderer klargjøring av backend, mottak av data, skriving av en pipeline for forhåndsbehandling, optimalisering av kode, tilpasning til spesifikk maskinvare osv. En ML-ingeniør er, om du vil, en fullstack-utvikler (bare med større vekt på maskinlæring). , i stand til å løse et problem fra start til slutt. Selv med en ferdig modell, vil du sannsynligvis trenge å gjøre en rekke flere handlinger: parallellisere utførelsen på tvers av flere maskiner, forberede en implementering i form av et håndtak, et bibliotek eller komponenter av selve tjenesten.
Elevens valg
Hvis du var under inntrykk av at det er bedre å bli en ML-ingeniør ved først å jobbe som backend-utvikler, er dette ikke sant. Å registrere seg i samme ShAD uten reell erfaring med å utvikle tjenester, lære og bli ekstremt etterspurt på markedet er et utmerket alternativ. Mange Yandex-spesialister endte opp i sine nåværende stillinger på denne måten. Hvis et selskap er klar til å tilby deg en jobb innen ML umiddelbart etter endt utdanning, bør du sannsynligvis også akseptere tilbudet. Prøv å komme inn i et godt team med en erfaren mentor og gjør deg klar til å lære mye.
Hva hindrer deg vanligvis i å gjøre ML?
Hvis en backender ønsker å bli ML-ingeniør, kan han velge mellom to utviklingsområder – uten å ta hensyn til residency-programmet.
For det første, studer som en del av et eller annet utdanningsløp.
For det andre kan du ta del i kampprosjekter der du trenger å implementere en eller annen ML-algoritme. Det er imidlertid svært få slike prosjekter på IT-utviklingsmarkedet: maskinlæring brukes ikke i de fleste oppgaver. Selv i banker som aktivt utforsker ML-relaterte muligheter, er det bare noen få som er engasjert i dataanalyse. Hvis du ikke var i stand til å bli med i et av disse lagene, er det eneste alternativet ditt enten å starte ditt eget prosjekt (hvor du mest sannsynlig setter dine egne tidsfrister, og dette har lite med kampproduksjonsoppgaver å gjøre), eller begynne å konkurrere på Kaggle.
Faktisk, slå deg sammen med andre fellesskapsmedlemmer og prøv deg selv i konkurranser
Jeg beskrev to mulige utviklingslinjer - trening gjennom utdanningsprogrammer og trening "i kamp", for eksempel på Kaggle. Residensprogrammet er en kombinasjon av disse to metodene. Forelesninger og seminarer på ShAD-nivå, så vel som virkelig stridbare prosjekter, venter på deg.
Kilde: www.habr.com