Yandex Resident Program oder wie ein erfahrener Backender ein ML-Ingenieur werden kann

Yandex Resident Program oder wie ein erfahrener Backender ein ML-Ingenieur werden kann

Yandex eröffnet ein Residenzprogramm für maschinelles Lernen für erfahrene Backend-Entwickler. Wenn Sie viel in C++/Python geschrieben haben und dieses Wissen auf ML anwenden möchten, dann vermitteln wir Ihnen die praktische Recherche und stellen erfahrene Mentoren zur Verfügung. Sie arbeiten an wichtigen Yandex-Diensten und erwerben Kenntnisse in Bereichen wie linearen Modellen und Gradient Boosting, Empfehlungssystemen und neuronalen Netzen zur Analyse von Bildern, Text und Ton. Außerdem erfahren Sie, wie Sie Ihre Modelle mithilfe von Metriken offline und online richtig bewerten.

Die Dauer des Programms beträgt ein Jahr, in dem die Teilnehmer in der Abteilung für maschinelle Intelligenz und Forschung von Yandex arbeiten sowie Vorlesungen und Seminare besuchen. Die Teilnahme ist kostenpflichtig und beinhaltet eine Vollzeitbeschäftigung: 40 Stunden pro Woche, beginnend am 1. Juli dieses Jahres. Bewerbungen sind ab sofort möglich und dauert bis zum 1. Mai. 

Und nun ausführlicher – darüber, auf welche Zielgruppe wir warten, wie der Arbeitsprozess aussehen wird und wie ein Back-End-Spezialist im Allgemeinen zu einer Karriere im ML wechseln kann.

Direktivität

Viele Unternehmen verfügen über Residency-Programme, darunter beispielsweise Google und Facebook. Sie richten sich hauptsächlich an Nachwuchs- und Mittelstufenspezialisten, die einen Schritt in Richtung ML-Forschung machen möchten. Unser Programm richtet sich an ein anderes Publikum. Wir laden Backend-Entwickler ein, die bereits über genügend Erfahrung verfügen und sicher wissen, dass sie sich in ihren Kompetenzen auf ML verlagern müssen, um praktische Fähigkeiten – und nicht die Fähigkeiten eines Wissenschaftlers – bei der Lösung industrieller Probleme des maschinellen Lernens zu erwerben. Das bedeutet nicht, dass wir den wissenschaftlichen Nachwuchs nicht fördern. Für sie haben wir ein eigenes Programm organisiert - Der Preis benannt nach Ilya Segalovich, mit dem Sie auch in Yandex arbeiten können.

Wo wird der Bewohner arbeiten?

In der Abteilung Maschinelle Intelligenz und Forschung entwickeln wir selbst Projektideen. Die Hauptinspirationsquelle ist wissenschaftliche Literatur, Artikel und Trends in der Forschungsgemeinschaft. Meine Kollegen und ich analysieren, was wir lesen, und prüfen, wie wir die von Wissenschaftlern vorgeschlagenen Methoden verbessern oder erweitern können. Dabei berücksichtigt jeder von uns sein Wissens- und Interessengebiet, formuliert die Aufgabenstellung anhand der Bereiche, die er für wichtig hält. Die Idee für ein Projekt entsteht meist an der Schnittstelle zwischen den Ergebnissen externer Forschung und den eigenen Kompetenzen.

Dieses System ist gut, weil es die technologischen Probleme der Yandex-Dienste weitgehend löst, noch bevor sie entstehen. Wenn ein Dienst vor einem Problem steht, kommen seine Vertreter zu uns und nehmen höchstwahrscheinlich die Technologien mit, die wir bereits vorbereitet haben. Jetzt müssen wir sie nur noch korrekt im Produkt anwenden. Wenn etwas noch nicht fertig ist, merken wir uns zumindest schnell, wo wir „mit der Suche beginnen“ können und in welchen Artikeln wir nach einer Lösung suchen können. Wie wir wissen, besteht der wissenschaftliche Ansatz darin, auf den Schultern von Giganten zu stehen.

Was zu tun

Bei Yandex – und sogar speziell in unserem Management – ​​werden alle relevanten Bereiche des ML entwickelt. Unser Ziel ist es, die Qualität unterschiedlichster Produkte zu verbessern, und dies dient als Ansporn, alles Neue zu testen. Darüber hinaus erscheinen regelmäßig neue Dienste. Das Vorlesungsprogramm umfasst daher alle wichtigen (bewährten) Bereiche des maschinellen Lernens in der industriellen Entwicklung. Bei der Zusammenstellung meines Teils des Kurses habe ich meine Lehrerfahrung an der School of Data Analysis sowie die Materialien und Arbeiten anderer SHAD-Lehrer genutzt. Ich weiß, dass meine Kollegen das Gleiche getan haben.

In den ersten Monaten nimmt die Ausbildung nach Kursprogramm ca. 30 % Ihrer Arbeitszeit ein, danach ca. 10 %. Es ist jedoch wichtig zu verstehen, dass die Arbeit mit den ML-Modellen selbst weiterhin etwa viermal weniger in Anspruch nehmen wird als alle damit verbundenen Prozesse. Dazu gehören die Vorbereitung des Backends, der Empfang von Daten, das Schreiben einer Pipeline zur Vorverarbeitung, die Optimierung von Code, die Anpassung an bestimmte Hardware usw. Ein ML-Ingenieur ist, wenn man so will, ein Full-Stack-Entwickler (nur mit einem größeren Schwerpunkt auf maschinellem Lernen). , fähig, ein Problem von Anfang bis Ende zu lösen. Selbst mit einem vorgefertigten Modell müssen Sie wahrscheinlich noch eine Reihe weiterer Aktionen ausführen: die Ausführung auf mehreren Maschinen parallelisieren, eine Implementierung in Form eines Handles, einer Bibliothek oder Komponenten des Dienstes selbst vorbereiten.

Studentenwahl
Wenn Sie den Eindruck hatten, dass es besser ist, ML-Ingenieur zu werden, indem man zunächst als Backend-Entwickler arbeitet, dann stimmt das nicht. Es ist eine hervorragende Option, sich beim gleichen ShAD anzumelden, ohne wirkliche Erfahrung in der Entwicklung von Dienstleistungen zu haben, zu lernen und auf dem Markt extrem gefragt zu werden. Viele Yandex-Spezialisten gelangten auf diese Weise zu ihren aktuellen Positionen. Wenn ein Unternehmen bereit ist, Ihnen direkt nach Ihrem Abschluss einen Job im Bereich ML anzubieten, sollten Sie das Angebot wahrscheinlich auch annehmen. Versuchen Sie, mit einem erfahrenen Mentor in ein gutes Team zu kommen und bereiten Sie sich darauf vor, viel zu lernen.

Was hindert Sie normalerweise daran, ML zu betreiben?

Wenn ein Backender eine Karriere als ML-Ingenieur anstrebt, kann er – ohne Berücksichtigung des Residency-Programms – zwischen zwei Entwicklungsbereichen wählen.

Studieren Sie zunächst im Rahmen eines Bildungskurses. Unterricht Coursera bringt Ihnen das Verständnis der grundlegenden Techniken näher, aber um ausreichend in den Beruf einzutauchen, müssen Sie viel mehr Zeit darauf verwenden. Machen Sie beispielsweise einen Abschluss an der ShAD. Im Laufe der Jahre gab es bei ShAD unterschiedlich viele Kurse direkt zum maschinellen Lernen – im Durchschnitt etwa acht. Jeder von ihnen ist wirklich wichtig und nützlich, auch nach Meinung der Absolventen. 

Zweitens können Sie an Kampfprojekten teilnehmen, bei denen Sie den einen oder anderen ML-Algorithmus implementieren müssen. Allerdings gibt es auf dem IT-Entwicklungsmarkt nur sehr wenige solcher Projekte: Bei den meisten Aufgaben kommt maschinelles Lernen nicht zum Einsatz. Selbst in Banken, die aktiv Möglichkeiten im Zusammenhang mit Geldwäsche erkunden, beschäftigen sich nur wenige mit der Datenanalyse. Wenn Sie nicht in der Lage waren, einem dieser Teams beizutreten, besteht Ihre einzige Möglichkeit darin, entweder Ihr eigenes Projekt zu starten (wobei Sie höchstwahrscheinlich Ihre eigenen Fristen festlegen werden, und dies hat wenig mit Kampfproduktionsaufgaben zu tun) oder mit dem Wettbewerb zu beginnen Kaggle.

Schließen Sie sich tatsächlich mit anderen Community-Mitgliedern zusammen und nehmen Sie an Wettbewerben teil relativ einfach - vor allem, wenn Sie Ihre Fähigkeiten durch Schulungen und die genannten Kurse auf Coursera untermauern. Jeder Wettbewerb hat eine Frist – er dient Ihnen als Anreiz und bereitet Sie auf ein ähnliches System in IT-Unternehmen vor. Das ist ein guter Weg – der allerdings auch ein wenig von realen Prozessen abgekoppelt ist. Auf Kaggle erhalten Sie vorverarbeitete, wenn auch nicht immer perfekte Daten; Bieten Sie nicht an, über den Beitrag zum Produkt nachzudenken; und vor allem erfordern sie keine produktionstauglichen Lösungen. Ihre Algorithmen werden wahrscheinlich funktionieren und sehr genau sein, aber Ihre Modelle und Ihr Code werden wie Frankenstein aus verschiedenen Teilen zusammengesetzt sein – in einem Produktionsprojekt wird die gesamte Struktur zu langsam arbeiten, es wird schwierig sein, sie zu aktualisieren und zu erweitern (z. B. Sprach- und Sprachalgorithmen werden im Zuge der Sprachentwicklung immer teilweise neu geschrieben). Unternehmen sind daran interessiert, dass die aufgeführten Arbeiten nicht nur von Ihnen selbst erledigt werden können (es ist klar, dass Sie als Autor der Lösung dies tun können), sondern auch von einem Ihrer Kollegen. Der Unterschied zwischen Sport- und Industrieprogrammen wird diskutiert много, und Kaggle bildet genau „Sportler“ aus – auch wenn es das sehr gut macht und ihnen ermöglicht, Erfahrungen zu sammeln.

Ich habe zwei mögliche Entwicklungslinien beschrieben – Training durch Bildungsprogramme und Training „im Kampf“, zum Beispiel auf Kaggle. Das Residenzprogramm ist eine Kombination dieser beiden Methoden. Es erwarten Sie Vorträge und Seminare auf ShAD-Niveau sowie wirklich kämpferische Projekte.

Source: habr.com

Kommentar hinzufügen