Yandex está abrindo um programa de residência em aprendizado de máquina para desenvolvedores de back-end experientes. Se você escreveu muito em C++/Python e deseja aplicar esse conhecimento ao ML, ensinaremos como fazer pesquisas práticas e forneceremos mentores 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 análise de 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 da Yandex, além de assistir a palestras e seminários. A participação é remunerada e envolve trabalho em tempo integral: 40 horas semanais, a partir de 1º de julho deste ano.
E agora com mais detalhes - sobre que tipo de público estamos esperando, qual será o processo de trabalho e, em geral, como um especialista back-end pode mudar para uma carreira em ML.
Diretividade
Muitas empresas possuem Programas de Residência, incluindo, por exemplo, Google e Facebook. Destinam-se principalmente a especialistas juniores e médios que estão tentando dar um passo em direção à pesquisa de 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 eles precisam mudar para o ML, para adquirir habilidades práticas - e não as habilidades de um cientista - na solução de problemas de aprendizado de máquina industrial. Isto não significa que não apoiemos jovens investigadores. Organizamos um programa separado para eles -
Onde o residente trabalhará?
No Departamento de Inteligência e Pesquisa de Máquinas, nós mesmos desenvolvemos ideias de projetos. A principal fonte de inspiração é a literatura científica, artigos e tendências da comunidade de pesquisa. Meus colegas e eu analisamos o que lemos, procurando como podemos melhorar ou expandir os métodos propostos pelos cientistas. Ao mesmo tempo, cada um de nós leva em consideração a sua área de conhecimento e interesses, formula a tarefa com base nas áreas que considera importantes. A ideia de um projeto normalmente nasce do cruzamento dos resultados de pesquisas externas e das próprias competências.
Este sistema é bom porque resolve em grande parte os problemas tecnológicos dos serviços Yandex, antes mesmo de eles surgirem. Quando um serviço enfrenta um problema, seus representantes vêm até nós, muito provavelmente para levar as tecnologias que já preparamos, restando apenas aplicá-las corretamente no produto. Se algo não estiver pronto, pelo menos lembraremos rapidamente onde podemos “começar a cavar” e em quais artigos procurar uma solução. Como sabemos, a abordagem científica consiste em apoiar-se nos ombros de gigantes.
O que fazer
Na Yandex - e mesmo especificamente na nossa gestão - todas as áreas relevantes do ML estão sendo desenvolvidas. Nosso objetivo é melhorar a qualidade dos mais diversos produtos, e isso serve de incentivo para testar tudo que há de novo. Além disso, novos serviços aparecem regularmente. Portanto, o programa de palestras contém todas as áreas-chave (comprovadas) do aprendizado de máquina no desenvolvimento industrial. Ao compilar minha parte do curso, utilizei minha experiência docente na Escola de Análise de Dados, bem como os materiais e trabalhos de outros professores do SHAD. Eu sei que meus colegas fizeram o mesmo.
Nos primeiros meses, a formação de acordo com o programa do curso representará cerca de 30% do seu tempo de trabalho, depois cerca de 10%. No entanto, é importante compreender que trabalhar com os próprios modelos de ML continuará a demorar aproximadamente quatro vezes menos do que todos os processos associados. Isso inclui preparar o back-end, receber dados, escrever um pipeline para pré-processá-los, otimizar código, adaptar-se a hardware específico, etc. Um engenheiro de ML é, se preferir, um desenvolvedor full-stack (apenas com maior ênfase em aprendizado de máquina) , capaz de resolver um problema do início ao fim. Mesmo com um modelo pronto, você provavelmente precisará realizar mais uma série de ações: paralelizar sua execução em diversas máquinas, preparar uma implementação na forma de um identificador, uma biblioteca ou componentes do próprio serviço.
Escolha do aluno
Se você tem a impressão de que é melhor se tornar um engenheiro de ML trabalhando primeiro como desenvolvedor back-end, isso não é verdade. Inscrever-se no mesmo ShAD sem experiência real em desenvolver serviços, aprender e ser extremamente requisitado no mercado é uma excelente opção. Muitos especialistas do Yandex acabaram em seus cargos atuais dessa forma. Se alguma empresa estiver pronta para lhe oferecer um emprego na área de ML imediatamente após a formatura, você provavelmente também deverá aceitar a oferta. Tente formar uma boa equipe com um mentor experiente e prepare-se para aprender muito.
O que geralmente impede você de fazer ML?
Se um backender deseja se tornar um engenheiro de ML, ele pode escolher entre duas áreas de desenvolvimento – sem levar em conta o programa de residência.
Em primeiro lugar, estude como parte de algum curso educacional.
Em segundo lugar, você pode participar de projetos de combate onde precisa implementar um ou outro algoritmo de ML. No entanto, existem muito poucos projetos desse tipo no mercado de desenvolvimento de TI: o aprendizado de máquina não é usado na maioria das tarefas. Mesmo nos bancos que exploram ativamente oportunidades relacionadas com o BC, apenas alguns estão envolvidos na análise de dados. Se você não conseguiu ingressar em uma dessas equipes, sua única opção é iniciar seu próprio projeto (onde, muito provavelmente, você definirá seus próprios prazos, e isso tem pouco a ver com tarefas de produção de combate) ou começar a competir em Kaggle.
Na verdade, junte-se a outros membros da comunidade e experimente competições
Descrevi duas possíveis linhas de desenvolvimento - treinamento por meio de programas educacionais e treinamento “em combate”, por exemplo, no Kaggle. O programa de residência é uma combinação desses dois métodos. Palestras e seminários no nível ShAD, bem como projetos verdadeiramente combativos, esperam por você.
Fonte: habr.com