Por que as empresas estão mudando do TensorFlow para o PyTorch

Framework de deep learning, o PyTorch se infiltrou nas companhias graças à sua relativa facilidade de uso; confira a opinião de quem já usa e aprova

Author Photo
11:00 am - 04 de dezembro de 2020

Uma subcategoria do aprendizado de máquina, o aprendizado profundo (também conhecido como deep learning) usa redes neurais em várias camadas para automatizar em escala tarefas que ainda são realizadas com bastante dificuldade por máquinas, como reconhecimento de imagem, processamento de linguagem natural (NPL) e tradução automática. 

O TensorFlow, que surgiu do Google em 2015, tem sido a estrutura de aprendizado profundo de código aberto mais popular para pesquisa e negócios. Mas o PyTorch, que surgiu do Facebook em 2016, rapidamente alcançou essa solução, graças às melhorias conduzidas pela comunidade na facilidade de uso e implantação para uma gama cada vez maior de casos de uso. 

O PyTorch está tendo uma adoção particularmente forte na indústria automotiva — onde ele pode ser aplicado em sistemas de direção autônoma de empresas como Tesla e Lyft, no nível 5 de autonomia automotiva. A estrutura também está sendo usada para classificação de conteúdo e recomendação em empresas de mídia e para ajudar a robôs de suporte em aplicações industriais. 

Joe Spisak, líder de produto de inteligência artificial no Facebook AI, disse à InfoWorld que, embora tenha ficado satisfeito com o aumento na adoção do PyTorch pelas empresas, ainda há muito trabalho a ser feito para obter uma adoção mais ampla da indústria. 

“A próxima onda de adoção virá com a habilitação do gerenciamento do ciclo de vida do produto, melhorias no MLOps e pipelines Kubeflow, além da [participação da] comunidade em torno disso”, disse ele. “Para aqueles no início da jornada, as ferramentas são muito boas, usando serviços gerenciados e com código aberto, como o SageMaker da AWS ou Azure ML para começar.” 

Disney: identificando rostos animados em filmes 

Desde 2012, engenheiros e cientistas de dados da gigante de mídia Disney vem construindo o que a empresa chama de Genoma de Conteúdo, um gráfico de conhecimento que reúne metadados de conteúdo para alimentar aplicativos de pesquisa e personalização. Tudo feito com base no aprendizado de máquina de toda a enorme biblioteca de conteúdo da Disney. 

“Esses metadados aprimoram as ferramentas usadas pelos contadores de histórias da Disney para produzir conteúdo; inspirar criatividade iterativa na narração de histórias; melhorar as experiências do usuário através de mecanismos de recomendação, navegação digital e descoberta de conteúdo; e possibilitar a inteligência de negócios ”, escreveram os desenvolvedores da Disney Miquel Àngel Farré, Anthony Accardo, Marc Junyent, Monica Alfaro e Cesc Guitart em postagem de blog feita em julho. 

Antes que isso pudesse acontecer, a Disney teve que investir em um vasto projeto de anotação de conteúdo, recorrendo a seus cientistas de dados para treinar um pipeline de marcação automatizado. Ao utilizar modelos de aprendizagem profunda para reconhecimento de imagem, ele é capaz de identificar grandes quantidades de imagens de pessoas, personagens e locais. 

Os engenheiros da Disney começaram experimentando vários frameworks, incluindo TensorFlow, mas decidiram consolidar em torno de PyTorch em 2019. Os engenheiros mudaram de um descritor de recurso de histograma convencional de gradientes orientados (HOG) e o popular modelo de máquinas de vetor de suporte (SVM) para uma versão de arquitetura de detecção de objetos apelidada de regiões com redes neurais convolucionais (R-CNN). Este último foi mais propício para lidar com as combinações de live action, animações e efeitos visuais comuns no conteúdo da Disney. 

“É difícil definir o que é um rosto em um desenho animado, então mudamos para métodos de aprendizagem profunda usando um detector de objetos e usamos a aprendizagem por transferência”, explicou a engenheira de pesquisa da Disney, Monica Alfaro, à InfoWorld.

Depois que apenas alguns milhares de faces foram processadas, o novo modelo já estava identificando faces amplamente em todos os três casos de uso. Ele entrou em produção em janeiro de 2020. 

“Estamos usando apenas um modelo para os três tipos de rosto e isso é ótimo para um filme da Marvel como Vingadores, onde é necessário reconhecer o Homem de Ferro e Tony Stark, ou qualquer personagem usando uma máscara”, disse ela. 

Como os engenheiros estão lidando com grandes volumes de dados de vídeo para treinar e executar o modelo em paralelo, eles também queriam rodar em GPUs caras e de alto desempenho ao entrar em produção. 

A mudança das CPUs permitiu que os engenheiros treinassem novamente e atualizassem os modelos com mais rapidez. O modelo também acelerou a distribuição dos resultados para vários grupos da Disney, reduzindo o tempo de processamento de cerca de uma hora para um filme de longa-metragem, para obter resultados entre cinco e dez minutos. 

“O detector de objetos TensorFlow trouxe problemas de memória na produção e era difícil de atualizar, enquanto o PyTorch tinha o mesmo detector de objetos e Faster-RCNN, então começamos a usar o PyTorch para tudo”, disse Alfaro. 

Essa mudança de uma estrutura para outra foi surpreendentemente simples para a equipe de engenharia. “A mudança [para PyTorch] foi fácil porque é tudo integrado, você apenas conecta algumas funções e pode começar rápido, então não é uma curva de aprendizado íngreme”, disse Alfaro. 

Quando eles encontraram quaisquer problemas ou gargalos, a vibrante comunidade PyTorch estava à disposição para ajudar. 

Blue River Technology: robôs matadores de ervas daninhas 

A Blue River Technology projetou um robô que usa uma combinação inebriante de digital wayfinding  (aquela tecnologia de painéis eletrônicos de shopping que te indica uma direção), câmeras integradas e visão computacional para pulverizar ervas daninhas com herbicida sem incomodar as plantações em tempo quase real, ajudando os agricultores a economizar herbicidas caros e potencialmente prejudiciais ao meio ambiente. 

A empresa de Sunnyvale, na Califórnia, chamou a atenção da fabricante de equipamentos pesados John Deere em 2017, quando foi adquirida por US$ 305 milhões, com o objetivo de integrar a tecnologia aos seus equipamentos agrícolas. 

Os pesquisadores da Blue River experimentaram várias estruturas de aprendizado profundo enquanto tentavam treinar modelos de visão computacional para reconhecer a diferença entre ervas daninhas e plantações, um grande desafio quando você está lidando com plantas de algodão, que têm uma lamentável semelhança com ervas daninhas. 

Agrônomos altamente treinados foram designados para realizar tarefas manuais de rotulagem de imagens e treinar uma rede neural convolucional (CNN) usando PyTorch “para analisar cada quadro e produzir um mapa preciso de pixels de onde estão as plantações e ervas daninhas”, afirmou Chris Padwick, diretor de informática visão e aprendizado de máquina na Blue River Technology, em postagem

“Como outras empresas, testamos o Caffe, TensorFlow e, em seguida, PyTorch”, disse Padwick à InfoWorld. “Para nós, funciona praticamente sozinho. Não tivemos nenhum relatório de bug ou um bug de bloqueio. Em computação distribuída, ele realmente brilha e é mais fácil de usar do que TensorFlow, que era muito complicado para paralelismos de dados.” 

Padwick diz que a popularidade e a simplicidade da estrutura PyTorch dão ao framework uma vantagem quando se trata de conseguir novas contratações rapidamente. Dito isso, Padwick sonha com um mundo onde “as pessoas se desenvolvam naquilo com que se sentem confortáveis. Alguns gostam de Apache MXNet ou Darknet ou Caffe para pesquisa, mas o desenvolvimento tem que estar em um único idioma e o PyTorch tem tudo o que precisamos para ter sucesso.” 

Datarock: análise de imagem baseada em nuvem para a indústria de mineração 

Fundada por um grupo de geocientistas, a startup australiana Datarock está aplicando tecnologia de visão computacional à indústria de mineração. Mais especificamente, seus modelos de aprendizado profundo estão ajudando geólogos a analisar imagens de amostra de núcleo de perfuração mais rápido do que antes. 

Normalmente, um geólogo examinaria essas amostras centímetro a centímetro para avaliar a mineralogia e a estrutura, enquanto os engenheiros procurariam por características físicas como falhas, fraturas e qualidade da rocha. Esse processo é lento e sujeito a erros humanos. 

“Um computador pode ver rochas como um engenheiro faria”, disse Brenton Crawford, COO da Datarock à InfoWorld. “Se você pode ver na imagem, podemos treinar um modelo para analisá-lo tão bem quanto um humano.” 

Semelhante ao Blue River, a Datarock usa uma variante do modelo RCNN em produção, com os pesquisadores voltando-se para técnicas de aumento de dados de forma a reunir dados de treinamento suficientes nos estágios iniciais. 

“Após o período de descoberta inicial, a equipe começou a combinar técnicas para criar um fluxo de trabalho de processamento de imagem para imagens de núcleo de perfuração. Isso envolveu o desenvolvimento de uma série de modelos de aprendizagem profunda, que poderiam processar imagens brutas em um formato estruturado e segmentar as informações geológicas importantes ”, escreveram os pesquisadores em post

Usando a tecnologia da Datarock, os clientes podem obter resultados em meia hora, ao contrário das cinco ou seis horas levadas para registrar as descobertas manualmente. Isso libera os geólogos das partes mais trabalhosas, disse Crawford. No entanto, “quando automatizamos coisas que são mais difíceis, obtemos alguma resistência e temos que explicar que eles fazem parte deste sistema para treinar os modelos e fazer com que o ciclo de feedback gire”. 

Como muitas empresas que treinam modelos de visão computacional de aprendizagem profunda, a Datarock começou com o TensorFlow, mas logo mudou para o PyTorch. 

“No início, usamos o TensorFlow e ele travava conosco por motivos misteriosos”, disse Duy Tin Truong, líder de aprendizado de máquina da Datarock à InfoWorld. “PyTorch e Detecton2 foram lançados naquela época e se ajustavam bem às nossas necessidades. Então, após alguns testes, vimos que era mais fácil depurar e trabalhar e ocupava menos memória, então convertemos”, disse ele. 

A Datarock também relatou uma melhoria de 4x no desempenho de inferência do TensorFlow para PyTorch e Detectron2 ao executar os modelos em GPUs – e 3x em CPUs. 

Truong citou a crescente comunidade de PyTorch, interface bem projetada, facilidade de uso e melhor depuração como motivos para a troca e observou que, embora “sejam bastante diferentes do ponto de vista da interface, se você conhece o TensorFlow, é muito fácil trocar, especialmente se você conhece Python. ” 

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.