Carreiras em Machine Learning: o Presente e o Futuro

Carreiras em Machine Learning: o Presente e o Futuro

Essa edição da coluna Beyond the Horizon é dedicada a expandir o horizonte, principalmente dos alunos da computação, sobre carreiras em Machine Leaning, domínio da computação que está já permeando quase todos os aspectos da nossa vida e ainda com muito potencial para crescimento. 

Eu convidei um amigo, Cristiano Breuel, que vem contribuindo com seu trabalho para a evolução de Machine Learning dentro de grandes corporações. De uma maneira muito didática, Cristiano descreve vários caminhos possíveis para uma carreira nessa área.  Boa leitura!

Lara Piccolo – editora da coluna Beyond the Horizon


Carreiras em Machine Learning: o Presente e o Futuro

Por Cristiano Breuel

A Inteligência Artificial (IA) foi, por várias décadas, domínio quase exclusivo da pesquisa acadêmica. Nesta última década, entretanto, as técnicas de Machine Learning (ML) finalmente atingiram efetividade e praticidade suficientes para adoção em larga escala. Essa adoção, no entanto, ainda é incipiente: a maioria das organizações está em estágios iniciais de entendimento e proficiência nessas tecnologias.

O potencial para profissionais nessa área, portanto, é enorme [1]. Isso se reflete claramente no aumento de vagas de emprego e cursos de ML. A novidade do tema, no entanto, gera muitas dúvidas em quem pensa em seguir esse caminho. Quais são os papéis e cargos da área? O que se deve estudar? Qual será o futuro de uma carreira em ML?

Vou tentar responder essas perguntas, com base na minha experiência prática e no que temos de informação disponível. Para isso, vamos começar examinando o que torna ML diferente de outros campos da computação.

O que é Machine Learning 

(ou aprendizado automático, como é geralmente traduzido do inglês)

Durante quase toda a evolução do computador, pensamos nele como uma máquina que executa nossos comandos, de forma exata e infalível. O foco esteve em algoritmos, desenvolvidos pela capacidade analítica de seus criadores e com resultados garantidos por provas matemáticas. Essa abordagem foi extremamente bem sucedida e nos trouxe até aqui, mas ainda existem muitos problemas que são complexos ou incertos demais para serem resolvidos de forma analítica. Muitos deles são coisas que humanos fazem bem, como identificar objetos e entender linguagem natural.

Para avançar sobre esses problemas, precisamos abandonar a abordagem puramente algorítmica e fazer com que os computadores desenvolvam habilidades da mesma forma que humanos: aprendendo com exemplos. E aí entra a diferença fundamental entre Machine Learning e outros domínios da Ciência da Computação: o comportamento do software não depende mais apenas do código, mas também dos dados que foram fornecidos no processo de treinamento.

Essa dependência dos dados cria um conjunto de problemas e necessidades adicionais aos que enfrentamos na ciência da computação tradicional. Com isso, surgiram também novos papéis e carreiras.

Vamos dar uma olhada no mercado atual de ML e em seus principais papéis.

Aplicações e mercado

Alguns dos mercados que mais utilizam ML hoje em dia são serviços online, marketing e serviços financeiros. Mas hoje já existem muitas aplicações práticas de ML no mercado e existe potencial em todas as indústrias. Algumas das aplicações mais comuns são:

  • Análise de clientes para decisões sobre concessão de crédito ou marketing; sistemas de recomendação de produtos e serviços e detecção de fraudes.
  • Previsão de demanda e otimização logística.
  • Análise de linguagem natural para direcionamento ou resposta automática (chatbots); transcrição de voz para texto; tradução entre idiomas.
  • Análise de imagens para detectar objetos ou pessoas; triagem de exames médicos de imagem e reconhecimento de texto e estrutura de documentos a partir de imagens.

O grande gargalo para uma adoção mais universalizada, hoje, não está na capacidade dos algoritmos ou dos sistemas, mas em identificar e modelar problemas, reunir os dados necessários para treinamento, e integrar os modelos com sistemas em produção.

Um ponto importante é que esses domínios de aplicação têm graus diferentes de generalidade. Aplicações como reconhecimento facial, por exemplo, são mais passíveis de generalização e portanto de uso de modelos vendidos como “produtos de prateleira” por empresas de tecnologia. As de Processamento de Linguagem Natural (NLP, sigla em inglês) se beneficiam muito de conhecimento e dados de treinamento específicos da cultura, por isso há mais espaço para desenvolvimento regional. E problemas que envolvem dados estruturados, como análise de risco, são altamente ligados às características específicas de um negócio, e costumam ser desenvolvidos de forma customizada.

Papéis e carreiras

O mercado de trabalho em ML é muito novo e dinâmico, e certamente vai continuar se transformando, mas já podemos encontrar alguns papéis mais comuns em diversas organizações [2]. Esses papéis não são necessariamente desempenhados por pessoas diferentes; não é incomum ver uma única pessoa desempenhando vários deles. Mas, conforme as soluções baseadas em ML se tornam mais complexas e críticas para os negócios, a tendência é que o grau de especialização aumente. É claro, também, que essa especialização não deve ser rígida; bons profissionais devem ter sempre flexibilidade e conhecimentos de áreas adjacentes e se prepararem para mudanças de carreira. Por isso, tentei também listar alguns caminhos que uma carreira pode seguir a partir de cada posição.

  • Cientista de Dados: é atualmente o título mais comum para quem trabalha com ML. O termo tem uma longa história, mas se popularizou na última década [3].  Originalmente, o papel de cientista de dados era focado principalmente em análises descritivas, modelos estatísticos e desenho de experimentos, mas o papel naturalmente se estendeu para a criação de modelos com ML. Mas o trabalho analítico continua sendo muito importante, e muitas vezes até mais aplicável e útil para a realidade da organização. Por ter grande capacidade analítica, uma cientista de dados pode naturalmente se movimentar para áreas de análise de negócios, ou se aprofundar no aspecto computacional e transicionar para uma carreira de engenharia de software. A engenharia de dados, em específico, tem bastante sobreposição com a ciência de dados.
  • Engenheira(*) de ML/MLOps: um modelo de machine learning não serve para muita coisa isoladamente. Ele precisa ser integrado a sistemas existentes, tanto para consumir dados de treinamento quanto para fornecer previsões sobre novos dados. Se quisermos que o modelo mantenha seu desempenho, também precisamos monitorá-lo e automatizar o seu treinamento, além de garantir que ele seja reproduzível. Esses e outros aspectos estão mais próximos de disciplinas como engenharia de dados, DevOps (desenvolvedores de sofware e administradores de sistema) e em seu conjunto são chamados de MLOps [4]. Em muitas organizações, o papel da engenheira de ML ou MLOps existe para tratar desses aspectos. Com a crescente maturidade e automatização dos algoritmos de ML, a tendência é que esse papel ganhe ainda mais destaque. Em organizações menores ou menos maduras, ele pode também abarcar as responsabilidades que seriam da cientista de dados, o que vem sendo chamado de “full stack data scientist” ou mantendo o título de engenheira de ML, mas com responsabilidade adicionais. A engenharia de ML é uma especialização da engenharia de software, por isso uma pessoa nessa área pode transicionar para outros domínios de software sem muita dificuldade, como engenharia de dados ou backend.
  • Analista: Antes de se tomar a decisão de usar machine learning, é preciso identificar, entender e quantificar o problema de negócio. Em muitas empresas, essa responsabilidade é da analista de negócios, uma pessoa que combina conhecimento do domínio de negócios com habilidades matemáticas e analíticas, e cada vez mais ferramentas de desenvolvimento de software. Não existe uma formação específica para analistas, mas essas pessoas geralmente têm formação em uma área com forte base em exatas, como engenharia, economia e administração. O escopo do trabalho de uma analista é amplo e exige conforto com a ambiguidade. Analistas com disposição para se aprofundar em conhecimentos técnicos podem se tornar cientistas de dados ou engenheiras. Outra transição natural é a especialização em um domínio de negócios e gestão.
  • Pesquisadora(*) de ML:  ainda existe muito espaço para pesquisa de novos algoritmos de aplicações de machine learning, e esse é o trabalho das pessoas que se dedicam à pesquisa em ML. Esse é um campo em que a integração entre academia e indústria é comum, com grande parte dos artigos mais importantes envolvendo co-autores de empresas de tecnologia e universidades, e alta demanda por pessoas qualificadas. Essa realidade, entretanto, é muito mais comum em países que estão na vanguarda do desenvolvimento de machine learning, como EUA, Canadá e China. No Brasil, o investimento privado em pesquisa é muito mais tímido. Quem decide seguir o caminho do setor privado geralmente assume papéis de cientista de dados ou em engenharia de ML.
(*) Como é difícil ser neutro em relação a gênero na língua portuguesa, estou usando neste artigo a forma feminina para me referir a grupos ou pessoas de gênero indeterminado. A tradição é usar a forma masculina, mas essa é uma decisão arbitrária, então não há perda em alterá-la.

O que estudar?

Por ser uma área nova, não existem consenso estabelecido quanto aos conhecimentos e currículos, tanto em nível de educação formal acadêmica quanto em treinamento profissional. Existem, entretanto, alguns caminhos mais naturais para quem deseja seguir na área.

Ciência da Computação e Engenharia de Software

Modelos de machine learning são software, portanto conhecimentos de ciência da computação e engenharia de software são bases sólidas e necessárias para o desenvolvimento dessas tecnologias. Em particular, o deep learning (redes neurais com estruturas complexas, que causaram a atual explosão de aplicações de ML) surgiu dentro do domínio da ciência da computação [5]. Grande parte dos problemas práticos para evolução e adoção prática de machine learning são fundamentalmente questões de engenharia e software, como integração e manutenção, e de ciência da computação, como escalabilidade. Esses problemas são o núcleo da engenharia de ML, mas cientistas de dados também precisam de uma base de conhecimentos computacionais para serem efetivas em seu trabalho.

Estatística

A grande maioria dos algoritmos de ML precisa de um volume muito grande de dados para ser treinada (e quanto mais dados, melhor o resultado). Isso significa que trabalhar com massas de dados passa a ser uma habilidade fundamental, e é muito comum que seja a etapa do processo que consome mais tempo.

A melhor ferramenta já desenvolvida para entender e transformar dados é a estatística, e isso nos leva a um ponto importante: a estatística está para machine learning assim como a lógica booleana está para a computação tradicional.

A estatística é fundamental não apenas para manipular os dados de treinamento, mas principalmente para entender os resultados. Machine learning é uma técnica fundamentalmente estatística, por isso nenhum modelo de ML tem precisão de 100% — se você desenvolveu um modelo assim, provavelmente cometeu um erro, ou o problema não precisaria de ML para ser resolvido. Entender os resultados de um modelo, e seus efeitos quando aplicado na prática, é um dos passos mais críticos na aplicação de ML. Além disso, muitos modelos largamente utilizados na prática, como regressões lineares, logísticas e árvores de decisão têm origens na estatística.

Um fato interessante é que muitas pessoas têm embarcado em carreiras de machine learning e ciência de dados vindo de formações em ciências como física ou neurociência, ou em matemática. Isso faz bastante sentido quando se leva em conta todo o aprendizado em técnicas usadas nessas disciplinas, que visam extrair conhecimento a partir de montanhas de dados experimentais. Tem muito a ver com machine learning, que pode ser uma alternativa para quem não quer seguir em pesquisa ou carreira acadêmica.

Deep Learning

A grande expansão atual da aplicabilidade de machine learning, e consequentemente do interesse por ela, veio dos avanços nas técnicas de deep learning da última década, principalmente em arquiteturas de redes neurais. Apesar de ser parte da ciência da computação, esse é um domínio vasto, complexo e em constante evolução, e por isso merece uma atenção específica.

Muitas pessoas, quando pensam em “aprender machine learning“, estão na verdade imaginando dominar as técnicas de deep learning. Essas técnicas, no entanto, não são sempre as mais adequadas para todos os problemas.

Elas são fundamentais em domínios de dados não estruturados como imagens e linguagem natural, mas problemas de dados estruturados, muitas vezes, podem ser resolvidos de forma mais eficiente por algoritmos mais simples e baratos. Além disso, existe uma grande tendência de reaproveitamento de modelos existentes através de aprendizado por transferência de modelos pré-treinados para problemas mais gerais, ou uso de ferramentas de AutoML, em que basta fornecer os dados e o objetivo. Por isso, um conhecimento profundo em deep learning vale mais a pena para pessoas que pretendem trilhar um caminho de pesquisa e aplicações avançadas. Para quem deseja focar em aplicações práticas imediatas, ainda assim é necessário ter uma base sólida, mas não é tão prioritário se aprofundar e se manter atualizada nos detalhes das técnicas mais avançadas.

Humanidades: Psicologia, Filosofia, Sociologia… (!!!)

A tecnologia sempre deve existir para servir às necessidades humanas, mas às vezes é fácil perder isso de vista quando nos empolgamos na solução de desafios técnicos.

Conforme a tecnologia se torna mais poderosa e avança sobre domínios cada vez mais complexos, no entanto, torna-se ainda mais necessário manter o fator humano em vista, sob o risco de resolver o problema errado ou criar problemas piores do que o que se tenta resolver. Além disso, existe uma grande tendência de automatização das decisões técnicas de mais baixo nível, o que faz com que a geração de valor esteja cada vez mais ligada ao entendimento da interação da tecnologia com as pessoas.

Uma forma de evitar se perder demais no labirinto técnico é estudando algumas disciplinas que lidam com a natureza da experiência humana, como filosofia, psicologia e ciências sociais. Se você for como eu, pode estar pensando: “Mas eu escolhi uma área de exatas exatamente porque não gosto de lidar com pessoas!“. Provavelmente, assim como eu no passado, você diz isso porque acha que lidar com pessoas é difícil e imprevisível. Estudar um pouco de psicologia, por exemplo, ajuda muito nisso, e você pode até passar a gostar.

Domínios Específicos

Os problemas de machine learning estão muitas vezes ligados intimamente ao domínio de negócio, ciência ou sociedade no qual se situam. Por isso, ter conhecimento específico do domínio em que você atua pode ser extremamente valioso. Por exemplo, conhecer princípios de economia quando se trabalha no mercado financeiro, engenharia mecânica para otimizar processos industriais, ou pedagogia para aplicações educacionais. Hoje, o mais comum é que você adquira um pouco desses conhecimentos na prática, à medida do necessário, conforme vai interagindo com especialistas durante o trabalho em conjunto. Mas existem também pessoas que fazem o caminho contrário, aprendendo técnicas de ML para resolver problemas da sua área de atuação.

À medida que as técnicas se tornem mais flexíveis e automatizadas, a tendência é que esse tipo de especialização se torne cada vez mais comum. Para trabalhar com modelos de linguagem natural, por exemplo, é muito útil conhecer linguística, ou ter formação médica para desenvolver modelos de diagnóstico.

Ética

Hoje, a tecnologia já tem efeitos enormes sobre todas as áreas da sociedade, desde o entretenimento até a política, e sobretudo sobre o mercado de trabalho. Com a capacidade de ML de avançar sobre novos problemas, essa influência tende a se potencializar. Por isso, a ética deixou de ser uma abstração distante para profissionais de tecnologia, e deve cada vez mais tornar-se central.

Em Machine Learning, especificamente, existe o problema do viés (bias, em inglês) de modelos. Como é preciso usar dados existentes para guiar o treinamento dos modelos, é muito fácil que eles reproduzam as assimetrias da sociedade em que estão inseridos, como machismo e racismo estrutural.

Não é simples evitar esses problemas, e às vezes a única solução para evitar perpetuar uma assimetria pode ser descartar todo um conjunto de dados ou até decidir que o problema não deve ser tratado com machine learning! Profissionais da área vão precisar, cada vez mais, estar preparadas para discutir e tomar decisões como essas.

E o futuro? Como fica a computação tradicional?

Machine Learning não substitui, e sim complementa a computação tradicional, que continua sendo extremamente relevante e evoluindo rapidamente. 

Ter no mínimo um conhecimento básico de ML será necessário para os profissionais do futuro, mas nem todos vão precisar se especializar nisso.

A única certeza que podemos ter sobre o futuro do mercado de trabalho para a IA é que ele vai continuar mudando, e rapidamente. Muitos desses papéis nem sequer existiam alguns anos atrás, e certamente o cenário continuará evoluindo. Alguns novos papéis, que hoje nem imaginamos, surgirão, e outros deixarão de existir. Para se preparar, vale sempre uma base sólida em fundamentos como ciência da computação, estatística e engenharia de software, e continuar acompanhando a evolução constante do cenário.

E, mais do que nunca, entender a importância dos fatores humanos. A melhor forma de prever o futuro continua sendo criá-lo, e nossa responsabilidade sobre ele continua a crescer.

Referências

[1] BREUEL C. 2020. 2020: O ano da realidade na inteligência artificial. Disponível em: https://www.linkedin.com/pulse/2020-o-ano-da-realidade-na-intelig%C3%AAncia-artificial-cristiano-breuel/

[2] WORKERA.AI 2020. AI Career Pathways: Put Yourself on the Right Track. Disponível em: https://workera.ai/resource_downloads/ai_career_pathways/

[3] DAVENPORT, T. H., & PATIL, D. J. 2012. Data scientist: the sexiest job of the 21st century. Harvard business review, 90(10), 70–128. 

[4] BREUEL, C. ML Ops: Machine Learning como engenharia. Disponível em: https://medium.com/@cbreuel/ml-ops-machine-learning-como-disciplina-de-engenharia-a058770b93dc

[5] Wikepedia. Deep Learning. Disponível em: https://en.wikipedia.org/wiki/Deep_learning#History

Sobre o autor

Cristiano BreuelCristiano Breuel é Engenheiro de Computação e Mestre em Ciência da Computação pela Universidade de São Paulo. Ao longo de sua carreira, desempenhou papéis técnicos em diversos domínios da engenharia de software e de dados em empresas de tecnologia como IBM, Google e Nubank. Atualmente, é Engenheiro de Machine Learning especializado em MLOps.

Como citar esse artigo:
Breuel, C., 2020. Carreiras em Machine Learning: O Presente e o Futuro . SBC Horizontes. ISSN: 2175-9235. Disponível em: http://horizontes.sbc.org.br/index.php/2020/07/26/carreiras-em-machine-learning/

Compartilhe e curta: