Três coisas que aprendi na Amazon que me prepararam para uma carreira em aprendizado de máquina

Jesse Freeman Seg. 15 de jul · 6 min ler Nick Youngson – imagem de Amazon de telha de madeira

Trabalhei na Amazon por 5 anos, deixando apenas alguns dias para receber o cobiçado “selo amarelo”. Provavelmente, é importante notar que o tempo médio de permanência na Amazon é de um a dois anos. Embora existam muitas histórias sobre como trabalhar na Amazon, eu senti que a cultura fez mais para me preparar para o meu trabalho de mudar de desenvolvimento de jogos para aprendizado de máquina do que qualquer tutorial poderia fazer.

Se você não sabe muito sobre a cultura da Amazon, vale a pena uma pesquisa rápida no Google . Além disso, embora eu provavelmente pudesse escrever um livro inteiro cobrindo minha experiência lá, pensei em me concentrar em três coisas que aprendi que me prepararam para essa nova mudança de carreira: ser orientado por dados, escrever 6 páginas e ser engenhoso. A Amazon tem um conjunto de princípios, chamados de princípios de liderança , que contribuem para sua cultura única. Essa mesma cultura permitiu que a Amazon crescesse desde que entrei em 2014 de forma exponencial. Eis como apliquei alguns desses conhecimentos à minha nova aventura em aprendizado de máquina.

Talvez a parte mais significativa da cultura corporativa da Amazon seja o conceito de ser orientado por dados.

Sendo impulsionado por dados

Enquanto muitas empresas que eu trabalhei dizem que praticam isso, eu ainda não encontrei uma como a Amazon. Toda reunião de planejamento ou estratégia é um delicado equilíbrio entre a revisão de dados históricos, dados em tempo real e previsões de dados futuros. A Amazon tem isso para uma ciência.

A partir do WBR (relatórios comerciais semanais) que tentam destilar grandes quantidades de dados em formas digeríveis que podem ser usadas para corrigir o curso a qualquer momento, para o fato de que a maioria dos grupos tinha analistas de dados dedicados. A única tarefa de um analista é ajudar a criar relatórios semanais, conectar sistemas de relatórios a diferentes unidades de negócios e, principalmente, automatizar o máximo possível de coleta de dados para que possamos ter sempre um instantâneo do estado da unidade de negócios.

A espinha dorsal do aprendizado de máquina são os dados em si. Sem dados úteis, limpos e confiáveis, não há como treinar, testar e validar um modelo com precisão. Além disso, apesar de muito tempo e esforço entrarem no processo real de construção do modelo, entender os dados em si é uma habilidade crítica. Por exemplo, fiz uma palestra no ODSC East , especificamente sobre os desafios de gerenciar grandes conjuntos de dados usados para detectar câncer, como o conjunto de dados ChestXray14 .

O título do workshop foi chamado de “Colocar os 'dados' na ciência de dados”, e foca inteiramente nos desafios em torno do uso de dados médicos para o aprendizado profundo. Uma habilidade essencial que qualquer pessoa interessada em aprendizado de máquina deve ter é a capacidade de não apenas entender como gerenciar e processar os dados, mas também como segmentá-los, validá-los e sanitizá-los. Seus experimentos são tão bons quanto os dados que você tem, e saber como gerenciá-los é tão crítico quanto. Aprendi muito na Amazon sobre a importância dos dados e como usá-los corretamente.

Escrevendo 6 Pagers

A Amazon é notoriamente conhecida por sua cultura de escrita. Enquanto eles dizem na orientação que alguém pode sugerir uma idéia e criar um novo negócio a partir do zero, como o mito sobre como a AWS surgiu, mas a maneira como isso acontece é através de 6 pagers. São documentos detalhados que não apenas explicam uma estratégia ou iniciativa, mas também precisam ser escritos como uma narrativa. Não há apresentações de PowerPoint nas reuniões da Amazon.

Todo o trabalho e nenhum jogo faz de Jack um garoto chato em Imgur

A maioria das reuniões envolveu passar a primeira metade lendo o documento e a segunda metade fazendo furos nele. Para ter sucesso na Amazon, você precisa ser capaz de usar dados para provar seu ponto de vista, articular suas ideias de uma maneira que os outros possam entender e criar um documento que qualquer pessoa, independentemente de estar ou não em sua reunião, poderia escolher Compreendo.

As habilidades mais críticas que qualquer cientista de dados ou engenheiro que trabalha no espaço de aprendizado de máquina deve ter; ser capaz de comunicar o que está fazendo, como reproduzi-lo e o valor que ele oferece.

Uma grande parte da comunidade de ciência de dados gira em torno de escrever e ler artigos de pesquisa. Então, enquanto isso é uma analogia fácil com a importância de como os 6-pagers trabalham na Amazon, desde que escrevemos, sentimos como criar um Ph.D. documento de tese, na realidade, os cientistas de dados devem documentar suas pesquisas por várias razões. Normalmente, eles estão trabalhando em equipes, portanto, é possível acompanhar as etapas tomadas para chegar a uma solução. Ser capaz de capturar e compartilhar esse conhecimento com outras pessoas da equipe ou fora da empresa não é uma habilidade que todos tenham, sem muita prática.

Eu diria que isso por si só é uma das habilidades mais críticas que qualquer cientista de dados ou engenheiro que trabalha no espaço de aprendizado de máquina deveria ter; ser capaz de comunicar o que está fazendo, como reproduzi-lo e o valor que ele oferece.

Sendo engenhoso

Do lado de fora, a Amazon parece ser uma grande organização com recursos quase ilimitados; a realidade é que os grupos em cada departamento são geralmente minúsculos. Tão pequeno, na verdade, que eles são marginalmente insuficientes às vezes. Além disso, espera-se que os grupos se tornem enxutos, gerem recursos limitados e, na maioria das vezes, você acaba usando vários chapéus.

Enquanto um grupo pode obter mais recursos, um princípio fundamental da Amazônia é ser frugal. Para ter sucesso na Amazon, você precisa fazer o melhor com o que tem e ser criativo para atingir suas metas finais. Existe até mesmo um princípio chamado bias para ação que permite que você distorça as regras para que algo seja feito, independentemente das limitações, desde que seja para o bem do objetivo final.

Eu não estava esperando o tempo necessário entre cada treinamento ou os recursos da GPU necessários para acelerar isso.

À medida que me aprofundo no aprendizado de máquina, fica claro para mim como o gerenciamento de recursos desempenha um papel crítico em todos os experimentos que executo. Eu não estava esperando o tempo necessário entre cada treinamento ou os recursos da GPU necessários para acelerar isso. Além disso, à medida que executo mais e mais experiências, preciso encontrar maneiras criativas de equilibrar o dimensionamento na nuvem e aproveitar os recursos locais.

Panumas Nikhomkhai – pixels.com

Na maioria das vezes, faço o máximo possível de testes locais e, ao mesmo tempo, executo meu experimento na nuvem em vários computadores com modificações diferentes para melhor ajudar qual solução é a melhor. Atualmente, os cientistas de dados são difíceis de contratar, então as chances são de que você acabe trabalhando em equipes menores e precise descobrir como compartilhar os recursos entre todos e acelerar o tempo entre os modelos de treinamento, mantendo os custos baixos. É um ato delicado de equilíbrio.

Colocando tudo isso junto

As pessoas me perguntam por que passei do desenvolvimento de jogos para o aprendizado de máquinas, e uma das coisas que mais me interessaram foi como resolver muitos dos problemas com os quais os cientistas de dados lutam diariamente. Como você gerencia vários experimentos ao mesmo tempo, lida com grandes conjuntos de dados e dimensiona a carga de trabalho para ser mais produtivo? Essas são as coisas que aprendi fazendo anos de desenvolvimento na Web antes de entrar na indústria de games e senti que posso ajudar a contribuir com o que sei de volta para a comunidade de aprendizado de máquinas.

Recentemente, tenho feito palestras sobre a ideia do DeepOps – ou operações de aprendizagem profunda . É um conceito, emprestado do DevOps, para automatizar todos os pontos problemáticos da aprendizagem profunda. Estas são algumas das habilidades que aprendi na Amazon também. Eu acho interessante o quanto há sobreposição entre o que me fez bem na Amazon e o que atualmente está me ajudando a melhorar no aprendizado de máquina. É incrível o que você pode realizar quando desenvolve esses tipos de práticas na cultura de uma empresa e, com sorte, com tempo suficiente, o DeepOps também pode ser sua própria cultura. No entanto, esse é um artigo para outro momento.