Programa residente Yandex ou Como um back-end experiente se tornar um engenheiro de ML



O Yandex abre um programa de aprendizado de máquina residente para desenvolvedores de back-end experientes. Se você escreveu muito em C ++ / Python e deseja aplicar esse conhecimento no ML, ensinaremos como fazer pesquisas práticas e selecionar curadores experientes. Você trabalhará nos principais serviços Yandex e adquirirá habilidades em áreas como modelos lineares e aumento de gradiente, sistemas de recomendação, redes neurais para analisar imagens, texto e som. Você também aprenderá como avaliar adequadamente seus modelos usando métricas offline e online.

A duração do programa é de um ano, durante o qual os participantes trabalharão no Departamento de Inteligência de Máquinas e Pesquisa Yandex, além de assistirem a palestras e seminários. A participação é paga e assume o emprego pleno: 40 horas por semana, a partir de 1º de julho deste ano. As inscrições já estão abertas e durarão até 1º de maio.

E agora com mais detalhes - sobre que tipo de público estamos esperando, qual será o fluxo de trabalho e, em geral, como um especialista de back-end pode mudar para uma carreira na ML.

Diretividade


Muitas empresas possuem programas de residência, incluindo, por exemplo, Google e Facebook. Eles são direcionados principalmente a especialistas de nível júnior e intermediário que estão tentando avançar para a pesquisa em ML. Nosso programa é para um público diferente. Convidamos desenvolvedores de back-end que já adquiriram experiência suficiente e sabem com certeza que em suas competências precisam avançar para o ML, obter habilidades práticas - e não as habilidades do cientista - na solução de problemas industriais de aprendizado de máquina. Isso não significa que não apoiamos jovens pesquisadores. Para eles, organizamos um programa separado - o Prêmio Ilya Segalovich, que também permite que você trabalhe no Yandex.

Onde o residente irá trabalhar


Nós, no gerenciamento de inteligência e pesquisa de máquinas, desenvolvemos idéias de projetos. A principal fonte de inspiração é literatura científica, artigos e tendências na comunidade de pesquisa. Meus colegas e eu analisamos o que lemos, ver como é possível melhorar ou expandir os métodos propostos pelos cientistas. Ao mesmo tempo, cada um de nós leva em conta nossa área de conhecimento e interesses, formula o problema com base nas áreas que consideramos importantes. Na junção dos resultados da pesquisa externa e de suas próprias competências, geralmente nasce a idéia de um projeto.

Esse sistema é bom, pois resolve amplamente os problemas tecnológicos dos serviços Yandex, mesmo antes de eles surgirem. Quando surge um problema antes de um serviço, seus representantes vêm até nós, provavelmente, para usar tecnologias já preparadas por nós, que somente podem ser aplicadas corretamente no produto. Se algo não estiver pronto, pelo menos rapidamente lembraremos de onde você pode "começar a cavar", em quais artigos procurar uma solução. Como você sabe, a abordagem científica é apoiar-se nos gigantes.

O que fazer


No Yandex - e mesmo especificamente em nossa administração - todas as instruções atuais de ML estão sendo desenvolvidas. Nossa tarefa é melhorar a qualidade de uma ampla variedade de produtos, e isso serve como um incentivo para testar tudo o que há de novo. Além disso, novos serviços aparecem regularmente. Portanto, no programa de palestras, existem todas as áreas-chave (bem estabelecidas) do aprendizado de máquina no desenvolvimento industrial. Ao compilar minha parte do curso, usei a experiência de ensino da Escola de Análise de Dados, bem como os materiais e desenvolvimentos de outros professores do SHAD. Eu sei que meus colegas fizeram o mesmo.

Nos primeiros meses, o treinamento no programa do curso será de aproximadamente 30% do seu tempo de trabalho, depois de cerca de 10%. No entanto, é importante entender que trabalhar com os próprios modelos de ML continuará a levar cerca de quatro vezes menos que todos os processos associados. Isso inclui a preparação de um back-end, o recebimento de dados, a criação de um pipeline para seu pré-processamento, a otimização do código, a adaptação a hardware específico etc. Um engenheiro de ML é, se você desejar, um desenvolvedor fullstack (apenas com um grande viés no aprendizado de máquina), capaz de resolver o problema do começo ao fim. Mesmo com um modelo pronto, você certamente precisará executar várias ações: paralelizar sua execução em várias máquinas, preparar uma implementação na forma de uma caneta, biblioteca ou componente do próprio serviço.

Escolha do aluno
Se você tem a impressão de que é melhor recorrer aos engenheiros de ML trabalhando primeiro como desenvolvedor de back-end, não é assim. Entrar no mesmo SHAD sem experiência real no desenvolvimento de serviços, aprender e se tornar extremamente popular no mercado é uma excelente opção. Muitos especialistas da Yandex estavam em suas posições atuais dessa maneira. Se alguma empresa estiver pronta para lhe oferecer um emprego na área de ML imediatamente após a graduação, provavelmente vale a pena aceitar a oferta. Tente entrar em uma boa equipe com um mentor experiente e prepare-se para aprender muito.

O que geralmente interfere no ML


Se o backender quiser se tornar um engenheiro de ML, ele - sem levar em conta o programa residente - pode escolher entre duas direções de desenvolvimento.

Primeiramente, estudar como parte de um curso educacional. As lições do Coursera o aproximarão da compreensão das técnicas básicas, mas para mergulhar na profissão o suficiente, você precisará dedicar muito mais tempo a ela. Por exemplo, termine o SHAD. Em anos diferentes, havia um número diferente de cursos diretamente em aprendizado de máquina no ShAD - em média, cerca de oito. Cada um deles é realmente importante e útil, inclusive de acordo com os graduados.

Em segundo lugar, você pode participar de projetos de combate nos quais é necessário implementar um ou outro algoritmo ML. No entanto, existem muito poucos projetos no mercado de desenvolvimento de TI: o aprendizado de máquina não é usado na maioria das tarefas. Mesmo em bancos que estão explorando ativamente oportunidades relacionadas a BC, poucos fazem análise de dados. Se você não conseguir ingressar em uma dessas equipes, terá que iniciar seu próprio projeto (onde, provavelmente, você mesmo definirá os prazos e isso tem pouco a ver com as tarefas de produção de combate) ou comece a competir no Kaggle.

De fato, fazer parceria com outros membros da comunidade e participar de concursos é relativamente fácil - especialmente se você reforçar suas habilidades com o treinamento e os cursos mencionados no Coursera. Cada competição tem um prazo - servirá de incentivo para você e se preparará para um sistema semelhante nas empresas de TI. Essa é uma boa maneira - que, no entanto, também é um pouco divorciada dos processos reais. No Kaggle, você recebe dados pré-processados, embora nem sempre perfeitos; Não sugira pensar na contribuição para o produto; e o mais importante, eles não precisam de soluções adequadas para a produção. Seus algoritmos provavelmente serão viáveis ​​e terão alta precisão, mas seus modelos e códigos parecerão costurados em diferentes partes do Frankenstein - em um projeto de combate, toda essa construção funcionará muito lentamente, será difícil atualizar e expandir (por exemplo, algoritmos de linguagem e voz sempre corresponder parcialmente ao desenvolvimento da linguagem). As empresas estão interessadas no fato de que não apenas você pode executar o trabalho acima (é claro que você, como autor da solução, pode fazê-lo), mas também qualquer um de seus colegas. Muito se tem falado sobre a diferença entre programação esportiva e industrial, e Kaggle educa precisamente "atletas" - mesmo que ele faça isso muito bem, permitindo que ele ganhe parte da experiência.

Descrevi duas linhas de desenvolvimento possíveis - treinamento através de programas educacionais e treinamento "em batalha", por exemplo, no Kaggle. O programa residente é uma combinação desses dois métodos. Palestras e seminários do nível SHAD estão esperando por você, bem como projetos de combate verdadeiramente.

Source: https://habr.com/ru/post/pt446554/


All Articles