Yandex Resident Program, of hoe 'n ervare backender 'n ML-ingenieur kan word

Yandex Resident Program, of hoe 'n ervare backender 'n ML-ingenieur kan word

Yandex open 'n verblyfprogram in masjienleer vir ervare backend-ontwikkelaars. As jy baie in C++/Python geskryf het en hierdie kennis op ML wil toepas, dan sal ons jou leer hoe om praktiese navorsing te doen en ervare mentors te voorsien. Jy sal aan sleutel Yandex-dienste werk en vaardighede opdoen in gebiede soos lineêre modelle en gradiëntversterking, aanbevelingstelsels, neurale netwerke vir die ontleding van beelde, teks en klank. Jy sal ook leer hoe om jou modelle behoorlik te evalueer deur metrieke vanlyn en aanlyn te gebruik.

Die duur van die program is een jaar, waartydens deelnemers in die masjienintelligensie- en navorsingsafdeling van Yandex sal werk, asook lesings en seminare sal bywoon. Deelname word betaal en behels voltydse werk: 40 uur per week, vanaf 1 Julie vanjaar. Aansoeke is nou oop en duur tot 1 Mei. 

En nou in meer besonderhede - oor watter soort gehoor ons wag, wat die werkproses gaan wees en, in die algemeen, hoe 'n agterplaasspesialis na 'n loopbaan in ML kan oorskakel.

rigting

Baie maatskappye het Residensieprogramme, insluitend, byvoorbeeld, Google en Facebook. Hulle is hoofsaaklik gemik op junior- en middelvlakspesialiste wat 'n stap in die rigting van ML-navorsing probeer gee. Ons program is vir 'n ander gehoor. Ons nooi backend-ontwikkelaars uit wat reeds genoeg ondervinding opgedoen het en seker weet dat hulle in hul bevoegdhede na ML moet verskuif, om praktiese vaardighede te verwerf - en nie die vaardighede van 'n wetenskaplike nie - om industriële masjienleerprobleme op te los. Dit beteken nie dat ons nie jong navorsers ondersteun nie. Ons het 'n aparte program vir hulle gereël - premie vernoem na Ilya Segalovich, wat jou ook toelaat om in Yandex te werk.

Waar sal die inwoner werk?

In die Departement Masjien-intelligensie en Navorsing ontwikkel ons self projekidees. Die hoofbron van inspirasie is wetenskaplike literatuur, artikels en tendense in die navorsingsgemeenskap. Ek en my kollegas ontleed wat ons lees, en kyk hoe ons die metodes wat deur wetenskaplikes voorgestel word, kan verbeter of uitbrei. Terselfdertyd neem elkeen van ons sy gebied van kennis en belangstellings in ag, formuleer die taak op grond van die areas wat hy as belangrik ag. Die idee vir 'n projek word gewoonlik gebore op die kruispunt van die resultate van eksterne navorsing en jou eie bevoegdhede.

Hierdie stelsel is goed omdat dit grootliks die tegnologiese probleme van Yandex-dienste oplos nog voordat dit ontstaan. Wanneer 'n diens 'n probleem in die gesig staar, kom sy verteenwoordigers na ons toe, waarskynlik om die tegnologieë te neem wat ons reeds voorberei het, wat al wat oorbly is om korrek in die produk toegepas te word. As iets nie gereed is nie, sal ons darem vinnig onthou waar ons kan “begin grawe” en in watter artikels om 'n oplossing te soek. Soos ons weet, is die wetenskaplike benadering om op die skouers van reuse te staan.

Wat om te doen

By Yandex - en selfs spesifiek in ons bestuur - word alle relevante areas van ML ontwikkel. Ons doelwit is om die kwaliteit van 'n wye verskeidenheid produkte te verbeter, en dit dien as 'n aansporing om alles nuut te toets. Boonop verskyn daar gereeld nuwe dienste. Die lesingprogram bevat dus al die sleutel (goed-bewese) areas van masjienleer in industriële ontwikkeling. Toe ek my deel van die kursus saamstel, het ek my onderrigervaring by die Skool vir Data-analise gebruik, asook die materiaal en werk van ander SHAD-onderwysers. Ek weet dat my kollegas dieselfde gedoen het.

In die eerste maande sal opleiding volgens die kursusprogram ongeveer 30% van jou werktyd uitmaak, dan sowat 10%. Dit is egter belangrik om te verstaan ​​dat die werk met die ML-modelle self ongeveer vier keer minder sal neem as al die gepaardgaande prosesse. Dit sluit in die voorbereiding van die backend, die ontvangs van data, die skryf van 'n pyplyn om dit vooraf te verwerk, die optimalisering van kode, die aanpassing by spesifieke hardeware, ens. 'n ML-ingenieur is, as jy wil, 'n volstapel-ontwikkelaar (slegs met 'n groter klem op masjienleer) , in staat om 'n probleem van begin tot einde op te los. Selfs met 'n klaargemaakte model, sal jy waarskynlik nog 'n aantal aksies moet doen: paralleliseer die uitvoering daarvan oor verskeie masjiene, berei 'n implementering voor in die vorm van 'n handvatsel, 'n biblioteek of komponente van die diens self.

Studente keuse
As jy onder die indruk was dat dit beter is om 'n ML-ingenieur te word deur eers as 'n backend-ontwikkelaar te werk, is dit nie waar nie. Om by dieselfde ShAD in te skryf sonder werklike ervaring in die ontwikkeling van dienste, leer en om uiters in aanvraag op die mark te word, is 'n uitstekende opsie. Baie Yandex-spesialiste het op hierdie manier in hul huidige posisies beland. As enige maatskappy gereed is om onmiddellik na die gradeplegtigheid vir jou 'n werk in die veld van ML aan te bied, moet jy waarskynlik ook die aanbod aanvaar. Probeer om in 'n goeie span te kom met 'n ervare mentor en maak gereed om baie te leer.

Wat verhinder jou gewoonlik om ML te doen?

As 'n backender daarna streef om 'n ML-ingenieur te word, kan hy kies uit twee areas van ontwikkeling - sonder om die verblyfprogram in ag te neem.

Eerstens, studeer as deel van een of ander opvoedkundige kursus. Die lesse Coursera sal jou nader bring aan die begrip van die basiese tegnieke, maar om jou in voldoende mate in die beroep te verdiep, moet jy baie meer tyd daaraan bestee. Gradueer byvoorbeeld aan ShAD. Deur die jare het ShAD 'n ander aantal kursusse direk oor masjienleer gehad - gemiddeld ongeveer agt. Elkeen van hulle is baie belangrik en nuttig, insluitend na die mening van gegradueerdes. 

Tweedens kan jy deelneem aan gevegsprojekte waar jy een of ander ML-algoritme moet implementeer. Daar is egter baie min sulke projekte op die IT-ontwikkelingsmark: masjienleer word nie in die meeste take gebruik nie. Selfs in banke wat aktief ML-verwante geleenthede ondersoek, is slegs 'n paar besig met data-analise. As jy nie by een van hierdie spanne kon aansluit nie, is jou enigste opsie om óf jou eie projek te begin (waar jy heel waarskynlik jou eie sperdatums sal stel, en dit het min te doen met gevegsproduksietake), óf om te begin meeding op Kaggel.

Werk inderdaad saam met ander gemeenskapslede en probeer jouself in kompetisies relatief maklik - veral as jy jou vaardighede rugsteun met opleiding en die genoemde kursusse op Coursera. Elke kompetisie het 'n sperdatum - dit sal as 'n aansporing vir jou dien en jou voorberei vir 'n soortgelyke stelsel in IT-maatskappye. Dit is 'n goeie manier - wat egter ook 'n bietjie geskei is van werklike prosesse. Op Kaggle kry jy vooraf verwerkte, hoewel nie altyd perfekte, data; moenie aanbied om na te dink oor die bydrae tot die produk nie; en die belangrikste, hulle benodig nie oplossings wat geskik is vir produksie nie. Jou algoritmes sal waarskynlik werk en hoogs akkuraat wees, maar jou modelle en kode sal soos Frankenstein wees wat uit verskillende dele saamgestik is - in 'n produksieprojek sal die hele struktuur te stadig werk, dit sal moeilik wees om op te dateer en uit te brei (byvoorbeeld, taal- en stemalgoritmes sal altyd gedeeltelik herskryf word soos die taal ontwikkel). Maatskappye stel belang in die feit dat die werk wat gelys word nie net deur u self gedoen kan word nie (dit is duidelik dat u, as die outeur van die oplossing, dit kan doen), maar ook deur enige van u kollegas. Die verskil tussen sport- en industriële programmering word bespreek много, en Kaggle voed presies "atlete" op - al doen dit dit baie goed, wat hulle toelaat om 'n bietjie ervaring op te doen.

Ek het twee moontlike ontwikkelingslyne beskryf - opleiding deur opvoedkundige programme en opleiding "in geveg", byvoorbeeld op Kaggle. Die verblyfprogram is 'n kombinasie van hierdie twee metodes. Lesings en seminare op die ShAD-vlak, sowel as werklik strydlustige projekte, wag op jou.

Bron: will.com

Voeg 'n opmerking