Programme résident Yandex, ou comment un backender expérimenté peut devenir un ingénieur ML

Programme résident Yandex, ou comment un backender expérimenté peut devenir un ingénieur ML

Yandex ouvre un programme de résidence en apprentissage automatique pour les développeurs backend expérimentés. Si vous avez beaucoup écrit en C++/Python et que vous souhaitez appliquer ces connaissances au ML, nous vous apprendrons à effectuer des recherches pratiques et vous fournirons des mentors expérimentés. Vous travaillerez sur les services clés de Yandex et acquerrez des compétences dans des domaines tels que les modèles linéaires et l'augmentation des gradients, les systèmes de recommandation et les réseaux de neurones pour l'analyse des images, du texte et du son. Vous apprendrez également à évaluer correctement vos modèles à l'aide de métriques hors ligne et en ligne.

La durée du programme est d'un an, pendant lequel les participants travailleront dans le département d'intelligence artificielle et de recherche de Yandex, ainsi qu'assisteront à des conférences et des séminaires. La participation est rémunérée et implique un travail à temps plein : 40 heures par semaine, à partir du 1er juillet de cette année. Les candidatures sont maintenant ouvertes et durera jusqu'au 1er mai. 

Et maintenant plus en détail - sur le type de public que nous attendons, quel sera le processus de travail et, en général, comment un spécialiste back-end peut passer à une carrière dans le ML.

Directivité

De nombreuses entreprises proposent des programmes de résidence, notamment Google et Facebook. Ils s'adressent principalement aux spécialistes juniors et intermédiaires qui tentent de faire un pas vers la recherche en ML. Notre programme s'adresse à un public différent. Nous invitons les développeurs back-end qui ont déjà acquis suffisamment d'expérience et savent avec certitude que dans leurs compétences, ils doivent s'orienter vers le ML, pour acquérir des compétences pratiques - et non celles d'un scientifique - pour résoudre des problèmes d'apprentissage automatique industriel. Cela ne veut pas dire que nous ne soutenons pas les jeunes chercheurs. Nous avons organisé un programme distinct pour eux - le prix du nom d'Ilya Segalovich, qui vous permet également de travailler dans Yandex.

Où le résident travaillera-t-il ?

Au Département d'intelligence artificielle et de recherche, nous développons nous-mêmes des idées de projets. La principale source d’inspiration est la littérature scientifique, les articles et les tendances de la communauté des chercheurs. Mes collègues et moi analysons ce que nous lisons, en cherchant comment nous pouvons améliorer ou élargir les méthodes proposées par les scientifiques. Dans le même temps, chacun de nous prend en compte son domaine de connaissances et d'intérêts, formule la tâche en fonction des domaines qu'il juge importants. L’idée d’un projet naît généralement à l’intersection des résultats d’une recherche externe et de ses propres compétences.

Ce système est bon car il résout en grande partie les problèmes technologiques des services Yandex avant même qu'ils ne surviennent. Lorsqu'un service est confronté à un problème, ses représentants viennent à nous, le plus souvent pour prendre les technologies que nous avons déjà préparées, dont il ne reste plus qu'à les appliquer correctement dans le produit. Si quelque chose n’est pas prêt, nous nous rappellerons au moins rapidement où nous pouvons « commencer à creuser » et dans quels articles chercher une solution. Comme nous le savons, la démarche scientifique consiste à se tenir sur les épaules de géants.

Ce qu'il faut faire

Chez Yandex - et même spécifiquement dans notre direction - tous les domaines pertinents du ML sont en cours de développement. Notre objectif est d'améliorer la qualité d'une grande variété de produits, ce qui nous incite à tester tout ce qui est nouveau. De plus, de nouveaux services apparaissent régulièrement. Le programme de cours contient donc tous les domaines clés (éprouvés) de l'apprentissage automatique dans le développement industriel. Lors de la rédaction de ma partie du cours, j'ai utilisé mon expérience d'enseignement à l'École d'analyse de données, ainsi que le matériel et le travail d'autres enseignants SHAD. Je sais que mes collègues ont fait de même.

Dans les premiers mois, la formation selon le programme de cours représentera environ 30 % de votre temps de travail, puis environ 10 %. Cependant, il est important de comprendre que travailler avec les modèles ML eux-mêmes continuera à prendre environ quatre fois moins de temps que tous les processus associés. Ceux-ci incluent la préparation du backend, la réception des données, l'écriture d'un pipeline pour le prétraiter, l'optimisation du code, l'adaptation à un matériel spécifique, etc. Un ingénieur ML est, si vous le souhaitez, un développeur full-stack (uniquement avec un plus grand accent sur l'apprentissage automatique) , capable de résoudre un problème du début à la fin. Même avec un modèle prêt à l'emploi, vous devrez probablement effectuer un certain nombre d'actions supplémentaires : paralléliser son exécution sur plusieurs machines, préparer une implémentation sous la forme d'un handle, d'une bibliothèque ou de composants du service lui-même.

Choix de l'étudiant
Si vous aviez l'impression qu'il vaut mieux devenir ingénieur ML en travaillant d'abord en tant que développeur backend, ce n'est pas vrai. S'inscrire dans le même ShAD sans réelle expérience dans le développement de services, l'apprentissage et devenir extrêmement demandé sur le marché est une excellente option. De nombreux spécialistes Yandex se sont retrouvés ainsi à leur poste actuel. Si une entreprise est prête à vous proposer un emploi dans le domaine du ML immédiatement après l'obtention de votre diplôme, vous devriez probablement également accepter l'offre. Essayez de faire partie d'une bonne équipe avec un mentor expérimenté et préparez-vous à apprendre beaucoup.

Qu’est-ce qui vous empêche généralement de faire du ML ?

Si un backender aspire à devenir ingénieur ML, il peut choisir entre deux domaines de développement - sans tenir compte du programme de résidence.

Tout d’abord, étudiez dans le cadre d’un cours éducatif. Les leçons Coursera vous rapprochera de la compréhension des techniques de base, mais pour s'immerger suffisamment dans le métier, il faut y consacrer beaucoup plus de temps. Par exemple, diplômé de ShAD. Au fil des ans, ShAD a proposé un nombre différent de cours directement sur l'apprentissage automatique - en moyenne environ huit. Chacun d'eux est vraiment important et utile, y compris de l'avis des diplômés. 

Deuxièmement, vous pouvez participer à des projets de combat dans lesquels vous devez implémenter l'un ou l'autre algorithme ML. Cependant, il existe très peu de projets de ce type sur le marché du développement informatique : l'apprentissage automatique n'est pas utilisé dans la plupart des tâches. Même dans les banques qui explorent activement les opportunités liées au ML, seules quelques-unes se consacrent à l’analyse des données. Si vous ne parvenez pas à rejoindre l'une de ces équipes, votre seule option est soit de démarrer votre propre projet (dans lequel, très probablement, vous fixerez vos propres délais, et cela n'a pas grand-chose à voir avec les tâches de production de combat), soit de commencer à concourir sur Kaggle.

En effet, faites équipe avec d'autres membres de la communauté et essayez-vous aux compétitions relativement facile - surtout si vous confortez vos compétences par des formations et les cours mentionnés sur Coursera. Chaque concours a une date limite - il vous servira d'incitation et vous préparera à un système similaire dans les entreprises informatiques. Il s’agit d’une bonne méthode, qui est cependant aussi un peu éloignée des processus réels. Sur Kaggle, vous recevez des données prétraitées, bien que pas toujours parfaites ; ne proposez pas de réfléchir à la contribution au produit ; et surtout, ils ne nécessitent pas de solutions adaptées à la production. Vos algorithmes fonctionneront probablement et seront très précis, mais vos modèles et votre code seront comme Frankenstein assemblés à partir de différentes parties - dans un projet de production, toute la structure fonctionnera trop lentement, il sera difficile de la mettre à jour et de l'étendre (par exemple, les algorithmes du langage et de la voix seront toujours partiellement réécrits au fur et à mesure du développement du langage). Les entreprises sont intéressées par le fait que les travaux répertoriés peuvent être effectués non seulement par vous-même (il est clair que vous, en tant qu'auteur de la solution, pouvez le faire), mais également par n'importe lequel de vos collègues. La différence entre les programmes sportifs et industriels est discutée много, et Kaggle éduque précisément les « athlètes » - même s'il le fait très bien, leur permettant d'acquérir une certaine expérience.

J'ai décrit deux axes de développement possibles : l'entraînement à travers des programmes pédagogiques et l'entraînement « au combat », par exemple sur Kaggle. Le programme de résidence est une combinaison de ces deux méthodes. Des conférences et séminaires de niveau ShAD, ainsi que des projets véritablement combatifs vous attendent.

Source: habr.com

Ajouter un commentaire