TensorFlow é um framework de aprendizado profundo de código aberto desenvolvido pela equipe Google Brain e lançado publicamente em novembro de 2015. Ele forneceu uma maneira de definir redes neurais como grafos computacionais de operações de tensores e treiná-las eficientemente em CPUs, GPUs e nos chips TPU do próprio Google, tornando-se um dos dois frameworks dominantes de aprendizado profundo do final da década de 2010, ao lado do PyTorch.
História
O TensorFlow sucedeu o DistBelief, um sistema interno anterior, menos flexível, que o Google usava para treinamento de redes neurais em larga escala. Seu lançamento de código aberto em 2015, seguido por uma versão estável 1.0 em 2017, tornou as ferramentas de aprendizado profundo em larga escala do Google disponíveis para pesquisadores e empresas externas pela primeira vez e ajudou a popularizar o aprendizado profundo como uma disciplina de engenharia mainstream além dos laboratórios acadêmicos. O design original do TensorFlow usava um grafo computacional estático do tipo definir-e-executar: um usuário primeiro construía o grafo completo de operações e depois o executava, uma abordagem que permitia otimização agressiva de desempenho e fácil implantação, mas tornava a depuração e a iteração na arquitetura do modelo mais complicadas do que a abordagem de grafo dinâmico que o PyTorch introduziu em 2016. O Google respondeu com o TensorFlow 2.0 em 2019, que tornou a execução dinâmica e imediata o padrão e integrou o Keras, uma API de nível mais alto e mais amigável ao usuário, como sua interface principal.
Ecossistema
Além da biblioteca principal de treinamento, o ecossistema do TensorFlow incluía o TensorFlow Lite para implantação em dispositivos móveis e IA de borda, o TensorFlow.js para executar modelos em um navegador web, o TensorFlow Extended para pipelines de aprendizado de máquina em produção e o TensorBoard, uma ferramenta de visualização amplamente usada para monitorar o treinamento. O Keras, originalmente um projeto independente, tornou-se intimamente integrado ao TensorFlow como sua API de alto nível recomendada, reduzindo a barreira para iniciantes definirem e treinarem modelos sem escrever código de grafo de baixo nível diretamente.
Declínio na participação em pesquisas e status atual
Apesar do domínio inicial do TensorFlow, o modelo de execução dinâmica mais amigável ao pesquisador do PyTorch impulsionou uma mudança constante na pesquisa acadêmica em direção ao PyTorch no final da década de 2010 e início da década de 2020, e por volta de 2022 a maioria dos novos artigos em grandes conferências de aprendizado de máquina usava PyTorch em vez de TensorFlow. O TensorFlow manteve uma presença mais forte em alguns contextos de produção e implantação móvel, em parte devido à sua maturidade e às ferramentas apoiadas pelo Google, e permaneceu amplamente usado em sistemas industriais construídos antes da mudança, bem como dentro do próprio Google. Em meados da década de 2020, o TensorFlow é geralmente considerado o framework que ajudou a estabelecer o treinamento de redes neurais em larga escala como prática de engenharia mainstream e que treinou muitos sistemas influentes de aprendizado profundo no início, mesmo enquanto o PyTorch e, para treinamento em escala muito grande, a própria biblioteca JAX do Google se tornaram escolhas mais proeminentes para o desenvolvimento de novos modelos de linguagem de grande porte e modelos de fundação dentro do Google e em todo o campo.