O problema da partida a frio: como construir seu portfólio de aprendizado de máquina

Edouard Harris Blocked Desbloquear Seguir Seguindo 3 de dezembro

Eu sou um físico que trabalha em uma startup do YC . Nosso trabalho é ajudar novos graduados a serem contratados em seus primeiros trabalhos de aprendizado de máquina.

Algum tempo atrás, escrevi sobre as coisas que você deve fazer para ser contratado em seu primeiro trabalho de aprendizado de máquina. Eu disse no post que uma coisa que você deve fazer é construir um portfólio de seus projetos pessoais de aprendizado de máquina. Mas deixei de fora a parte sobre como realmente fazer isso, então neste post, eu vou te dizer como. [1]

Por causa do que nossa startup faz, eu vi centenas de exemplos de projetos pessoais que variaram de muito bons a muito ruins. Deixe-me falar sobre dois dos muito bons.

O all-in

O que segue é uma história verdadeira, exceto que eu mudei nomes para privacidade.

A empresa X usa a AI para alertar os supermercados quando é hora de fazer novos pedidos. Tivemos um estudante, Ron, que realmente queria trabalhar na empresa X. Ron queria tanto trabalhar na empresa X, que construiu um projeto pessoal 100% dedicado a conseguir uma entrevista para ele.

Geralmente não recomendamos ir all-in em uma empresa como essa. É arriscado fazer se você está começando. Mas – como eu disse – Ron realmente queria trabalhar na empresa X.

Então, o que Ron construiu?

As caixas delimitadoras vermelhas indicam itens ausentes.

  1. Ron começou pelo duto que levava o celular a um carrinho de supermercado. Então ele dirigiu seu carrinho para cima e para baixo nos corredores de uma mercearia enquanto ele registrava os corredores com sua câmera. Ele fez isso 10 a 12 vezes em diferentes mercearias.
  2. Assim que chegou em casa, Ron começou a construir um modelo de aprendizado de máquina. Seu modelo identificou manchas vazias em prateleiras de mercearias – lugares onde os flocos de milho (ou qualquer outro) estavam faltando nas prateleiras.
  3. Aqui está a parte incrível: Ron construiu seu modelo em tempo real , no GitHub, em visão pública completa. Todos os dias, ele fazia melhorias em seu repositório (melhor precisão e cronicava as mudanças no README de seu repo.
  4. Quando a empresa X percebeu que Ron estava fazendo isso, a empresa X ficou intrigada. Mais do que intrigado. Na verdade, a empresa X estava um pouco nervosa. Por que eles estariam nervosos? Porque Ron inconscientemente, e em poucos dias, reproduziu uma parte de sua pilha proprietária de tecnologia. [2]

A empresa X é excepcionalmente competente e sua tecnologia está entre as melhores do setor. No entanto, em 4 dias, o projeto de Ron atraiu a atenção pessoal direta do CEO da empresa X.

O projeto piloto

Aqui está outra história verdadeira.

Alex é um major da história com um menor em estudos russos (na verdade). Excepcionalmente para um curso de história, ele se interessou pelo aprendizado de máquina. Ainda mais incomum, ele decidiu que aprenderia, apesar de nunca ter escrito uma linha de Python.

Alex escolheu aprender construindo. Ele decidiu construir um classificador para detectar se pilotos de caça estavam perdendo a consciência em seus aviões. Alex queria detectar isso olhando vídeos de pilotos. Ele sabia que era fácil para uma pessoa dizer, só de olhar, quando um piloto está inconsciente, então Alex imaginou que seria possível para uma máquina dizer também.

Aqui está o que Alex fez ao longo de vários meses:

Uma demonstração da força G de Alex induziu o detector de perda de consciência.

  1. Alex entrou no YouTube e baixou todos os videoclipes de pilotos pilotando aviões, retirados do cockpit. (Caso você esteja se perguntando, há algumas dezenas desses clipes.)
  2. Em seguida, ele começou a rotular seus dados. Alex construiu uma interface do usuário que permite que ele role através de milhares de quadros de vídeo, pressione um botão para "consciente" e outro botão para "inconsciente", e salve automaticamente o quadro na pasta corretamente rotulada. Esta rotulagem foi muito, muito chata e levou muitos dias.
  3. Alex construiu um pipeline de dados para as imagens que cortariam o piloto do fundo do cockpit – para tornar mais fácil para o classificador se concentrar no piloto. Finalmente, ele construiu seu classificador de perda de consciência.
  4. Ao mesmo tempo em que fazia todas essas coisas, Alex mostrava instantâneos de seu projeto para contratar gerentes em eventos de networking. Toda vez que ele pegava seu projeto e o mostrava (em seu telefone), eles perguntavam como ele fez, sobre o pipeline que ele construiu e como ele coletava seus dados. Mas eles nunca chegaram a perguntar sobre a precisão de seu modelo – que estava abaixo de 50%.

Alex planejava melhorar sua precisão, é claro, mas ele foi contratado antes de ter a chance. Descobriu-se que o impacto visual de seu projeto, e sua implacável desenvoltura na coleta de dados, importavam muito mais para as empresas do que quão bom seu modelo realmente era.

Eu mencionei que Alex é um major da história com menor em estudos russos?

O que eles têm em comum

O que fez Ron e Alex tão bem sucedidos? Aqui estão quatro grandes coisas que eles fizeram certo:

  1. Ron e Alex não gastaram muito esforço em modelagem. Eu sei que isso parece estranho, mas para muitos casos de uso hoje em dia a modelagem é um problema resolvido. Em um trabalho real, a menos que você esteja fazendo uma pesquisa de IA de última geração, você estará gastando de 80 a 90% do seu tempo limpando seus dados de qualquer maneira. Por que seu projeto pessoal seria diferente?
  2. Ron e Alex reuniram seus próprios dados. Por causa disso, eles acabaram com dados mais confusos do que os encontrados no Kaggle ou no repositório de dados da UCI. Mas trabalhar com dados confusos os ensinou a lidar com dados confusos. Isso também os forçou a entender melhor seus dados do que se eles tivessem baixado de um servidor acadêmico.
  3. Ron e Alex construíram coisas visuais. Uma entrevista não é sobre suas habilidades sendo avaliadas objetivamente por um juiz onisciente. Uma entrevista é sobre se vender para outro ser humano. Os seres humanos são criaturas visuais. Então, se você retirar o seu telefone e mostrar ao entrevistador o que você construiu, vale a pena ter certeza de que o que você construiu parece interessante.
  4. O que Ron e Alex fizeram parece insano. E isso foi insano. Pessoas normais não gravam seus telefones em carrinhos de compras. Pessoas normais não passam os dias tirando os pilotos dos vídeos do YouTube. Você sabe quem faz isso? Pessoas que farão o que for preciso para fazer seu trabalho. E as empresas realmente querem contratar essas pessoas.

O que Ron e Alex fizeram pode parecer muito trabalho, mas, na verdade, não é muito mais do que se espera que você faça em um trabalho real. E esse é o ponto principal: quando você não tem experiência de trabalho fazendo X, os gerentes de contratação procurarão por coisas que você fez que simulam a experiência de trabalho fazendo X.

Felizmente, você só precisa construir um projeto neste nível uma ou duas vezes – os projetos de Ron e Alex foram reutilizados repetidas vezes em todas as suas entrevistas.

Então, se eu tivesse que resumir o segredo de um grande projeto de ML em uma frase, seria: Crie um projeto com um conjunto de dados interessante que tenha um esforço óbvio para coletar e torná-lo o mais visualmente impactante possível .

E se você tem uma ideia de projeto e não tem certeza se é bom – me pergunte no Twitter! Minha alça é @neutronsNeurons , e meus mestres estão abertos 🙂

************************************************** *************

[1] Caso você esteja se perguntando por que isso é importante, é porque os gerentes de contratação tentam avaliar você observando seu histórico. Se você não tem um histórico, os projetos pessoais são o substituto mais próximo.

[2] É claro que a tentativa de Ron estava longe de ser perfeita: a empresa X havia dedicado ordens de magnitude a mais recursos para o problema do que ele. Mas foi semelhante o suficiente para que eles rapidamente pedissem a Ron para tornar seu repo privado.