“É difícil para mim entender a motivação de um cientista de dados que não vê beleza na matemática” - Kirill Danilyuk, cientista de dados

Olá Habr! A ciência de dados há muito se tornou um campo atraente, e mais e mais pessoas querem mudar seu caminho profissional e começar a trabalhar com big data. Kirill Danilyuk, cientista de dados do RnD Lab, compartilhou sua história de transição para a ciência de dados, dicas para iniciantes e avançados. Além disso, falamos sobre as qualidades necessárias de um cientista de dados, sobre dados de marcação, sobre a diferença entre engenheiro de ML e cientista de dados, projetos atuais, equipes legais e pessoas cujo trabalho é inspirador.



- Como você chegou à ciência de dados? O que inicialmente atraiu você para a área de trabalho com dados?

- Tenho um histórico bastante atípico: na data em que vim do mundo do Yandex PM (Gerenciamento de projetos - nota do autor ), quando fui convidado para a ZeptoLab, talvez a melhor empresa de jogos russa. Fiz deles um protótipo do sistema analítico, painéis, na verdade, pela primeira vez, comecei a escrever código que outra pessoa estava usando. O código era terrível, mas era uma prática real. Formalmente, é claro, coordenei o trabalho de dois terceirizados, mas eles escreveram o código exatamente neste protótipo. Eu não sabia então que aproximadamente isso é ciência de dados, que eu faço, embora em tempo parcial. Assim, o conhecido aconteceu de maneira bastante orgânica.

Mesmo assim, ficou claro que havia uma mudança completa no paradigma de desenvolvimento - em vez da programação imperativa clássica, quando você define rigidamente as condições, estava chegando uma era em que a própria máquina seria capaz de se educar usando dados. Ver essa mudança foi incrivelmente legal e realmente queria estar entre os desenvolvedores da nova era.

- Que dificuldades você enfrentou profissionalmente, que desafios você enfrentou no começo e no futuro?

- Mais uma vez, lembro que eu era originalmente um projeto, ou seja, uma mudança de carreira foi bastante séria. Houve muitas dificuldades. Primeiro de tudo, isso é descrença em si mesmo. Você vê ao seu redor todos esses caras inteligentes que escrevem algo lá, falam um idioma que você não entende. Você vê uma enorme lacuna entre você e eles. Ao mesmo tempo, seu ambiente também não incentiva a transição - começa a parecer para as pessoas que você está "fazendo lixo e geralmente procrastinando". É muito deprimente. Agora, é claro, existe uma comunidade de dataainists, eles irão ajudá-lo e animá-lo, mas antes era mais difícil. Então, para dar esse primeiro passo - dizer que serei um dataaentist e realmente vou sistematicamente nessa direção, apesar da minha carreira passada - foi muito difícil.

O ponto de virada foi quando li o livro "Tão bom que eles não podem te ignorar", que, a propósito, é aconselhado por Andrew Eun, criador do Google Brain, Coursera, o famoso curso de ML. O livro é sobre o meu caso: seu histórico e histórico não são importantes. Se você demonstrar na prática que é realmente tão bom que simplesmente não pode ser ignorado, será notado. Fiquei muito impressionado com este livro e decidi não sair da ciência de dados. Aconselho todos a ler.

- Quais hacks da vida você pode compartilhar com iniciantes no trabalho com dados, tanto em termos de exploração do campo quanto em termos de construção de uma carreira?

- Todo mundo vem para a ciência de dados de diferentes campos, em diferentes partes e com objetivos diferentes - não há uma maneira ideal. Mas existem algumas dicas.

A ciência de dados pode parecer complicada à primeira vista - e assim é! No entanto, o fato surpreendente é que a ciência de dados pode ser comparada com a cebola: você precisa estudar camada por camada. Isso é chamado de abordagem de cima para baixo, quando você analisa pela primeira vez o nível primitivo de como os algoritmos funcionam, como você pode treinar uma rede neural em algumas linhas - sem conhecer os processos - basta definir os dados de entrada, algumas linhas de código e pronto. A primeira camada da lâmpada é removida. Mais ainda. Torna-se interessante para você, você já quer saber como. Como isso funciona? Você vai mais fundo, olha o código, a implementação. Então você se pergunta por que esse código é escrito assim. Acontece que existem fundamentos teóricos. E assim por diante Mantenha seu interesse. Comece no topo, é inspirador. Leia Richard Feynman , ele escreveu muito sobre essa abordagem.

Outro conselho: entre em um grupo de cientistas de dados o mais rápido possível. Mesmo se você ainda não entende nada, está determinado a se desenvolver nessa área. Quando eu estava estudando, o ODS ainda não estava lá, ninguém estava te animando assim, não havia uma festa organizada de encontro de dados. E eu fui ao programa Newprolab, inclusive, para obter um hangout. A chave do desenvolvimento está justamente na socialização. Em nenhum caso, cozinhe em seu próprio suco, caso contrário, você se moverá muito lentamente.

Terceira dica (é a continuação da segunda): comece a participar de competições o mais cedo possível. O Kaggle pode ser tratado de maneira diferente, mas pelo menos fornece mais um motivo para a socialização - entre para a equipe. Os colegas seniores terão prazer em aconselhá-lo e ajudá-lo. Além disso, o kaggle dá um bom chute em termos de seu portfólio, discursos e postagens no blog. Cientistas de dados legais acabaram de ficar legais, a propósito.

- Além de passar por dois programas no Newprolab, onde você ainda estudou e estudou? Quais programas você pode recomendar para iniciantes e avançados?

- Eu tento aprender o tempo todo, porque as tarefas, especialmente conosco, estão mudando constantemente. Fiz cursos on-line mais ou menos básicos, como a especialização Yandex em DS no Coursera , nanodegree ML em Udacity e o curso de drones . Para iniciantes, recomendo a especialização DS no Coursera - este é provavelmente o curso mais estruturado para entender abordagens e tarefas em geral. Também fiquei satisfeito com o "Especialista em Big Data" , basicamente comecei a inserir a ciência de dados nele, ele realmente me ajudou. Mais uma vez - no começo, faça o que parece interessante.

Para os mais avançados, há o incrível curso Caltecan Learning From Data - relativamente curto, mas muito prático. Coloca cérebros muito bem. Há também um maravilhoso curso ShAD de Vorontsov - palestras de acesso aberto e um livro didático. Eu também recomendo o curso de Harvard sobre a teoria Stat 110 , existem princípios fundamentais da teoria das probabilidades e do matstat, que você deve conhecer. Além disso, há uma biblioteca aberta de cursos do MIT, veja o curso sobre algoritmos lá , é muito bom.

- Com base nas suas observações: que habilidades suaves e duras geralmente não são suficientes para que iniciantes e experientes cientistas de dados se tornem especialistas verdadeiramente altamente qualificados?

- Vamos começar com habilidades sociais - porque elas não são suficientes. Apesar do fato de um cientista de dados ser uma profissão técnica, é extremamente importante poder apresentar corretamente / lindamente o resultado do seu trabalho. Grosso modo, como um iPhone - ele tem bom não apenas o recheio, mas também a aparência, a embalagem e a história. As pessoas precisam aprender a apresentar seus resultados: escrever postagens no blog, falar, compartilhar código. Os melhores cientistas de dados entendem isso muito bem e o fazem. Caso contrário, você pode ficar preso no seu buraco e, mesmo com um resultado legal, passar despercebido.

Você pode falar sobre habilidades difíceis por um longo tempo, mas há uma coisa que muitos cientistas de dados não têm, a capacidade de escrever um código competente, estruturado e bonito. Este é diretamente o flagelo da profissão. Você precisa aprender a escrever um código legível bonito. Se você olhar para o kaggle, a maior parte do código é terrível. Eu entendo com o que isso está conectado: as pessoas escrevem o código uma vez e não o usam mais, essa é uma prática padrão entre os cientistas de dados, especialmente os iniciantes. Eu mesmo já fiz isso antes, mas isso é ruim, porque, em primeiro lugar, você não pode compartilhá-lo com ninguém (as pessoas querem ler código bonito e legível) e, em segundo lugar, você não pode usar código incorreto em outros projetos.

Outra habilidade fundamental é o conhecimento do material: álgebra linear, aparato estatístico, discretização, otimização. E, francamente, você só precisa de um amor pela matemática. Acho difícil entender a motivação de um cientista de dados que não vê a beleza na matemática. Ao mesmo tempo, deve-se notar que a matemática na análise de dados é bastante acessível, no nível do primeiro ou do segundo ano da universidade.

- Depois de concluir o programa “Big Data Specialist” , você deixou o mundo corporativo e, junto com seus colegas de classe, abriu uma empresa de consultoria. Por que você não quer ser funcionário de uma grande empresa com um monte de brindes? De fato, a demanda no mercado de trabalho é muito maior do que as ofertas disponíveis, e você é um grande especialista.

- Aqui está uma razão bastante interessante: inicialmente o objetivo era obter projetos de consultoria que você já pode mostrar uma empresa séria e conseguir um emprego nela. Afinal, como você diz que é um cientista de dados, mostre que pode.

Inicialmente, pegamos absolutamente todos os projetos de ciência de dados por algum dinheiro, apenas para mostrar que podemos fazer isso. Eles cometeram muitos erros, pisaram em todos os ancinhos em que você pode pisar. O primeiro ano foi apenas um pesadelo, muito difícil. Olhando para trás agora, não é fato que a consultoria tenha sido um bom começo. Talvez eu tenha tido que ir para o júnior e este ano trabalhar em algum tipo de projeto.

Superamos tudo. Os projetos começaram a aparecer, a autoconfiança ficou mais forte; em algum momento havia um entendimento de que não se podia trabalhar dentro de uma grande corporação com seus projetos, aprovações e burocracia prolongados. Acontece que nossos projetos agora são muito mais interessantes e mais diversificados do que a maioria das grandes empresas poderia me dar: existem muitos, eles geralmente mudam e você estuda constantemente. Claro, agora não quero realmente mudar para uma grande empresa.

- Vamos falar um pouco sobre a marcação de dados. Você tem uma equipe pequena no RnD Lab, dificilmente pode gastar muito tempo marcando dados e manualmente fazer tudo sozinho. Como você codifica dados?

- Você pode falar sobre marcação de dados por muito tempo! Os algoritmos de aprendizado de máquina precisam de dados para funcionar. E não apenas alguns dados, mas qualitativamente rotulados. E muito. Por exemplo, tínhamos um projeto para determinar a qualidade dos ovos fritos de uma fotografia . Para que os algoritmos funcionem, é necessário marcar cada foto, circular cada um dos ingredientes - proteína, gema, bacon - manualmente. Você pode imaginar como é marcar mil, dez mil dessas fotografias? E isso é apenas para preparar os dados. Depois disso, o trabalho está apenas começando.

Agora, existem muitas empresas que vendem marcação - elas contratam um exército de marcadores baratos para desenhar manualmente os limites dos objetos. O que é ironia é que, na era da IA, são pessoas mal remuneradas, pouco qualificadas e desmotivadas que estão por trás disso.

Eu quero tornar esse processo mais tecnológico. Por exemplo, em nosso projeto, escrevemos uma rede neural que, no modo semiautomático, marca dados. Você primeiro dá a ela 20 fotos marcadas manualmente de ovos mexidos e 20 sem rótulo - ela aprende nos primeiros vinte e marca, embora não muito bem, os segundos vinte. Você corrige os erros manualmente e fornece 20 fotos auto-marcadas para reciclagem. Agora o modelo já está aprendendo em 40 fotografias com marcação. Você envia outras 20 fotos para a marcação, corrige os erros, treina o modelo na marcação corrigida. Após várias iterações, quase nenhum erro permanece. A propósito, é sobre essa técnica que estou escrevendo um post no Medium agora.

Existem outras opções: você pode usar o simulador, a grosso modo, um editor 3D para gerar muitas imagens já marcadas. Você coloca os objetos necessários, os renderiza em ângulos diferentes, juntamente com a marcação - é tudo. Mas na verdade não: essas imagens ainda não serão semelhantes para o modelo e reais. Para trazer essas imagens para uma variedade de imagens reais, você precisa usar uma técnica chamada adaptação de domínio - nos GANs. Esta é agora uma verdadeira vanguarda da pesquisa, essas coisas são emocionantes. Imagine: você está simulando o mundo inteiro e todos os conjuntos de dados são literalmente gerados do nada. Agora imagine que o modelo aprende apenas no simulador e depois trabalha no mundo real. Este é apenas o futuro!

- Você pode nomear as equipes / indivíduos cujo trabalho no campo de big data encanta e inspira você?

Sim, claro! Eu realmente não gosto da pesquisa em si, mas de seu uso em produtos. Estou falando daqueles que eu mesmo conheço. Você pode apenas pesquisar os melhores especialistas do Google, e eles já são bem conhecidos.

Se falamos sobre a equipe, então essa é, sem dúvida, a equipe de drones da Yandex. Os caras estão desenvolvendo sua tecnologia do zero; nas condições russas, começaram a testá-la no inverno - o Google não sonhou com isso. Eles são grandes companheiros, e eu os sigo cuidadosamente. Incluindo suas publicações e cursos. O número de tecnologias que eles usam na prática é enorme, poucas têm a sorte de usar tantas coisas diferentes ao mesmo tempo.

Equipe Connectome.ai - pessoal cria um sistema de visão computacional para produção. Essa é uma tarefa desafiadora, e o que e como eles fazem isso é legal.

Os caras do supervise.ly . Eles eram consultores inicialmente, assim como nós no RnD Lab, mas depois criaram um sistema de marcação semiautomático e agora estão desenvolvendo-o.

Em termos de pessoas, em primeiro lugar, este é Eric Bernhardsson, o ex-chefe do sistema de recomendação do Spotify. Ele tem um blog incrível sobre ciência de dados , recomendo a todos.

Em segundo lugar, este é Volodya Iglovikov , que também é ternaus na ODS. Ele veio de físicos, seu caminho de desenvolvimento é muito curioso e extremamente motivado para levantar a bunda e começar a trabalhar. Ele mostrou por seu exemplo como o trabalho sério e o marketing competente ajudam a avançar na carreira.

- Você era o coordenador do grupo no programa Big Data Specialist e no prédio. no Luxemburgo e no outono você será o mentor de mini-grupos em nosso novo programa on-line. Diga-me, por que você precisa de tudo isso? Porque você não ganha muito dinheiro aqui)))

"Você não ganhará, com certeza." O ponto é diferente - na socialização. Como eu já disse, é a socialização que é a chave para se animar, sem mencionar apenas tornar os contatos úteis para os negócios. Por meio da minha coordenação, encontramos alguns pedidos lucrativos. Em segundo lugar, gosto de compartilhar meu conhecimento e experiência com as pessoas e me treinar no trabalho com dados. Além disso, no processo de preparação, eu mesmo aprenderei muito. Eu estudei muito e entendo muito bem quantas horas conseguem algumas coisas. Além disso, é claro, a coordenação e a orientação são um desafio, uma saída da zona de conforto e a capacidade de bombear a si mesmo.



- Data Scientist e ML Engineer: qual é a diferença?

- Existe um relatório sobre esse tópico no âmbito do Yandex Data & Science . A idéia é que o setor de dados gerou todo um conjunto de profissões sobrepostas. Ao mesmo tempo, diferentes empresas as interpretam de maneira diferente. O Data Scientist e o MLE são apenas um exemplo disso.

Acredita-se que um cientista de dados pode não ser capaz de escrever código de produção, mas deve criar ou adaptar teorias (por exemplo, artigos científicos) e criar modelos. Na verdade, engenheiros de ML - programadores profissionais, que estão menos imersos na parte teórica e mais em engenharia - estão envolvidos no próprio código.

Essa separação funciona muito bem, por exemplo, no Google. É claro que existem doutores fortes que, estritamente falando, podem não programar, mas são fortes em teoria. E há programadores de alta classe que envolvem protótipos desses doutores em um belo código. Mas se falamos de equipes pequenas, como a nossa ou até as equipes Yandex, não há tempo para pesquisas puras do zero, mas há uma oportunidade de pegar os resultados da pesquisa de outras pessoas (na forma de artigos ou código) e escrever código de batalha com base nesses artigos.

Pessoalmente, não acredito no valor prático de um cientista de dados que não escreve código - é o código que é o resultado do trabalho de um datacenter. Se você não escrever o código, provavelmente será um analista de dados. Isso também não é ruim, mas é uma especialização diferente. A propósito, muitas empresas vendem análises de dados apenas analíticas. Porque o analista é excelente e tédio, e o cientista de dados é "a profissão mais sexy do século 21".

Então, eu sou do engenheiro da ML.

- Quais são seus pensamentos e planos para o futuro? Para onde você deseja mudar de plano profissional e geográfico (e de repente!)?

- Nós, RnD Lab, começamos como consultoria em ciência de dados em um sentido geral. Mas eles rapidamente perceberam que era impossível efetivamente fazer tudo de uma vez, era necessário se concentrar. Agora, nosso foco está em projetos de visão computacional, como nosso projeto de reconhecimento de qualidade de alimentos. Imagine assistir a um jogo de futebol em sua mesa em 3D. Imagine que você, como proprietário de uma grande loja, vê todos os roubos nas vitrines. Imagine que suas fotografias antigas em preto e branco em papel possam ser convertidas em cores e adicionar detalhes a elas. Estamos envolvidos em apenas esses projetos. No momento, temos dois novos projetos incrivelmente interessantes em desenvolvimento, que não são de complexidade inferior aos projetos em Yandex, os anunciaremos depois de um tempo. Agora criamos um protótipo, com uma probabilidade muito alta de continuarmos este projeto, a escala será diferente e expandiremos a equipe. Precisarei de engenheiros de dados e de visão computacional em primeiro lugar, que escolherão o protótipo e farão dele um sistema. O cliente é muito legal, o sistema é muito interessante e é uma ótima oportunidade para se atualizar como especialista. Para qualquer portfólio, esse projeto será ótimo!

Portanto, a visão computacional e sua aplicação - em AR / VR, GANs, geração de imagem e vídeo, aprimoramento de imagem e vídeo, análise de vídeo - nos concentramos nisso. E aqui já temos excelentes conhecimentos e ferramentas.



Quanto à geografia: um dos meus princípios importantes é a possibilidade de trabalho 100% remoto de qualquer lugar. Nenhuma das grandes empresas oferecerá isso a você. , , ? Basecamp, . , .

— -:
?

-.

— , , ?
— , .

— ?
— .

— , “, ”.
— “, ” , . , , . ZeptoLab: , , , . .
, - . : “ , , 5% : , , , , ...” , , . , , 3 , . , , .



Newprolab 20 9- « » , data science.

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


All Articles