Os engenheiros de Machine Learning não existirão em 10 anos.

A paisagem está evoluindo rapidamente.




Nota: esta é uma peça de opinião, fique à vontade para compartilhar sua própria opinião para que possamos continuar a mover nosso campo na direção certa.
O Machine Learning fará a transição para uma parte comum do kit de ferramentas de todos os engenheiros de software.
Em todos os campos, temos papéis especializados nos primeiros dias, substituídos pelo papel comum ao longo do tempo. Parece que este é outro caso exatamente disso.
Vamos desfazer as malas.
O Engenheiro de Aprendizado de Máquina como um papel é uma consequência do hype massivo que alimenta chavões como IA e Ciência de Dados na empresa. Nos primeiros dias do aprendizado de máquina, era um papel muito necessário. E comandou um pequeno aumento salarial para muitos! Mas o Engenheiro de aprendizado de máquina assumiu muitas personalidades diferentes, dependendo de quem você pergunta.
Os puristas entre nós dizem que um engenheiro de aprendizado de máquina é alguém que tira modelos do laboratório e entra em produção. Eles escalam sistemas de aprendizado de máquina, transformam implementações de referência em software pronto para produção e, muitas vezes, passam para a engenharia de dados. Eles são tipicamente programadores fortes que também têm algum conhecimento fundamental dos modelos com os quais trabalham.
Mas isso parece muito com um engenheiro de software normal.
Pergunte a algumas das principais empresas de tecnologia o que o Machine Learning Engineer significa para elas e você pode obter 10 respostas diferentes de 10 participantes da pesquisa. Isso não deveria surpreender. Esse é um papel relativamente jovem e as pessoas que postam esses empregos são gerentes, muitas vezes por muitas décadas, que não têm tempo (ou vontade) para entender o espaço.
Aqui estão alguns requisitos das listagens de emprego de algumas das principais empresas de tecnologia, observe como elas diferem bastante:
Este primeiro é picante. Tem certeza de que não é um pesquisador? Como isso é um engenheiro de aprendizado de máquina?
  • Doutora em Matemática, Estatísticas, Pesquisa Operacional. Conhecimento de R, SQL e técnicas modernas de Machine Learning.
Este próximo é mais on-brand. E vem de cima, então não deve ser uma surpresa.
  • Bacharel ou MS em Ciência da Computação. 1 a 5 anos de trabalho ou experiência acadêmica em desenvolvimento de software. Exposição à visão computacional, PNL, etc.
E, finalmente, detalhando sua postagem estereotipada do ML Engineer.
  • Bacharel em Ciência da Computação. 3 anos ou mais construindo sistemas de Machine Learning de produção e código eficiente. Experiência com Big Data uma vantagem.
Algumas empresas começaram uma nova abordagem e acho que a maioria seguirá. A abordagem é listar uma função de Engenharia de Software com exposição ao Machine Learning como um requisito básico + alguns anos de experiência como uma qualificação preferida. Os empregadores preferem engenheiros com experiência em sistemas de construção e dimensionamento, independentemente de terem sido baseados no Machine Learning ou em alguma outra tecnologia.
O Engenheiro de Aprendizado de Máquina é necessário desde que o entendimento do Aprendizado de Máquina seja raro e tenha uma alta barreira à entrada.
É minha convicção sincera que o papel de Engenheiro de Aprendizado de Máquina será assumido inteiramente pelo engenheiro de software comum. Ele fará a transição para uma função de engenharia padrão, na qual o engenheiro obterá uma implementação de especificação ou referência de alguém upstream, transformará em código de produção e enviará e dimensionará aplicativos.
Por enquanto, muitas das funções de aprendizado de máquina existem nesse espaço estranho, onde estamos atacando problemas com ML que ainda não haviam sido atacados antes. Por consequência, os engenheiros da ML são, em muitos casos, meio pesquisador, meio engenheiro. Encontrei meu quinhão de Engenheiros de Aprendizado de Máquina que jogam em toda a pilha. Encontrei outras pessoas com habilidades mais limitadas, mas que passam mais tempo lendo novos trabalhos de pesquisa e transformando-os em código utilizável.
Estamos em uma encruzilhada estranha, onde definimos onde os membros de nossas equipes se encaixam no quebra-cabeça.
Em consequência da maneira como trabalhamos, tendemos a nos envolver em discussões e a participar de reuniões, independentemente de ser essencial para nossos conhecimentos. Aceitamos todo e qualquer convite para reunião ... É minha opinião que o Engenheiro de aprendizado de máquina pertence ao final da criação de uma implementação de referência e, em seguida, é responsável por transformar tudo isso em código de produção.
Daqui a pouco, a maioria das empresas terá pouca necessidade de esforços de pesquisa para levar seus projetos à linha de chegada. Somente casos de uso de nicho e esforços técnicos profundos exigirão um conjunto de habilidades especial. Os engenheiros consumirão APIs e o mundo seguirá em frente; O Machine Learning se tornando uma ferramenta comum em todos os novos kits de ferramentas de engenharia. Já estamos vendo isso à medida que mais e mais exposição ao Machine Learning entra nas universidades. Vá para um curso de Aprendizado de Máquina em uma universidade e ele está lotado. Quase todos os graduados deixarão a universidade com alguma exposição ao campo.
Podemos fazer uma analogia com o Blockchain, onde o Engenheiro de Sistemas Distribuídos se tornou quente. A grande maioria dos projetos Blockchain desde o white paper de Nakamoto vem se esforçando na construção da tecnologia e infraestrutura fundamentais. Para fazer isso, era necessário ter habilidades de engenharia incrivelmente fortes, geralmente descritas como Engenheiro de Sistemas Distribuídos. Você está finalmente vendo uma mudança em que as coisas estão ficando abstratas, as empresas estão começando a encontrar casos de uso, e o engenheiro cotidiano agora pode criar novos casos de uso usando blockchain. Estamos vendo a mesma mudança geral na IA / ML.

Alguns pontos de contador válidos

  • É possível que o tema do Vale do Silício de “Uma API para governar todos eles” seja um monte de falsos e o Machine Learning sempre exija algum grau de personalização no nível da infraestrutura. É minha opinião que o que o HuggingFace é para a PNL acontecerá com todos os outros domínios.Poderemos conquistar a maioria dos casos de uso com uma API simples.
  • “É apenas um cara de título. Engenheiro de Aprendizado de Máquina significa apenas alguém com um background mais pesado em matemática e estatísticas do que o seu graduado médio em CS. ” Concordo plenamente. É apenas um título. Mas se esse papel não for mais necessário, o título existe? Mas você está certo, é apenas um título.
  • “Na minha organização, não é isso que significa o Machine Learning Engineer.” Deixe-me saber o que isso significa para sua organização para que eu possa aprender. Estou constantemente pesquisando o campo para entender onde as coisas estão e para onde estão indo. Eu adoraria ouvir sua perspectiva.
  • “É apenas um título. Quem se importa?" Você está certo, mas é divertido considerar de qualquer maneira.
Uma das minhas respostas favoritas ao artigo, da Varii no Twitter:
“Como você disse, é um título. A maioria dos empregadores espera que você tenha habilidades sobrepostas. Sinto que, no final, não se trata de quem é exterminado, é sobre quem é versátil o suficiente para se adaptar constantemente à indústria em constante mudança. ”
Toneladas de grande contribuição da comunidade em geral que estou aprendendo. Mas minha opinião nunca mudará de uma coisa: se você é apaixonado por alguma coisa, não importa o que aconteça com um título, um campo ou uma tendência, sempre haverá um lugar para você seguir sua paixão e se manter legal coisas.
Fique seguro e construa!


Comentários

Postagens mais visitadas deste blog

SE MARAVILHAR COM AS COISAS DA VIDA

Dilemas econômicos: Teorema de Arrow

SQL em escala com o Apache Spark SQL e DataFrames - conceitos, arquitetura e exemplos