Quais são as diferenças, se houver, entre um "cientista de dados" e um "engenheiro de aprendizado de máquina"?
Ao longo do ano passado, o "engenheiro de aprendizado de máquina" começou a aparecer muito nas ofertas de emprego. Isso é particularmente notável em São Francisco, que é indiscutivelmente o local de origem do termo "cientista de dados". A certa altura, "cientista de dados" ultrapassou o "estatístico", e estou pensando se o mesmo agora está lentamente começando a acontecer com o "cientista de dados".
O conselho de carreira está listado como off-topic neste site, mas vejo minha pergunta como altamente relevante, pois estou perguntando sobre definições; Não estou perguntando sobre recomendações, dada minha trajetória de carreira ou circunstâncias pessoais, como outras perguntas fora do tópico.
Esta pergunta está relacionada ao tópico porque um dia poderá ter implicações significativas para muitos usuários deste site. De fato, esse site de troca de pilhas pode não existir se a evolução "estatístico" vs "cientista de dados" não tivesse ocorrido. Nesse sentido, essa é uma questão bastante pertinente e potencialmente existencial.
fonte
Data scientist
soa como uma designação com pouca clareza sobre qual será o trabalho real, enquantomachine learning engineer
é mais específico. No primeiro caso, sua empresa fornecerá um objetivo e você precisará descobrir qual abordagem (aprendizado de máquina, processamento de imagens, rede neural, lógica difusa etc.) você usaria. No segundo caso, sua empresa já se reduziu a qual abordagem deve ser usada.Respostas:
Boa pergunta. Na verdade, há muita confusão sobre esse assunto, principalmente porque ambos são empregos bastante novos. Mas se focarmos na semântica, o verdadeiro significado dos trabalhos se tornará claro.
Antes, é melhor comparar maçãs com maçãs, falando sobre um único assunto, o Data. O Machine Learning e seu subgênero (Deep Learning, etc.) são apenas um aspecto do Mundo de Dados, juntamente com as teorias estatísticas, a aquisição de dados (DAQ), o processamento (que pode ser não baseado no aprendizado de máquina), o interpretação dos resultados, etc.
Portanto, para minha explicação, estenderei a função de Engenheiro de Aprendizado de Máquina para a de Engenheiro de Dados.
A ciência é sobre experimentos, tentativas e fracassos, construção de teoria, entendimento fenomenológico. Engenharia é trabalhar sobre o que a ciência já sabe, aperfeiçoando-a e transportando-a para o "mundo real".
Pense em um proxy: qual é a diferença entre um cientista nuclear e um engenheiro nuclear?
O cientista nuclear é aquele que conhece a ciência por trás do átomo, a interação entre eles, aquele que escreveu a receita que permite obter energia dos átomos.
O engenheiro nuclear é o cara encarregado de pegar a receita do cientista e carregá-la para o mundo real. Portanto, o conhecimento sobre a física atômica é bastante limitado, mas ele também sabe sobre materiais, edifícios, economia e qualquer outra coisa útil para construir uma usina nuclear adequada.
Voltando ao mundo dos dados, aqui está outro exemplo: os caras que desenvolveram Redes Neurais Convolucionais (Yann LeCun) são Data Scientist, o cara que implementa o modelo para reconhecer rostos nas fotos é um Machine Learning Engineer. O responsável por todo o processo, desde a aquisição de dados até o registro da imagem .JPG, é um engenheiro de dados.
Então, basicamente, 90% dos Data Scientist hoje são realmente Engenheiros de Dados ou Engenheiros de Aprendizado de Máquina, e 90% das posições abertas como Data Scientist realmente precisam de Engenheiros. Uma verificação fácil: na entrevista, você será perguntado sobre quantos modelos de ML implantou na produção, e não sobre quantos artigos sobre novos métodos você publicou.
Em vez disso, quando você vê anúncios sobre "Engenheiro de aprendizado de máquina", isso significa que os recrutadores estão bem cientes da diferença e realmente precisam de alguém capaz de colocar algum modelo em produção.
fonte
Data Engineer
orientação de carreira.Os termos são nebulosos porque são novos
Por estar no meio de uma pesquisa de emprego no campo 'ciência de dados', acho que há duas coisas acontecendo aqui. Primeiro, os trabalhos são novos e não há definições definidas de vários termos; portanto, não há acordo comum sobre a correspondência de termos com as descrições dos trabalhos. Compare isso com 'desenvolvedor da Web' ou 'desenvolvedor de back-end'. Esses são dois trabalhos semelhantes que têm razoavelmente bem acordado e descrições distintas.
Segundo, muitas pessoas que publicam trabalhos e entrevistas iniciais não sabem muito bem para o que estão contratando. Isso é particularmente verdadeiro no caso de pequenas e médias empresas que contratam recrutadores para encontrar candidatos para eles. São esses intermediários que publicam as descrições dos cargos no CareerBuilder ou em qualquer fórum. Isso não quer dizer que muitos deles não sabem o que fazem, muitos conhecem bem as empresas que representam e os requisitos do local de trabalho. Mas, sem termos bem definidos para descrever diferentes trabalhos específicos, geralmente são gerados títulos nebulosos.
Existem três divisões gerais do campo
Na minha experiência, existem três divisões gerais do 'espaço de trabalho' da ciência de dados.
O primeiro é o desenvolvimento de técnicas matemáticas e computacionais que possibilitam a ciência de dados. Isso abrange coisas como pesquisa estatística sobre novos métodos de aprendizado de máquina, a implementação desses métodos e a construção de infraestrutura computacional para empregar esses métodos no mundo real. Esta é a divisão mais distante do cliente e a menor divisão. Grande parte desse trabalho é realizada por acadêmicos ou pesquisadores das grandes empresas (Google, Facebook, etc.). Isso é para coisas como desenvolver o TensorFlow do Google, as redes neurais SPSS da IBM ou qualquer que seja o próximo grande banco de dados de gráficos.
A segunda divisão está usando as ferramentas subjacentes para criar pacotes específicos de aplicativos para executar qualquer análise de dados que seja necessária. As pessoas são contratadas para usar Python ou R ou o que quer que seja para criar capacidade de análise em algum conjunto de dados. Muito desse trabalho, na minha experiência, envolve fazer a 'lavagem de dados', transformando dados brutos, sob qualquer forma, em algo utilizável. Outra grande parte desse trabalho é a base de dados; descobrindo como armazenar os dados de uma maneira que possa ser acessada em qualquer linha do tempo em que você precisar. Este trabalho não exige muito ferramentas, mas o uso de bibliotecas de banco de dados, estatísticas e análises gráficas existentes para produzir alguns resultados.
A terceira divisão está produzindo análises a partir dos dados recém-organizados e acessíveis. Esse é o lado mais voltado para o cliente, dependendo da sua organização. Você precisa produzir análises que os líderes de negócios possam usar para tomar decisões. Isso seria o menos técnico das três divisões; muitos empregos são híbridos entre a segunda e a terceira divisões neste momento, uma vez que a ciência de dados está em sua infância. Mas, no futuro, eu suspeito fortemente que haverá uma divisão mais limpa entre esses dois empregos, com as pessoas ganhando o segundo emprego precisando de uma educação técnica, ciência da computação ou estatística, e esse terceiro emprego precisando apenas de um ensino geral.
Em geral, os três poderiam se descrever como 'cientistas de dados', mas apenas os dois primeiros poderiam se descrever como 'engenheiros de aprendizado de máquina'.
Conclusão
Por enquanto, você terá que descobrir o que cada trabalho implica. Meu trabalho atual me contratou como 'analista', para fazer algumas coisas de aprendizado de máquina. Mas, quando começamos a trabalhar, ficou claro que a base de dados da empresa era inadequada e agora provavelmente 90% do meu tempo é gasto trabalhando nos bancos de dados. Agora, minha exposição ao aprendizado de máquina está executando rapidamente coisas através do pacote scikit-learn que parecer mais apropriado, e enviando arquivos csv aos analistas da terceira divisão para fazer apresentações em powerpoint para o cliente.
O campo está em fluxo. Muitas organizações estão tentando adicionar a tomada de decisões em ciência de dados a seus processos, mas sem saber claramente o que isso significa. Não é culpa deles, é muito difícil prever o futuro, e as ramificações de uma nova tecnologia nunca são muito claras. Até que o campo esteja mais estabelecido, muitos empregos em si serão tão nebulosos quanto os termos usados para descrevê-los.
fonte
[Completamente uma opinião pessoal]
Quando o termo 'cientista de dados' ultrapassou 'estatístico', é mais para parecer legal, do que para qualquer grande diferença. Da mesma forma, o termo 'Deep Learning'. São apenas redes neurais (que é outro algoritmo de Machine Learning) com mais algumas camadas. Ninguém pode explicar quando uma rede neural específica pode ser chamada DL, em vez de ML, porque a definição em si é imprecisa. Então, é o termo 'cientista de dados'.
No entanto, como as empresas estão adotando a mentalidade do DevOps para a ciência de dados, o termo ML Engineer evoluiu.
Qual é a mentalidade do DevOps para a ciência de dados?
É aqui que você cria o modelo, implanta e também espera mantê-lo em produção. Isso ajuda a evitar muitos atritos nas equipes de software.
[PS: DevOps é uma maneira de fazer software, mais como uma filosofia. Então, usá-lo como uma designação, novamente me confunde].
Portanto, os engenheiros de ML devem conhecer as nuances da engenharia de sistemas, ML e estatísticas (obviamente).
Uma generalização vaga seria Data Engineer + Data Scientist = ML Engineer.
Dito isto, as designações nesse espaço estão se tornando vagas dia a dia, e o termo 'Estatístico' está se tornando cada vez mais relevante (a ironia!).
fonte
Pode variar de empresa para empresa, mas o Data Scientist já existe há algum tempo e geralmente é utilizado para extrair conhecimento e insights dos dados .
Eu vi cientistas de dados fazendo
A ciência de dados , no entanto, é um superdomínio do aprendizado de máquina
O engenheiro de aprendizado de máquina parece ser uma designação em que seu empregador já se reduziu ao
para extrair conhecimento ou insights dos dados usando o aprendizado de máquina e seu trabalho será projetar e implementar algoritmos de aprendizado de máquina para fornecer o mesmo .
fonte
Engenheiros de Machine Learning e Data Scientist focados em engenharia são os mesmos, mas nem todos os Data Scientist são focados em engenharia. Cerca de 5 anos atrás, quase todos os Data Scientist eram focados em engenharia, por exemplo, eles tinham que escrever um código de produção. Agora, no entanto, existem muitas funções de cientista de dados que são a maior parte: jogar no caderno Jupyter, entender dados, fazer gráficos bonitos, explicar a clientes, gerentes, analistas ... Eles não fazem engenharia. E acredito que o termo Engenheiros de Aprendizado de Máquina sublinhou que essa é uma posição de engenharia.
fonte
TL; DR: Depende de quem está perguntando.
A resposta a essa pergunta depende muito das expectativas, conhecimentos e experiências de quem está perguntando. Uma pergunta análoga com uma resposta confusa é:
Para algumas pessoas, principalmente as que estudam ou ensinam ciência da computação e engenharia de software, há uma diferença grande e definida entre esses campos. Mas para o trabalhador médio de RH, recrutador técnico ou gerente, essas são apenas "pessoas do computador".
Eu amo esta citação de Vincent Granville , ênfase minha:
fonte
O Machine Learning é mais específico e, nesse campo, você precisará dominar o seguinte:
fonte
Não discordo de nenhuma das respostas dadas. No entanto, acho que há um papel do Data Scientist que está sendo encoberto em praticamente todas as respostas aqui. A maioria dessas respostas diz algo como "Bem, um engenheiro apenas escreve e implanta o modelo...". Espere um segundo - há muito trabalho nessas duas etapas!
Minha definição central de cientista de dados é alguém que aplica o método científico ao trabalho com dados. Então, eu estou constantemente pensando em hipóteses, projetando testes, coletando meus dados e executando esses testes, verificando meus resultados de validação cruzada, tentando novas abordagens, transformando meus dados, etc. etc. "em um ambiente profissional.
Portanto, para sua resposta, acho que "o diabo está nos detalhes", porque você não pode simplesmente encobrir alguns desses passos / termos. Além disso, se você procura emprego, deve ter cuidado, pois "engenheiro de dados" e "cientista de dados" podem ter escalas de pagamento lamentavelmente diferentes - você não deseja ser cientista de dados com um salário de engenheiro de dados!
Sempre me coloco como cientista de dados, digo às empresas que trabalho em modelos preditivos (não apenas analíticos) e que não sou um jóquei do Excel - escrevo em linguagens de programação (R, Python, etc.). Se você conseguir encontrar uma posição que permita fazer as duas coisas, estará no caminho de ser um cientista de dados.
fonte