Yandex Resident Program, of hoe't in betûfte backender in ML-yngenieur kin wurde

Yandex Resident Program, of hoe't in betûfte backender in ML-yngenieur kin wurde

Yandex iepenet in residinsjeprogramma yn masine learen foar betûfte backend-ûntwikkelders. As jo ​​​​in protte yn C++/Python skreaun hawwe en dizze kennis wolle tapasse op ML, dan sille wy jo leare hoe't jo praktysk ûndersyk dwaan kinne en betûfte mentors leverje. Jo sille wurkje oan wichtige Yandex-tsjinsten en feardigens krije yn gebieten lykas lineêre modellen en gradientfergrutting, oanbefellingssystemen, neurale netwurken foar it analysearjen fan ôfbyldings, tekst en lûd. Jo sille ek leare hoe't jo jo modellen goed evaluearje kinne mei metriken offline en online.

De doer fan it programma is ien jier, wêryn dielnimmers sille wurkje yn 'e masine-yntelliginsje- en ûndersyksôfdieling fan Yandex, en ek bywenje lêzingen en seminars. Meidwaan is betelle en giet om foltiids wurk: 40 oeren yn 'e wike, fan 1 july fan dit jier ôf. Oanfragen binne no iepen en duorret oant 1 maaie. 

En no yn mear detail - oer wat foar publyk wy wachtsje op, wat it wurk proses sil wêze en, yn it algemien, hoe't in back-end spesjalist kin oerstappe nei in karriêre yn ML.

Fokus

In protte bedriuwen hawwe Residency Programs, ynklusyf, bygelyks, Google en Facebook. Se binne benammen rjochte op junior en mid-level spesjalisten dy't besykje te nimmen in stap nei ML ûndersyk. Us programma is foar in oar publyk. Wy noegje backend-ûntwikkelders út dy't al genôch ûnderfining opdien hawwe en wis witte dat se yn har kompetinsjes moatte ferskowe nei ML, om praktyske feardigens te krijen - en net de feardigens fan in wittenskipper - by it oplossen fan yndustriële masine-learenproblemen. Dit betsjut net dat wy jonge ûndersikers net stypje. Wy hawwe in apart programma foar harren organisearre - premium neamd nei Ilya Segalovich, wêrmei jo ek kinne wurkje yn Yandex.

Wêr sil de ynwenner wurkje?

Yn 'e ôfdieling Machine Intelligence and Research ûntwikkelje wy sels projektideeën. De wichtichste boarne fan ynspiraasje is wittenskiplike literatuer, artikels en trends yn 'e ûndersyksmienskip. Myn kollega's en ik analysearje wat wy lêze, en sjogge nei hoe't wy de troch wittenskippers foarstelde metoaden kinne ferbetterje of útwreidzje. Tagelyk nimt elk fan ús rekken mei syn gebiet fan kennis en belangen, formulearret de taak basearre op de gebieten dy't hy wichtich fynt. It idee foar in projekt wurdt meastal berne op it krúspunt fan de resultaten fan ekstern ûndersyk en de eigen kompetinsjes.

Dit systeem is goed, om't it foar in grut part de technologyske problemen fan Yandex-tsjinsten oplost noch foardat se ûntsteane. As in tsjinst in probleem hat, komme har fertsjintwurdigers nei ús, nei alle gedachten om de technologyen te nimmen dy't wy al hawwe taret, wat alles oerbliuwt is om korrekt tapast te wurden yn it produkt. As der wat net klear is, sille wy teminsten fluch ûnthâlde wêr't wy kinne "begjinne te graven" en yn hokker artikels om in oplossing te sykjen. As wy witte, is de wittenskiplike oanpak om op 'e skouders fan reuzen te stean.

Wat te dwaan

By Yandex - en sels spesifyk yn ús behear - wurde alle relevante gebieten fan ML ûntwikkele. Us doel is om de kwaliteit fan in breed ferskaat oan produkten te ferbetterjen, en dit tsjinnet as in stimulâns om alles nij te testen. Dêrneist ferskine geregeldwei nije tsjinsten. Dat it lêzingsprogramma befettet alle wichtige (goed bewiisde) gebieten fan masine learen yn yndustriële ûntwikkeling. By it gearstallen fan myn diel fan 'e kursus brûkte ik myn learûnderfining oan' e School of Data Analysis, lykas it materiaal en it wurk fan oare SHAD-leararen. Ik wit dat myn kollega's itselde diene.

Yn 'e earste moannen sil oplieding neffens it kursusprogramma sawat 30% fan jo wurktiid útmeitsje, dêrnei sa'n 10%. It is lykwols wichtich om te begripen dat it wurkjen mei de ML-modellen sels sawat fjouwer kear minder sil bliuwe as alle byhearrende prosessen. Dizze omfetsje it tarieden fan 'e backend, it ûntfangen fan gegevens, it skriuwen fan in pipeline foar it foarferwurkjen, it optimalisearjen fan koade, oanpasse oan spesifike hardware, ensfh. In ML-yngenieur is, as jo wolle, in folsleine-stack-ûntwikkelder (allinich mei in gruttere klam op masine learen) , yn steat om in probleem fan begjin oant ein op te lossen. Sels mei in ready-made model sille jo wierskynlik in oantal mear aksjes moatte dwaan: parallelisearje de útfiering oer ferskate masines, tariede in ymplemintaasje yn 'e foarm fan in handgreep, in bibleteek, of komponinten fan' e tsjinst sels.

Studint kar
As jo ​​​​ûnder de yndruk wiene dat it better is om in ML-yngenieur te wurden troch earst te wurkjen as in backend-ûntwikkelder, is dit net wier. Ynskriuwe yn deselde ShAD sûnder echte ûnderfining yn it ûntwikkeljen fan tsjinsten, learen en ekstreem yn fraach wurde op 'e merke is in poerbêste opsje. In protte Yandex-spesjalisten kamen op dizze manier yn har hjoeddeistige posysjes. As in bedriuw ree is om jo direkt nei it ôfstudearjen in baan oan te bieden op it mêd fan ML, moatte jo it oanbod wierskynlik ek akseptearje. Besykje yn in goed team te kommen mei in betûfte mentor en meitsje jo klear om in protte te learen.

Wat meastal foarkomt jo út in dwaan ML?

As in backender stribbet om in ML-yngenieur te wurden, kin hy kieze út twa gebieten fan ûntwikkeling - sûnder rekken te hâlden mei it residinsjeprogramma.

As earste, studearje as ûnderdiel fan wat edukative kursus. Lessen Coursera bringt jo tichter by it begripen fan 'e basistechniken, mar om jo yn it berop genôch te ferdjipjen, moatte jo der folle mear tiid oan besteegje. Bygelyks, ôfstudearje fan ShAD. Yn 'e rin fan' e jierren hie ShAD in oar oantal kursussen direkt oer masine learen - gemiddeld sawat acht. Elk fan harren is echt wichtich en nuttich, ek yn 'e miening fan ôfstudearden. 

As twadde kinne jo meidwaan oan fjochtsprojekten wêr't jo ien of oare ML-algoritme moatte ymplementearje. D'r binne lykwols heul pear sokke projekten op 'e IT-ûntwikkelingsmerk: masine learen wurdt net brûkt yn' e measte taken. Sels yn banken dy't aktyf ûndersykje ML-relatearre kânsen, binne mar in pear dwaande mei gegevensanalyse. As jo ​​​​net by ien fan dizze teams kinne meidwaan, is jo iennichste opsje om jo eigen projekt te begjinnen (wêr't jo wierskynlik jo eigen deadlines sille ynstelle, en dit hat net folle te meitsjen mei bestridingsproduksjetaken), of begjinne te konkurrearjen op Kaggle.

Gean yndied gear mei oare leden fan 'e mienskip en besykje josels yn kompetysjes relatyf maklik - benammen as jo in reservekopy meitsje fan jo feardichheden mei training en de neamde kursussen op Coursera. Elke kompetysje hat in deadline - it sil tsjinje as in stimulâns foar jo en tariede jo op in ferlykber systeem yn IT-bedriuwen. Dit is in goede manier - dy't lykwols ek in bytsje skieden is fan echte prosessen. Op Kaggle wurde jo foarbewurke, hoewol net altyd perfekt, gegevens jûn; biede net oan om nei te tinken oer de bydrage oan it produkt; en vooral, se net nedich oplossings geskikt foar produksje. Jo algoritmen sille wierskynlik wurkje en heul presys wêze, mar jo modellen en koade sille wêze lykas Frankenstein gearstald út ferskate dielen - yn in produksjeprojekt sil de heule struktuer te stadich wurkje, it sil lestich wêze om te aktualisearjen en út te wreidzjen (bygelyks, taal- en stimalgoritmen sille altyd foar in part herskreaun wurde as de taal ûntwikkelet). Bedriuwen binne ynteressearre yn it feit dat it neamde wurk net allinich troch jo sels dien wurde kin (it is dúdlik dat jo, as de skriuwer fan 'e oplossing, dit kinne dwaan), mar ek troch ien fan jo kollega's. It ferskil tusken sport en yndustriële programmearring wurdt besprutsen много, en Kaggle leart krekt "atleten" op - sels as it it heul goed docht, wêrtroch't se wat ûnderfining kinne ophelje.

Ik beskreau twa mooglike rigels fan ûntwikkeling - training troch edukative programma's en training "in combat", bygelyks op Kaggle. It ferbliuwsprogramma is in kombinaasje fan dizze twa metoaden. Lêzingen en seminars op it ShAD-nivo, lykas wirklik fjochtsjende projekten, wachtsje op jo.

Boarne: www.habr.com

Add a comment