
Yandex ouvre un programme d'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 en ML, nous vous apprendrons comment faire des recherches pratiques et sélectionner des conservateurs expérimentés. Vous travaillerez sur des services Yandex clés et acquerrez des compétences dans des domaines tels que les modèles linéaires et l'augmentation de gradient, les systèmes de recommandation, les réseaux de neurones pour analyser les images, le texte et le son. Vous apprendrez également à évaluer correctement vos modèles à l'aide de mesures hors ligne et en ligne.
La durée du programme est d'un an, au cours de laquelle les participants travailleront au Département de l'intelligence artificielle et de la recherche Yandex, ainsi qu'à des conférences et des séminaires. La participation est payante et suppose le plein emploi: 40 heures par semaine, à partir du 1er juillet de cette année.
Les candidatures sont déjà ouvertes et dureront jusqu'au 1er mai.
Et maintenant, plus en détail - sur le type de public que nous attendons, quel sera le flux de travail et en général, comment un spécialiste du backend pour passer à une carrière en ML.
Directivité
De nombreuses entreprises ont des programmes de résidence, y compris, par exemple, Google et Facebook. Ils sont principalement destinés aux spécialistes de niveau junior et intermédiaire qui tentent de progresser vers la recherche en ML. Notre programme s'adresse à un public différent. Nous invitons les développeurs backend qui ont déjà acquis suffisamment d'expérience et savent avec certitude que dans leurs compétences, ils doivent évoluer vers le ML, acquérir des compétences pratiques - et non les compétences des scientifiques - pour résoudre les problèmes industriels de l'apprentissage automatique. Cela ne signifie pas que nous ne soutenons pas les jeunes chercheurs. Pour eux, nous avons organisé un programme distinct -
le prix Ilya Segalovich, qui vous permet également de travailler chez Yandex.
Où le résident doit travailler
Nous, dans la gestion de l'intelligence machine et de la recherche, 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 dans la communauté des chercheurs. Mes collègues et moi analysons ce que nous lisons, voyons comment il est possible d'améliorer ou d'étendre les méthodes proposées par les scientifiques. Dans le même temps, chacun de nous prend en compte son domaine de connaissances et ses intérêts, formule le problème en fonction de domaines que nous considérons importants. A la jonction des résultats de la recherche externe et de leurs propres compétences, l'idée d'un projet est généralement née.
Un tel système est bon en ce qu'il résout largement les problèmes technologiques des services Yandex avant même qu'ils ne surviennent. Lorsqu'un problème survient avant un service, ses représentants viennent à nous, très probablement, pour prendre des technologies déjà préparées par nous, qui ne peuvent être correctement appliquées dans le produit. Si quelque chose n'est pas prêt, nous nous rappellerons au moins rapidement où vous pouvez «commencer à creuser», dans quels articles chercher une solution. Comme vous le savez, l'approche scientifique consiste à se tenir sur les épaules des géants.
Que faire
Chez Yandex - et même spécifiquement dans notre direction - toutes les directions ML actuelles se développent. Notre tâche consiste à améliorer la qualité d'une grande variété de produits, ce qui incite à tester tout ce qui est nouveau. De plus, de nouveaux services apparaissent régulièrement. Ainsi, dans le programme de cours, il y a tous les domaines clés (bien établis) de l'apprentissage automatique dans le développement industriel. En compilant ma partie du cours, j'ai utilisé l'expérience d'enseignement à la School of Data Analysis, ainsi que le matériel et les développements d'autres enseignants SHAD. Je sais que mes collègues ont fait de même.
Au cours des premiers mois, la formation sur 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 que tous les processus associés. Ceux-ci incluent la préparation d'un backend, la réception de données, l'écriture d'un pipeline pour leur prétraitement, l'optimisation du code, l'adaptation à du matériel spécifique, etc. Un ingénieur ML est, si vous voulez, un développeur fullstack (uniquement avec un grand biais dans l'apprentissage automatique), capable de résoudre le problème du début à la fin. Même avec un modèle prêt à l'emploi, vous devrez certainement effectuer un certain nombre d'actions: paralléliser son exécution sur plusieurs machines, préparer une implémentation sous la forme d'un stylo, d'une bibliothèque ou d'un composant du service lui-même.
Choix des étudiants
Si vous avez l'impression qu'il vaut mieux s'adresser aux ingénieurs ML en travaillant d'abord en tant que développeur backend, ce n'est pas le cas. Entrer dans le même SHAD sans réelle expérience dans le développement de services, apprendre et devenir extrêmement populaire sur le marché est une excellente option. De nombreux experts de Yandex occupaient ainsi leurs postes actuels. Si une entreprise est prête à vous proposer un emploi dans le domaine du ML immédiatement après l'obtention de son diplôme, cela vaut probablement la peine d'accepter l'offre. Essayez de former une bonne équipe avec un mentor expérimenté et préparez-vous à apprendre beaucoup.
Ce qui interfère généralement avec le ML
Si le backender veut devenir ingénieur ML, il - sans tenir compte du programme résident - peut choisir entre deux directions de développement.
Tout d'abord, étudier dans le cadre d'un cursus pédagogique.
Les cours de Coursera vous rapprocheront de la compréhension des techniques de base, mais pour vous immerger suffisamment dans la profession, vous devez y consacrer beaucoup plus de temps. Par exemple, terminez le SHAD. Au cours des différentes années, il y avait un nombre différent de cours directement sur l'apprentissage automatique dans ShAD - environ huit en moyenne. Chacun d'eux est vraiment important et utile, y compris selon les diplômés.
Deuxièmement, vous pouvez participer à des projets de combat où il est nécessaire de mettre en œuvre 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 BC, rares sont celles qui font l'analyse des données. Si vous ne parvenez pas à rejoindre l'une de ces équipes, vous devez soit lancer votre propre projet (où, très probablement, vous fixerez vous-même les délais, ce qui n'a pas grand-chose à voir avec les tâches de production de combat), soit commencer à participer à Kaggle.
En effet, faire équipe avec d'autres membres de la communauté et vous essayer dans les concours est
relativement facile - surtout si vous renforcez vos compétences avec la formation et les cours mentionnés à Coursera. Chaque concours a une date limite - il vous servira d'incitation et préparera un système similaire dans les entreprises informatiques. C'est un bon moyen - qui, cependant, est également un peu séparé des processus réels. Chez Kaggle, vous recevez des données prétraitées, mais pas toujours parfaites; Ne proposez pas de penser à la contribution au produit; et surtout, ils ne nécessitent pas de solutions adaptées à la production. Vos algorithmes se révéleront probablement utilisables et auront une grande précision, mais vos modèles et votre code ressembleront à des pièces cousues de différentes parties de Frankenstein - dans un projet de combat, toute cette construction fonctionnera trop lentement, sera difficile à mettre à jour et à développer (par exemple, les algorithmes de langage et de voix sont toujours correspondent en partie au développement de la langue). Les entreprises sont intéressées par le fait que non seulement vous pouvez faire le travail ci-dessus (il est clair que vous, en tant qu'auteur de la solution, pouvez le faire), mais aussi n'importe lequel de vos collègues.
On a beaucoup parlé de la différence entre la programmation sportive et la programmation industrielle, et Kaggle éduque précisément les «athlètes» - même s'il le fait très bien, lui permettant d'acquérir une partie de l'expérience.
J'ai décrit deux axes de développement possibles - la formation par le biais de programmes éducatifs et la formation "au combat", par exemple sur Kaggle. Le programme résident est une combinaison de ces deux méthodes. Des conférences et séminaires de niveau SHAD vous attendent, ainsi que de véritables projets de combat.