Yandex opent een residentieprogramma in machine learning voor ervaren backend-ontwikkelaars. Als je veel in C++/Python hebt geschreven en deze kennis wilt toepassen op ML, dan leren we je praktijkgericht onderzoek doen en zorgen we voor ervaren mentoren. Je werkt aan belangrijke Yandex-services en verwerft vaardigheden op gebieden zoals lineaire modellen en gradiëntversterking, aanbevelingssystemen, neurale netwerken voor het analyseren van afbeeldingen, tekst en geluid. U leert ook hoe u uw modellen op de juiste manier kunt evalueren met behulp van statistieken, zowel offline als online.
De duur van het programma is een jaar, waarin deelnemers zullen werken op de machine-intelligentie- en onderzoeksafdeling van Yandex, en lezingen en seminars zullen bijwonen. Deelname is betaald en betreft een fulltime dienstverband: 40 uur per week, vanaf 1 juli van dit jaar.
En nu in meer detail - over op wat voor soort publiek we wachten, wat het werkproces zal zijn en, in het algemeen, hoe een back-endspecialist kan overstappen naar een carrière in ML.
gerichtheid
Veel bedrijven hebben Residency-programma's, waaronder bijvoorbeeld Google en Facebook. Ze zijn vooral gericht op junior- en mid-level specialisten die een stap in de richting van ML-onderzoek proberen te zetten. Ons programma is voor een ander publiek. We nodigen backend-ontwikkelaars uit die al voldoende ervaring hebben opgedaan en zeker weten dat ze qua competenties moeten overschakelen naar ML, om praktische vaardigheden te verwerven – en niet de vaardigheden van een wetenschapper – bij het oplossen van industriële machine learning-problemen. Dit betekent niet dat wij jonge onderzoekers niet steunen. We hebben voor hen een apart programma georganiseerd -
Waar gaat de bewoner werken?
Bij de afdeling Machine Intelligence and Research ontwikkelen wij zelf projectideeën. De belangrijkste inspiratiebron zijn wetenschappelijke literatuur, artikelen en trends in de onderzoeksgemeenschap. Mijn collega's en ik analyseren wat we lezen en kijken hoe we de door wetenschappers voorgestelde methoden kunnen verbeteren of uitbreiden. Tegelijkertijd houdt ieder van ons rekening met zijn kennis- en interessegebied en formuleert de taak op basis van de gebieden die hij belangrijk acht. Het idee voor een project ontstaat doorgaans op het kruispunt van de resultaten van extern onderzoek en de eigen competenties.
Dit systeem is goed omdat het de technologische problemen van Yandex-services grotendeels oplost, nog voordat ze zich voordoen. Wanneer een dienst met een probleem wordt geconfronteerd, komen zijn vertegenwoordigers naar ons toe, hoogstwaarschijnlijk met de technologieën die we al hebben voorbereid, en het enige dat overblijft is de juiste toepassing in het product. Als iets nog niet klaar is, onthouden we in ieder geval snel waar we kunnen ‘gaan graven’ en in welke artikelen we een oplossing moeten zoeken. Zoals we weten bestaat de wetenschappelijke benadering uit het staan op de schouders van reuzen.
Wat moeten we doen
Bij Yandex - en zelfs specifiek in ons management - worden alle relevante gebieden van ML ontwikkeld. Ons doel is om de kwaliteit van een grote verscheidenheid aan producten te verbeteren, en dit dient als een stimulans om al het nieuwe te testen. Daarnaast verschijnen er regelmatig nieuwe diensten. Het lezingenprogramma omvat dus alle belangrijke (bewezen) gebieden van machinaal leren in de industriële ontwikkeling. Bij het samenstellen van mijn deel van de cursus heb ik gebruik gemaakt van mijn leservaring aan de School of Data Analysis, evenals van de materialen en het werk van andere SHAD-docenten. Ik weet dat mijn collega's hetzelfde deden.
De eerste maanden zal de opleiding volgens het cursusprogramma ongeveer 30% van je werktijd in beslag nemen, daarna ongeveer 10%. Het is echter belangrijk om te begrijpen dat het werken met de ML-modellen zelf ongeveer vier keer minder zal blijven duren dan alle bijbehorende processen. Denk hierbij aan het voorbereiden van de backend, het ontvangen van data, het schrijven van een pipeline om deze voor te verwerken, het optimaliseren van code, het aanpassen aan specifieke hardware, etc. Een ML-engineer is, als je wilt, een full-stack developer (alleen met een grotere nadruk op machine learning) , in staat een probleem van begin tot eind op te lossen. Zelfs met een kant-en-klaar model zul je waarschijnlijk nog een aantal acties moeten uitvoeren: de uitvoering ervan op verschillende machines parallelliseren, een implementatie voorbereiden in de vorm van een handle, een bibliotheek of componenten van de service zelf.
Keuze van de student
Als je de indruk had dat je beter ML-engineer kunt worden door eerst als backend-ontwikkelaar te werken, is dit niet waar. Inschrijven voor dezelfde ShAD zonder echte ervaring met het ontwikkelen van diensten, leren en extreem veel gevraagd worden op de markt is een uitstekende optie. Veel Yandex-specialisten zijn op deze manier in hun huidige positie terechtgekomen. Als een bedrijf bereid is om je onmiddellijk na je afstuderen een baan op het gebied van ML aan te bieden, moet je het aanbod waarschijnlijk ook accepteren. Probeer in een goed team terecht te komen met een ervaren mentor en bereid je voor om veel te leren.
Wat weerhoudt u er doorgaans van om aan ML te doen?
Als een backender ML-ingenieur wil worden, kan hij kiezen uit twee ontwikkelingsgebieden - zonder rekening te houden met het residentieprogramma.
Ten eerste, studeer als onderdeel van een educatieve cursus.
Ten tweede kun je deelnemen aan gevechtsprojecten waarbij je een of ander ML-algoritme moet implementeren. Er zijn echter maar heel weinig van dergelijke projecten op de IT-ontwikkelingsmarkt: machinaal leren wordt bij de meeste taken niet gebruikt. Zelfs van de banken die actief de mogelijkheden op het gebied van ML verkennen, houden slechts enkele banken zich bezig met data-analyse. Als u zich niet bij een van deze teams kunt aansluiten, is uw enige optie om óf uw eigen project te starten (waarbij u hoogstwaarschijnlijk uw eigen deadlines bepaalt, en dit heeft weinig te maken met gevechtsproductietaken), óf te gaan concurreren op Kaggle.
Werk samen met andere communityleden en probeer jezelf uit in wedstrijden
Ik beschreef twee mogelijke ontwikkelingslijnen: training via educatieve programma's en training 'in de strijd', bijvoorbeeld op Kaggle. Het residentieprogramma is een combinatie van deze twee methoden. Lezingen en seminars op ShAD-niveau, maar ook werkelijk strijdbare projecten, wachten op u.
Bron: www.habr.com